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