1<?xml version="1.0" encoding="UTF-8"?> 2 3 4<!--*********************************************************************** 5 * 6 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 7 * 8 * Copyright 2000, 2010 Oracle and/or its affiliates. 9 * 10 * OpenOffice.org - a multi-platform office productivity suite 11 * 12 * This file is part of OpenOffice.org. 13 * 14 * OpenOffice.org is free software: you can redistribute it and/or modify 15 * it under the terms of the GNU Lesser General Public License version 3 16 * only, as published by the Free Software Foundation. 17 * 18 * OpenOffice.org is distributed in the hope that it will be useful, 19 * but WITHOUT ANY WARRANTY; without even the implied warranty of 20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 * GNU Lesser General Public License version 3 for more details 22 * (a copy is included in the LICENSE file that accompanied this code). 23 * 24 * You should have received a copy of the GNU Lesser General Public License 25 * version 3 along with OpenOffice.org. If not, see 26 * <http://www.openoffice.org/license.html> 27 * for a copy of the LGPLv3 License. 28 * 29 ************************************************************************--> 30 31<helpdocument version="1.0"> 32<meta> 33<topic id="textsbasicshared03090303xml" indexer="include" status="PUBLISH"> 34<title id="tit" xml-lang="en-US">On...GoSub Statement; On...GoTo Statement [Runtime]</title> 35<filename>/text/sbasic/shared/03090303.xhp</filename> 36</topic> 37<history> 38<created date="2003-10-31T00:00:00">Sun Microsystems, Inc.</created> 39<lastedited date="2004-08-24T13:49:47">converted from old format - fpe</lastedited> 40</history> 41</meta> 42<body> 43<section id="ongosub"> 44<bookmark xml-lang="en-US" branch="index" id="bm_id3153897"><bookmark_value>On...GoSub statement</bookmark_value> 45<bookmark_value>On...GoTo statement</bookmark_value> 46</bookmark> 47<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> 48<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> 49</section> 50<paragraph role="heading" id="hd_id3148798" xml-lang="en-US" level="2" l10n="U" oldref="3">Syntax:</paragraph> 51<paragraph role="paragraph" id="par_id3154366" xml-lang="en-US" l10n="U" oldref="4">On N GoSub Label1[, Label2[, Label3[,...]]]</paragraph> 52<paragraph role="paragraph" id="par_id3150769" xml-lang="en-US" l10n="U" oldref="5">On NumExpression GoTo Label1[, Label2[, Label3[,...]]]</paragraph> 53<paragraph role="heading" id="hd_id3156215" xml-lang="en-US" level="2" l10n="U" oldref="6">Parameters:</paragraph> 54<paragraph role="paragraph" id="par_id3148673" xml-lang="en-US" l10n="U" oldref="7"> 55<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> 56<paragraph role="paragraph" id="par_id3153194" xml-lang="en-US" l10n="U" oldref="8"> 57<emph>Label:</emph> Target line according to<emph> GoTo </emph>or <emph>GoSub</emph> structure.</paragraph> 58<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> 59<paragraph role="heading" id="hd_id3148645" xml-lang="en-US" level="2" l10n="U" oldref="10">Example:</paragraph> 60<paragraph role="paragraph" id="par_id3154014" xml-lang="en-US" l10n="U" oldref="12">Sub ExampleOnGosub</paragraph> 61<paragraph role="paragraph" id="par_id3153158" xml-lang="en-US" l10n="U" oldref="13">Dim iVar As Integer</paragraph> 62<paragraph role="paragraph" id="par_id3154490" xml-lang="en-US" l10n="U" oldref="14">Dim sVar As String</paragraph> 63<paragraph role="paragraph" id="par_id3155417" xml-lang="en-US" l10n="U" oldref="15">iVar = 2</paragraph> 64<paragraph role="paragraph" id="par_id3154730" xml-lang="en-US" l10n="U" oldref="16">sVar =""</paragraph> 65<paragraph role="paragraph" id="par_id3154942" xml-lang="en-US" l10n="U" oldref="17">On iVar GoSub Sub1, Sub2</paragraph> 66<paragraph role="paragraph" id="par_id3149378" xml-lang="en-US" l10n="U" oldref="18">On iVar GoTo Line1, Line2</paragraph> 67<paragraph role="paragraph" id="par_id3153416" xml-lang="en-US" l10n="U" oldref="19">Exit Sub</paragraph> 68<paragraph role="paragraph" id="par_id3154015" xml-lang="en-US" l10n="U" oldref="20">Sub1:</paragraph> 69<paragraph role="paragraph" id="par_id3153948" xml-lang="en-US" l10n="U" oldref="21">sVar =sVar & " From Sub 1 to" : Return</paragraph> 70<paragraph role="paragraph" id="par_id3150750" xml-lang="en-US" l10n="U" oldref="22">Sub2:</paragraph> 71<paragraph role="paragraph" id="par_id3153708" xml-lang="en-US" l10n="U" oldref="23">sVar =sVar & " From Sub 2 to" : Return</paragraph> 72<paragraph role="paragraph" id="par_id3155067" xml-lang="en-US" l10n="U" oldref="24">Line1:</paragraph> 73<paragraph role="paragraph" id="par_id3150321" xml-lang="en-US" l10n="U" oldref="25">sVar =sVar & " Label 1" : GoTo Ende</paragraph> 74<paragraph role="paragraph" id="par_id3149019" xml-lang="en-US" l10n="U" oldref="26">Line2:</paragraph> 75<paragraph role="paragraph" id="par_id3155764" xml-lang="en-US" l10n="U" oldref="27">sVar =sVar & " Label 2"</paragraph> 76<paragraph role="paragraph" id="par_id3153711" xml-lang="en-US" l10n="U" oldref="28">Ende:</paragraph> 77<paragraph role="paragraph" id="par_id3154253" xml-lang="en-US" l10n="U" oldref="29">MsgBox sVar,0,"On...Gosub"</paragraph> 78<paragraph role="paragraph" id="par_id3149565" xml-lang="en-US" l10n="U" oldref="30">End Sub</paragraph> 79</body> 80</helpdocument> 81