1<?xml version="1.0" encoding="UTF-8"?>
2
3<!--***********************************************************
4 *
5 * Licensed to the Apache Software Foundation (ASF) under one
6 * or more contributor license agreements.  See the NOTICE file
7 * distributed with this work for additional information
8 * regarding copyright ownership.  The ASF licenses this file
9 * to you under the Apache License, Version 2.0 (the
10 * "License"); you may not use this file except in compliance
11 * with the License.  You may obtain a copy of the License at
12 *
13 *   http://www.apache.org/licenses/LICENSE-2.0
14 *
15 * Unless required by applicable law or agreed to in writing,
16 * software distributed under the License is distributed on an
17 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
18 * KIND, either express or implied.  See the License for the
19 * specific language governing permissions and limitations
20 * under the License.
21 *
22 ***********************************************************-->
23
24<helpdocument version="1.0">
25<meta>
26<topic id="textsbasicshared03090303xml" indexer="include" status="PUBLISH">
27<title id="tit" xml-lang="en-US">On...GoSub Statement; On...GoTo Statement [Runtime]</title>
28<filename>/text/sbasic/shared/03090303.xhp</filename>
29</topic>
30</meta>
31<body>
32<section id="ongosub">
33<bookmark xml-lang="en-US" branch="index" id="bm_id3153897">
34<bookmark_value>On...GoSub statement</bookmark_value>
35<bookmark_value>On...GoTo statement</bookmark_value>
36</bookmark>
37<paragraph role="heading" id="hd_id3153897" xml-lang="en-US" level="1" l10n="U" oldref="1"><link href="text/sbasic/shared/03090303.xhp" name="On...GoSub Statement; On...GoTo Statement [Runtime]">On...GoSub Statement; On...GoTo Statement [Runtime]</link></paragraph>
38<paragraph role="paragraph" id="par_id3150359" xml-lang="en-US" l10n="U" oldref="2">Branches to one of several specified lines in the program code, depending on the value of a numeric expression.</paragraph>
39</section>
40<paragraph role="heading" id="hd_id3148798" xml-lang="en-US" level="2" l10n="U" oldref="3">Syntax:</paragraph>
41<paragraph role="paragraph" id="par_id3154366" xml-lang="en-US" l10n="U" oldref="4">On N GoSub Label1[, Label2[, Label3[,...]]]</paragraph>
42<paragraph role="paragraph" id="par_id3150769" xml-lang="en-US" l10n="U" oldref="5">On NumExpression GoTo Label1[, Label2[, Label3[,...]]]</paragraph>
43<paragraph role="heading" id="hd_id3156215" xml-lang="en-US" level="2" l10n="U" oldref="6">Parameters:</paragraph>
44<paragraph role="paragraph" id="par_id3148673" xml-lang="en-US" l10n="U" oldref="7">
45<emph>NumExpression:</emph> Any numeric expression between 0 and 255 that determines which of the lines the program branches to. If NumExpression is 0, the statement is not executed. If NumExpression is greater than 0, the program jumps to the label that has a position number that corresponds to the expression (1 = First label; 2 = Second label)</paragraph>
46<paragraph role="paragraph" id="par_id3153194" xml-lang="en-US" l10n="U" oldref="8">
47<emph>Label:</emph> Target line according to <emph>GoTo</emph> or <emph>GoSub</emph> structure.</paragraph>
48<paragraph role="note" id="par_id3156442" xml-lang="en-US" l10n="U" oldref="9">The <emph>GoTo</emph> or <emph>GoSub</emph> conventions are valid.</paragraph>
49<paragraph role="heading" id="hd_id3148645" xml-lang="en-US" level="2" l10n="U" oldref="10">Example:</paragraph>
50<paragraph role="paragraph" id="par_id3154014" xml-lang="en-US" l10n="U" oldref="12">Sub ExampleOnGosub</paragraph>
51<paragraph role="paragraph" id="par_id3153158" xml-lang="en-US" l10n="U" oldref="13">Dim iVar As Integer</paragraph>
52<paragraph role="paragraph" id="par_id3154490" xml-lang="en-US" l10n="U" oldref="14">Dim sVar As String</paragraph>
53<paragraph role="paragraph" id="par_id3155417" xml-lang="en-US" l10n="U" oldref="15">iVar = 2</paragraph>
54<paragraph role="paragraph" id="par_id3154730" xml-lang="en-US" l10n="U" oldref="16">sVar =""</paragraph>
55<paragraph role="paragraph" id="par_id3154942" xml-lang="en-US" l10n="U" oldref="17">On iVar GoSub Sub1, Sub2</paragraph>
56<paragraph role="paragraph" id="par_id3149378" xml-lang="en-US" l10n="U" oldref="18">On iVar GoTo Line1, Line2</paragraph>
57<paragraph role="paragraph" id="par_id3153416" xml-lang="en-US" l10n="U" oldref="19">Exit Sub</paragraph>
58<paragraph role="paragraph" id="par_id3154015" xml-lang="en-US" l10n="U" oldref="20">Sub1:</paragraph>
59<paragraph role="paragraph" id="par_id3153948" xml-lang="en-US" l10n="U" oldref="21">sVar =sVar &amp; " From Sub 1 to" : Return</paragraph>
60<paragraph role="paragraph" id="par_id3150750" xml-lang="en-US" l10n="U" oldref="22">Sub2:</paragraph>
61<paragraph role="paragraph" id="par_id3153708" xml-lang="en-US" l10n="U" oldref="23">sVar =sVar &amp; " From Sub 2 to" : Return</paragraph>
62<paragraph role="paragraph" id="par_id3155067" xml-lang="en-US" l10n="U" oldref="24">Line1:</paragraph>
63<paragraph role="paragraph" id="par_id3150321" xml-lang="en-US" l10n="U" oldref="25">sVar =sVar &amp; " Label 1" : GoTo Ende</paragraph>
64<paragraph role="paragraph" id="par_id3149019" xml-lang="en-US" l10n="U" oldref="26">Line2:</paragraph>
65<paragraph role="paragraph" id="par_id3155764" xml-lang="en-US" l10n="U" oldref="27">sVar =sVar &amp; " Label 2"</paragraph>
66<paragraph role="paragraph" id="par_id3153711" xml-lang="en-US" l10n="U" oldref="28">Ende:</paragraph>
67<paragraph role="paragraph" id="par_id3154253" xml-lang="en-US" l10n="U" oldref="29">MsgBox sVar,0,"On...Gosub"</paragraph>
68<paragraph role="paragraph" id="par_id3149565" xml-lang="en-US" l10n="U" oldref="30">End Sub</paragraph>
69</body>
70</helpdocument>
71