PANORAMIC: LES LABELS

PAGE PRINCIPALE /PAGE TUTORIELS

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

Source de l'exemple -> Label_01.bas

à l'exécution, on obtient:

on commence
on est arrivé

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
label imprime
dim i
i=1
gosub imprime
i=2
gosub imprime
i=3
gosub imprime
end

imprime:
print i
return

Source de l'exemple -> Label_02.bas

à 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.

rem on déclare le LABEL
label imprime
dim i

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

Source de l'exemple -> Label_03.bas

à 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

Mise à jour : 10 novembre 2008