FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Une calculatrice en une ligne de programme
Des intructions pour l'état de FORM Emptypar jean_debord Aujourd'hui à 8:47

» Form(résolu)
Des intructions pour l'état de FORM Emptypar leclode Hier à 17:59

» trop de fichiers en cours
Des intructions pour l'état de FORM Emptypar Marc Hier à 11:42

» Bataille navale SM
Des intructions pour l'état de FORM Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Gestion d'un système client-serveur.
Des intructions pour l'état de FORM Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
Des intructions pour l'état de FORM Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Des intructions pour l'état de FORM Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Des intructions pour l'état de FORM Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
Des intructions pour l'état de FORM Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Des intructions pour l'état de FORM Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Des intructions pour l'état de FORM Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
Des intructions pour l'état de FORM Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Des intructions pour l'état de FORM Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
Des intructions pour l'état de FORM Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
Des intructions pour l'état de FORM Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le Deal du moment :
Cdiscount : -30€ dès 300€ ...
Voir le deal

 

 Des intructions pour l'état de FORM

Aller en bas 
AuteurMessage
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Des intructions pour l'état de FORM Empty
MessageSujet: Des intructions pour l'état de FORM   Des intructions pour l'état de FORM EmptyJeu 22 Oct 2009 - 13:18

Bonjour à tous et surtout à Jack,

Je pense qu'il serait très utile d'avoir des commandes (ou instructions) sur l'état de FORM.
EX: v=HIDE(N) résultat v=1 => N est SHOW :v=0 => N est Hide
Idem pour ACTIVE

Le but est de savoir si un utilisateur a fermé un FORM, dans un programme qui en contient plusieurs et de pouvoir traiter le code en conséquence. Car actuellement dans PANORAMIC on peut fermer un Form sans que le programme en soit averti et surtout cette fermeture n'enraine pas de "CLEAR" des variables et objets de ce form. Donc si on reviens sur ce FORM il n'est pas réinitalisé et l'exécution du programme s'en trouve très affecté.
J'espère avoir fait comprendre mon besoin (et surement celui de beaucoups d'autres)

Pour Jack
Bien sur, je mets cette demande dans la liste d'attente, je veus juste savoir si elle est fondée et si elle aura un avenir.
A+

un exemple:
Code:


rem pour pouvoir lancer le suivant

file_open_write 1,"gputilis.gp1"
file_writeln 1,""
file_close 1



Code:


' =============================================================================> LABEL
label creform,crememo,acces,fin,chargeutil,initutil,initutil2,initutil3,initutil4
label initutil5,initutil6,inituti3,enregutil,sauveutil,acc1,acc2,acc3,acc4

' =============================================================================> DIM
dim nf%,lf,hf,x,y,left%,top%,width%,height%,r,v,b,fnf$,capnf$,hm,lm,hsm
x=screen_x:y=screen_y
dim nomutil$,mdputil$,gradutil$,progutil$
dim a$,r$,ok$
dim a,n,nu,n98,n99

' =============================================================================> FORM 0
nf%=0:lf=1100:hf=600:r=150:v=240:b=255:fnf$="Fixedsys"
capnf$=" Administration ":gosub creform

' =============================================================================> FORM 100
nf%=100:form nf%:lf=700:hf=500:r=150:v=240:b=255:fnf$="Fixedsys"
capnf$=" Initialisation du programme"
gosub creform:hide nf%

' =============================================================================> FORM 200
nf%=200:form nf%:lf=700:hf=500:r=150:v=240:b=255:fnf$="Fixedsys"
capnf$=" Accès au programme"
gosub creform:hide nf%

' =============================================================================> PROG avant end
main_menu 1000:rem                                                              CREATION DES MENUS
sub_menu 1002 : caption 1002,"  Fichier      " : parent 1002, 1000
sub_menu 1003 : caption 1003,"  Edition      " : parent 1003, 1000:hide 1003
sub_menu 1004 : caption 1004,"  Utilisateurs " : parent 1004, 1000:hide 1004
sub_menu 1005 : caption 1005,"" : parent 1005, 1000
sub_menu 1006 : caption 1006,"" : parent 1006, 1000
sub_menu 1007 : caption 1007,"" : parent 1007, 1000
sub_menu 1008 : caption 1008,"" : parent 1008, 1000
sub_menu 1009 : caption 1009,"" : parent 1009, 1000
rem                                                                      OPTIONS DU MENU FICHIER
sub_menu 1010 : caption 1010,"Ouvrir" : parent 1010, 1002:on_click 1010,acces
sub_menu 1011 : caption 1011,"QUITTER" : parent 1011,1002:on_click 1011,fin
rem                                                                      OPTIONS DU MENU EDITION
sub_menu 1012 : caption 1012,"  Annuler  " : parent 1012, 1003
sub_menu 1013 : caption 1013,"  Copier    " : parent 1013, 1003
sub_menu 1014 : caption 1014,"  Coller    " : parent 1014, 1003
sub_menu 1015 : caption 1015,"  Supprimer " : parent 1015, 1003

list 98:list 99
top 99,100
END
' =============================================================================> PROG PRINCIPALE
'_______________________________________________________________________________________
rem                                                                                Accès
acces:
gosub chargeutil:hide 1010
for n=1 to n99 step 4
nomutil$=item_read$(99,n)
if n=1 and nomutil$="" then gosub initutil
item_add 98,nomutil$
next n
inactive 0:nf%=200:show nf%
command_target_is nf%
hm=100:hsm=100:r=255:v=255:b=235:fnf$="Fixedsys":gosub crememo
print:print " Entrez votre Identifiant"
alpha 203:top 203,52:left 203,210:caption 203,"Identifiant =>"
edit 204:top 204,50:left 204,350
set_focus 204
on_key_up 204,acc1
return

acc1:
if key_up_code=13 then a$=upper$(text$(204)):gosub acc2
return

acc2:
if a$="" then message "Saisie Vide":return
if len(a$)>15 then message "15 caractères Maximum":text 204,"":return
text 204,a$:inactive 204
r$=a$:a$="":ok$=""
clear 201
n98=count(98)
for n=1 to n98
a$=item_read$(98,n)
if r$=a$ then nomutil$=a$:ok$="O":nu=n
next n
if ok$="" then message ""+r$+" Vous n'êtes pas inscrit(e)":text 204,"":active 204:set_focus 204:return
clear 98
for n=1 to n99
a$=item_read$(99,n)
if a$=nomutil$ then for x=n to x+3:a$=item_read$(99,x):item_add 98,a$:next x
next n
n98=count(98)
n=1:nomutil$=item_read$(98,n)
n=2:mdputil$=item_read$(98,n)
n=3:gradutil$=item_read$(98,n)
n=4:progutil$=item_read$(98,n)
print:print " Entrez votre Mot de Passe"
alpha 205:top 205,102:left 205,200:caption 205,"Mot de Passe =>"
edit 206:top 206,100:left 206,350:font_color 206,255,255,255
set_focus 206:on_key_up 206,acc3
return

acc3:
if key_up_code=13 then a$=upper$(text$(206)):gosub acc4
return

acc4:
if a$="" then message "Saisie Vide":return
text 206,"":inactive 206
clear 201
r$=a$:a$=""
if r$<>mdputil$ then message " "+nomutil$+" Votre Mot de Passe est faux":text 206,"":active 206:set_focus 206:return
if gradutil$="ADMIN" or gradutil$="ADMINISTRATEUR" then active 0:hide nf%:show 1004:return
message " "+nomutil$+" Vous n'êtes pas autorisé sur cette partie du programme":goto fin
return
'_______________________________________________________________________________________
rem                                                Initialisation du premier utilisateur
initutil:
inactive 0:nf%=100:show nf%
command_target_is nf%
hm=100:hsm=100:r=255:v=255:b=235:fnf$="Fixedsys":gosub crememo
print:print " Vous êtes le premier utilisateur de ce programme"
print " Vous serez l'Adimistrateur Principale"
print " Vous Choisirez pour chaque utilisateur son niveau de délégation"
button 102:top 102,420:left 102,565:width 102,100:caption 102,"CONTINUER"
set_focus 102:on_click 102,initutil2
return

initutil2:
clear 101:hide 102
alpha 103:top 103,52:left 103,210:caption 103,"Identifiant =>"
edit 104:top 104,50:left 104,350
print:print " Votre Clavier doit être sur minuscules"
print " Vous pouvez utiliser les chiffres, lettres et espace"
print " 15 caractères Maximum"
set_focus 104
on_key_up 104,initutil3
return

initutil3:
if key_up_code=13 then a$=upper$(text$(104)):gosub initutil4
return

initutil4:
if a$="" then message "Saisie Vide":return
if len(a$)>15 then message "15 caractères Maximum":text 104,"":return
text 104,a$:inactive 104
nomutil$=a$:a$=""
clear 101
alpha 105:top 105,102:left 105,200:caption 105,"Mot de Passe =>"
edit 106:top 106,100:left 106,350:font_color 106,255,255,255
print:print " Votre Clavier doit être sur minuscules"
print " Vous pouvez utiliser les chiffres, lettres, caractères spéciaux mais pas"
print " d'espaces"
print " 15 caractères Maximum"
inituti3:
set_focus 106:on_key_up 106,initutil5
return

initutil5:
if key_up_code=13 then a$=upper$(text$(106)):gosub initutil6
return

initutil6:
if a$="" then message "Saisie Vide":return
if len(a$)>15 then message "15 caractères Maximum":text 106,"":return
text 106,"":inactive 106
clear 101
button 107:top 107,420:left 107,565:width 107,100:caption 107,"VALIDER"
button 108:top 108,420:left 108,25:width 108,100:caption 108,"ABANDON"
print:print " Le programme va être relancé pour validation"
on_click 108,fin
on_click 107,enregutil
return

enregutil:
clear 101:hide 107:hide 108:hide 100:show 0
mdputil$=a$:gradutil$="ADMIN":progutil$="AIKSVB"
gosub sauveutil
execute "gpadmini.exe":goto fin
return
'_______________________________________________________________________________________
rem                                                                            Creform
creform:
caption nf%,capnf$:color nf%,r,v,b:font_name nf%,fnf$:width%=lf:height%=hf
width nf%,width%:height nf%,height%:left%=(x-width%)/2:top%=(y-height%)/2
top nf%,top%:left nf%,left%
return
rem                                                                            Crememo
crememo:
memo nf%+1:lm=width%-50:width nf%+1,lm:left nf%+1,(lf-lm-10)/2
height nf%+1,hm:top nf%+1,hf-(hm+hsm):color nf%+1,r,v,b:print_target_is nf%+1
font_name nf%+1,fnf$:font_color nf%+1,0,0,255
return
rem ____________________________________________________________________________________
sauveutil:
file_open_write 1,"gputilis.gp1"
file_writeln 1,nomutil$
file_writeln 1,mdputil$
file_writeln 1,gradutil$
file_writeln 1,progutil$
file_close 1
return

chargeutil:
file_open_read 1,"gputilis.gp1"
while file_eof(1)<>1
file_readln 1,a$
item_add 99,a$
end_while
file_close 1
n99=count(99)
for n=1 to n99
nomutil$=item_read$(99,n)
mdputil$=item_read$(99,n)
gradutil$=item_read$(99,n)
progutil$=item_read$(99,n)
next n:return:rem                                                    Charge utilisateurs
rem ____________________________________________________________________________________
fin:
terminate

Version corrigée à 16h26

Dans ce programme j'empeche l'utilisation de FORM 0 pendant que FORM 100 ou 200 sont en fonction, et aprés l'execution complète du programme, j'ai "HIDER" l'option ouvrir du menu fichier pour empêcher l'utilisateur de retouner dand les FORM 100 et 200, mais dans la suite de mon programme je ne pourrais pas le faire car le main_menu est loin d'être complet.

Pour ceux que çà intéressent, ce code est un programme réservé a l'aministrateur pour gérer les utilisateurs d'un programme quelquonque.
Il n'est pas terminé, c'est pour l'exemple.
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Des intructions pour l'état de FORM Empty
MessageSujet: Re: Des intructions pour l'état de FORM   Des intructions pour l'état de FORM EmptyJeu 22 Oct 2009 - 16:28

Le code a été corrigé a 16h26


Les 2 Objets LIST 98 et LIST 99 doivent etre transformés en DLIST. Je les laissés ainsi pour visualiser ce qu'ils conteanaient.

A+
Revenir en haut Aller en bas
 
Des intructions pour l'état de FORM
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» MESSAGE_EXIT_APPLICATION(T) pour le form 0
» Astuce pour une form
» Nouvel évèenment pour une form
» Nouvel évènement pour FORM: ON_SHOW
» Nouvel objet pour une form Panoramic !

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos souhaits d'amélioration de Panoramic-
Sauter vers: