On...GoSub Statement; On...GoTo Statement
ΠΡΠ±ΠΈΡΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
On Π§ΠΈΡΠ»_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ GoSub ΠΠ΅ΡΠΊΠ°1[, ΠΠ΅ΡΠΊΠ°2[, ΠΠ΅ΡΠΊΠ°3[,...]]]
On Π§ΠΈΡΠ»_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ GoTo ΠΠ΅ΡΠΊΠ°1[, ΠΠ΅ΡΠΊΠ°2[, ΠΠ΅ΡΠΊΠ°3[,...]]]
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
Π§ΠΈΡΠ»_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. Π§ΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ 0 Π΄ΠΎ 255, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°. ΠΡΠ»ΠΈ Π§ΠΈΡΠ»_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎ 0, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ. ΠΡΠ»ΠΈ Π§ΠΈΡΠ»_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠ΅ 0, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΠΌΠ΅ΡΠΊΠ΅ Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΡΡΠΎΠΌΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ (1 = ΠΠ΅ΡΠ²Π°Ρ_ΠΌΠ΅ΡΠΊΠ°; 2 = ΠΡΠΎΡΠ°Ρ_ΠΌΠ΅ΡΠΊΠ°)
ΠΠ΅ΡΠΊΠ°. ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ ΡΡΡΠΎΠΊΠ°, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ΅ GoTo ΠΈΠ»ΠΈ GoSub.
Π‘ΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ GoTo ΠΈΠ»ΠΈ GoSub ΡΠ²Π»ΡΡΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠΌΠΈ.
ΠΡΠΈΠΌΠ΅Ρ:
Sub ExampleOnGosub
Dim iVar As Integer
Dim sVar As String
iVar = 2
sVar =""
On iVar GoSub Sub1, Sub2
On iVar GoTo Line1, Line2
Exit Sub
Sub1:
sVar =sVar & " ΠΠ· ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ 1 Π²" : Return
Sub2:
sVar =sVar & " ΠΠ· ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ 2 Π²" : Return
Line1:
sVar =sVar & " ΠΠ΅ΡΠΊΠ° 1" : GoTo Ende
Line2:
sVar =sVar & " ΠΠ΅ΡΠΊΠ° 2"
Ende:
MsgBox sVar,0,"On...GoSub"
End Sub