FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Aujourd'hui à 16:52

» KGF_dll - nouvelles versions
par Klaus Aujourd'hui à 14:16

» Compilateur FBPano
par Ouf_ca_passe Aujourd'hui à 12:25

» mise a jour calculatrice
par papydall Aujourd'hui à 2:01

» double guillemets "" dans un EDIT
par Marc Hier à 23:43

» Documentation de KGF
par Klaus Lun 20 Nov 2017 - 22:52

» Zoom sur une portion d'écran
par JL35 Lun 20 Nov 2017 - 21:51

» Recherche d'une expression dans un source
par Marc Lun 20 Nov 2017 - 13:08

» Tracer une grille n'importe où sur l'écran
par JL35 Dim 19 Nov 2017 - 22:14

» TourD Version 2
par Klaus Sam 18 Nov 2017 - 23:58

» La métamatière et le peuple
par JL35 Ven 17 Nov 2017 - 21:18

» Capture d'une zone de l'écran total
par JL35 Ven 17 Nov 2017 - 18:41

» qui peut résoudre mon prb
par pascal10000 Jeu 16 Nov 2017 - 17:30

» évènements et objets système : listage automatique
par Jean Claude Jeu 16 Nov 2017 - 11:15

» Panoramic et la reconnaissance vocale.
par papydall Jeu 16 Nov 2017 - 3:45

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2017
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
27282930   
CalendrierCalendrier

Partagez | 
 

 Le rôle de l'instruction END

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Jack
Admin
avatar

Nombre de messages : 1768
Date d'inscription : 28/05/2007

MessageSujet: Le rôle de l'instruction END   Mar 7 Fév 2012 - 9:29

Contrairement à une idée répandue sur ce forum, l'instruction END ne joue aucun rôle dans la gestion des événements.

L'instruction END n'existe que pour empêcher l'exécution de continuer en séquence et d'aller exécuter le traitement d'un événement dans le cas où on met un traitement des événements après le programme principal.

PANORAMIC est un langage Basic et lors du lancement, l'exécution commence à la première ligne du source. C'est pourquoi il est commode de commencer un programme en définissant l'environnement par la création des objets, leurs positions, leurs dimensions, leurs caractéristiques et à quels événements ils devront réagir. Dans ce cas, on a un programme "principal", qui débute à la première ligne du source. Or, quand tout l'environnement a été décrit, il faut pouvoir arrêter ce programme principal pour qu'il n'aille pas éxécuter du code réservé aux traitement des événements.
C'est à cela que sert le END et uniquement à cela: séparer le programme principal du reste.

Si on regarde le schéma le plus utilisé pour un programme utilisant les événements, il y a besoin d'un END:
Code:
label clique:rem on définit un label
button 1:rem on définit un objet
top 1,50:left 1,100:rem on le positionne
on_click 1,clique:rem on le fait réagir à un événement clic
rem on doit arrêter le programme principal ici, sinon on va aller exécuter "clique"
rem c'est pourquoi on met END
end

rem on met ici le traitement du clic
clique:
caption 1,"clic"
return
Dans cet exemple, si on n'avait pas mis de END, l'exécution aurait continué jusqu'à l'instruction RETURN et on se retrouverait avec une erreur du type : RETURN trouvé et il n'y a pas eu de GOSUB. C'est le seul rôle du END: arrêter le programme principal pour que l'exécution n'aille pas exécuter le traitement réservé pour les événements et causer du "désordre".

Mais si on décide le mettre les traitements d'événements AVANT de définir les objets, on n'a plus besoin de END car l'exécution s'arrête naturellement à la dernière ligne du source !

Code:
label alenvers,clique
goto alenvers

rem on met ici le traitement du clic
clique:
caption 1,"clic"
return

alenvers:
button 1:rem on définit un objet
top 1,50:left 1,100:rem on le positionne
on_click 1,clique:rem on le fait réagir à un événement clic

En résumé:
- L'instruction END ne joue aucun rôle dans la gestion des événements.
- Un événement est actif dès l'instruction qui le définit: ON_CLICK, ON_CHANGE, etc...
- Cet événement reste actif après l'exécution du END.
- Après l'exécution du END, le programme principal est arrété, mais la gestion des événements continue à être active.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramic.free-boards.net
 
Le rôle de l'instruction END
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» 'Exit Do' ne peut apparaître qu'à l'intérieur d'une instruction 'Do'.
» comparatif AUDYA et BK7
» Instruction INSERT$() inefficace ?
» bug sur TRON, et réflexion sur cette instruction
» Clavier boutons Roland

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Tutoriels et éclaircissements-
Sauter vers: