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