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


tutoriel.bas
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
on est arrivé

car la ligne :

tutoriel.bas
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

tutoriel.bas
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
2
3

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.

tutoriel.bas
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