Differenze tra le versioni di "GOSUB"

Da Gambas-it.org - Wikipedia.
Riga 24: Riga 24:
 
   
 
   
 
  '''End'''
 
  '''End'''
 +
 +
In console avremo:
 +
 +
Prova 1 1
 +
Prova 1 2
 +
Prova 1 3
 +
Prova 2 1
 +
Prova 2 2
 +
Prova 2 3
 +
Prova 3 1
 +
Prova 3 2
 +
Prova 3 3
 +
Prova 4 1
 +
Prova 4 2
 +
Prova 4 3
 +
Prova 5 1
 +
Prova 5 2
 +
Prova 5 3
 +
Prova 6 1
 +
Prova 6 2
 +
Prova 6 3
 +
Prova 7 1
 +
Prova 7 2
 +
Prova 7 3
 +
Prova 8 1
 +
Prova 8 2
 +
Prova 8 3
 +
Prova 9 1
 +
Prova 9 2
 +
Prova 9 3
 +
Prova 10 1
 +
Prova 10 2
 +
Prova 10 3

Versione delle 18:37, 4 mar 2012

L'istruzione GOSUB consente di saltare all'etichetta dichiarata all'interno della medesima routine. Se poi il programma incontra l'istruzione RETURN, esso torna sopra e precisamente alla linea di codice successiva all'istruzione GOSUB.

Esempio:

 ' Gambas class file

Public Sub Button1_Click()
 
 Dim i As Integer
 Dim j As Integer

 For i = 1 To 10
   GoSub label1   ' Il programma salta alla riga dove è presente l'etichetta "label1"
 Next

     Return   ' Il programma esce fuori dalla routine, poiché questo è un normale Return

 label1:
 For j = 1 To 3
   Print "Prova";; i;; j
 Next
 
   Return   ' Questo Return è connesso e dipendente dal Gosub. Pertanto il programma torna su: alla riga successiva al Gosub

End

In console avremo:

Prova 1 1 Prova 1 2 Prova 1 3 Prova 2 1 Prova 2 2 Prova 2 3 Prova 3 1 Prova 3 2 Prova 3 3 Prova 4 1 Prova 4 2 Prova 4 3 Prova 5 1 Prova 5 2 Prova 5 3 Prova 6 1 Prova 6 2 Prova 6 3 Prova 7 1 Prova 7 2 Prova 7 3 Prova 8 1 Prova 8 2 Prova 8 3 Prova 9 1 Prova 9 2 Prova 9 3 Prova 10 1 Prova 10 2 Prova 10 3