Instruction GoSub...Return

Appelle un sous-programme défini par une étiquette dans un Sub ou une Function. Les instructions sont exécutées jusqu'à l'instructionReturn. Ensuite, le programme continue avec l'instruction suivant l'instruction GoSub.

Syntaxe :


GoSub étiquette[:]

Paramètres :

étiquette: Un identifiant de ligne indiquant où continuer l'exécution. La portée d'une étiquette est celle de la routine à laquelle elle appartient.

L'instruction GoSub appelle un sous-programme local indiqué par une étiquette à partir d'un sous-programme ou d'une fonction. Le nom de l'étiquette doit se terminer par deux points (":").


  Sub/Function foo
      'instructions
      GoSub label
      'instructions
      Exit Sub/Function
  label:
      'instructions
      Return
  End Sub/Function
Icône Avertissement

Si le programme rencontre une instruction Return qui n'est pas précédée de GoSub, LibreOffice Basic renvoie un message d'erreur. Utilisez Exit Sub ou Exit Fonction pour vous assurer que le programme quitte une instruction Sub ou Function avant d'atteindre l'instruction Return suivante.


L'exemple suivant montre l'utilisation des instructions GoSub et Return. En exécutant deux fois la section de programme suivante, le programme calcule la racine carrée de deux nombres saisis par l'utilisateur.

Exemple :


Sub ExampleGoSub
Dim iInputa As Single
Dim iInputb As Single
Dim iInputc As Single
    iInputa = Int(InputBox("Saisissez le premier nombre : ","EntréeNombre"))
    iInputb = Int(InputBox("Saisissez le second nombre : ","EntréeNombre"))
    iInputc=iInputa
    GoSub SquareRoot
    Print "La racine carrée de";iInputa;" est";iInputc
    iInputc=iInputb
    GoSub SquareRoot
    Print "La racine carrée de";iInputb;" est";iInputc
    Exit Sub
SquareRoot:
    iInputc=sqr(iInputc)
    Return
End Sub

Aidez-nous !