<?xml version="1.0" encoding="UTF-8"?>


<!--***********************************************************
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 ***********************************************************-->

<helpdocument version="1.0">
<meta>
<topic id="textsbasicshared03090203xml" indexer="include" status="PUBLISH">
<title xml-lang="en-US" id="tit">While...Wend Statement[Runtime]</title>
<filename>/text/sbasic/shared/03090203.xhp</filename>
</topic>
<history>
<created date="2003-10-31T00:00:00">Sun Microsystems, Inc.</created>
<lastedited date="2003-10-31T00:00:00">converted from old format - fpe</lastedited>
</history>
</meta>
<body>
  
  
  <section id="whilewend">
  <bookmark xml-lang="en-US" branch="index" id="bm_id3150400"><bookmark_value>While;While...Wend loop</bookmark_value></bookmark><paragraph id="hd_id3150400" role="heading" level="1" oldref="1" l10n="U" xml-lang="en-US"><link href="text/sbasic/shared/03090203.xhp" name="While...Wend Statement[Runtime]">While...Wend Statement[Runtime]</link></paragraph>
  <paragraph xml-lang="en-US" role="paragraph" id="par_id3151211" l10n="U" oldref="2">When a program encounters a While statement, it tests the condition. If the condition is False, the program continues directly following the Wend statement. If the condition is True, the loop is executed until the program finds Wend and then jumps back to the<emph> While </emph>statement. If the condition is still True, the loop is executed again.</paragraph>
  </section>
  <paragraph xml-lang="en-US" oldref="3" id="par_id3151041" l10n="U" role="paragraph">Unlike the <link href="text/sbasic/shared/03090201.xhp" name="Do...Loop">Do...Loop</link> statement, you cannot cancel a <emph>While...Wend</emph> loop with <link href="text/sbasic/shared/03090412.xhp" name="Exit">Exit</link>. Never exit a While...Wend loop with <link href="text/sbasic/shared/03090302.xhp" name="GoTo">GoTo</link>, since this can cause a run-time error.</paragraph>
  <paragraph role="paragraph" id="par_id3145172" l10n="U" xml-lang="en-US" oldref="4">A Do...Loop is more flexible than a While...Wend.</paragraph>
  <paragraph role="heading" level="2" id="hd_id3155133" l10n="U" xml-lang="en-US" oldref="5">Syntax:</paragraph>
  <paragraph role="paragraph" id="par_id3147288" l10n="U" xml-lang="en-US" oldref="6">While Condition [Statement] Wend</paragraph>
  <paragraph role="heading" level="2" id="hd_id3153139" l10n="U" xml-lang="en-US" oldref="7">Example:</paragraph>
  <paragraph role="paragraph" id="par_id3159153" l10n="U" xml-lang="en-US" oldref="8">Sub ExampleWhileWend</paragraph>
  <paragraph role="paragraph" id="par_id3151114" l10n="U" xml-lang="en-US" oldref="9">Dim stext As String</paragraph>
  <paragraph role="paragraph" id="par_id3153143" l10n="U" xml-lang="en-US" oldref="10">Dim iRun As Integer</paragraph>
  <paragraph role="paragraph" id="par_id3155306" l10n="U" xml-lang="en-US" oldref="11">sText =&quot;This is a short text&quot;</paragraph>
  <paragraph role="paragraph" id="par_id3154011" l10n="U" xml-lang="en-US" oldref="12">iRun = 1</paragraph>
  <paragraph role="paragraph" id="par_id3147215" l10n="U" xml-lang="en-US" oldref="13">while iRun &lt; Len(sText)</paragraph>
  <paragraph role="paragraph" id="par_id3147427" l10n="U" xml-lang="en-US" oldref="14">if Mid(sText,iRun,1 )&lt;&gt; &quot; &quot; then Mid( sText ,iRun, 1, Chr( 1 + Asc( Mid(sText,iRun,1 )) )</paragraph>
  <paragraph role="paragraph" id="par_id3149665" l10n="U" xml-lang="en-US" oldref="15">iRun = iRun + 1</paragraph>
  <paragraph role="paragraph" id="par_id3152939" l10n="U" xml-lang="en-US" oldref="16">Wend</paragraph>
  <paragraph role="paragraph" id="par_id3153189" l10n="U" xml-lang="en-US" oldref="17">MsgBox sText,0,&quot;Text encoded&quot;</paragraph>
  <paragraph role="paragraph" id="par_id3145251" l10n="U" xml-lang="en-US" oldref="18">end sub</paragraph>
 </body>
</helpdocument>
