On...GoSub Statement; On...GoTo Statement
সংখ্যাসূচক এক্সপ্রেশনের মানের উপর নির্ভরশীল, প্রোগ্রাম কোডে বিভিন্ন নির্দিষ্ট লাইনের একটিতে শাখাভুক্ত করে থাকে।
সিনট্যাক্স:
On N GoSub Label1[, Label2[, Label3[,...]]]
On NumExpression GoTo Label1[, Label2[, Label3[,...]]]
প্যারামিটার:
NumExpression: 0 এবং 255 এর মধ্যে যেকোনো সংখ্যাসূচক এক্সপ্রেশন যা প্রোগ্রামের শাখা হিসেবে কোন লাইনটি রয়েছে তা নির্ধারণ করে থাকে। যদি NumExpression এর মান 0 হয়, তাহলো স্টেটমেন্টি চালানো হয় না। যদি NumExpression এর মান যদি 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 & " From Sub 1 to" : Return
Sub2:
sVar =sVar & " From Sub 2 to" : Return
Line1:
sVar =sVar & " Label 1" : GoTo Ende
Line2:
sVar =sVar & " Label 2"
Ende:
MsgBox sVar,0,"On...GoSub"
End Sub