PANORAMIC: LES LABELS
Généralités :
Un LABEL est un endroit du source auquel on donne un nom.
Un LABEL doit être déclaré.
Un LABEL est aussi utilisé comme le début d'un sous-programme.
Dans le source, le nom d'un LABEL se termine par deux-points.
Utilisation:
On utilise un LABEL de 3 manières :
- par un GOTO pour aller exécuter le source
à l'endroit désiré,
- par un GOSUB pour aller exécuter un sous-programme,
- automatiquement, par l'exécution d'un sous-programme à chaque fois qu'un événement
arrive.
Exemple 1 - LABEL utilisé avec un GOTO
rem on déclare le LABEL
label ici
print "on commence"
goto ici
print "cette ligne n'est pas exécutée"
ici:
print "on est arrivé"
end
à l'exécution, on obtient :
|
on commence |
car la ligne :
print "cette ligne n'est pas exécutée"
n'a pas été exécutée.
Exemple
2 - LABEL utilisé avec un GOSUB
Le LABEL est alors le nom du sous-programme qui est appelé par
GOSUB
rem on déclare le LABEL
dim i
label imprime
i=1
gosub imprime
i=2
gosub imprime
i=3
gosub imprime
end
imprime:
print i
return
à l'exécution, on obtient :
|
1 |
Rappel : un sous-programme se termine par RETURN.
Exemple 3 - LABEL utilisé avec un traitement d'événement
Le LABEL est encore dans ce cas le nom du sous-programme mais il n'y a plus de GOSUB car il est appelé automatiquement à chaque fois que l'événement arrive.
rem on déclare le LABEL
dim i
label imprime
rem on crée un bouton (objet système qui prendra le numéro 1)
button 1
rem on lui met un "intitulé" (ce n'est pas indispensable)
caption 1,"Cliquez"
rem on exécutera imprime à chaque fois qu'on clique dessus
on_click 1,imprime
end
imprime:
i=i+1
rem on affiche dans le bandeau de la fenêtre
caption 0,"on a cliqué "+str$(i)+" fois sur le bouton"
return
à l'exécution,
à chaque fois qu'on clique sur le bouton, le sous-programme commençant
par le LABEL imprime s'exécute.
il s'affiche dans le bandeau de la fenêtre FORM0 : on a cliqué N fois sur
le bouton
Le sous-programme est appelé automatiquement, c'est le traitement de l'événement "clique sur le bouton numéro 1".
Rappel : les variables
sont initialisées automatiquement à ZERO lors de leur déclaration par DIM.
Il n'est donc pas nécessaire de faire i=0
De même, une variable string est initialisée à "" (la chaîne vide).
Remarque sur la déclaration :
Une variable ou
un label peuvent être déclarés n'importe où dans le source. C'est là une grande
souplesse du Basic.
Cependant, il ne faut pas exécuter une deuxième fois la déclaration. Il y aura
alors une erreur du type "VARIABLE DEJA DEFINIE" ou "LABEL DEJA DEFINI"
Une variable ou un label doivent être déclarés AVANT leur utilisation.
C'est pourquoi il est conseillé de commencer le source par les déclarations.
DIM variables à déclarer
LABEL labels à déclarer