<?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="textsbasicshared03120310xml" indexer="include" status="PUBLISH">
<title id="tit" xml-lang="en-US">UCase Function [Runtime]</title>
<filename>/text/sbasic/shared/03120310.xhp</filename>
</topic>
<history>
<created date="2003-10-31T00:00:00">Sun Microsystems, Inc.</created>
<lastedited date="2004-08-24T14:45:11">converted from old format - fpe</lastedited>
</history>
</meta>
<body>
<section id="ucase">
<bookmark xml-lang="en-US" branch="index" id="bm_id3153527"><bookmark_value>UCase function</bookmark_value>
</bookmark>
<paragraph role="heading" id="hd_id3153527" xml-lang="en-US" level="1" l10n="U" oldref="1"><link href="text/sbasic/shared/03120310.xhp" name="UCase Function [Runtime]">UCase Function [Runtime]</link></paragraph>
<paragraph role="paragraph" id="par_id3155420" xml-lang="en-US" l10n="U" oldref="2">Converts lowercase characters in a string to uppercase.</paragraph>
</section>
<paragraph role="paragraph" id="par_id3150771" xml-lang="en-US" l10n="U" oldref="3">See also: <link href="text/sbasic/shared/03120302.xhp" name="LCase Function">LCase Function</link></paragraph>
<paragraph role="paragraph" id="par_id3149233" xml-lang="en-US" l10n="U" oldref="4">
<emph>Syntax</emph>:</paragraph>
<paragraph role="paragraph" id="par_id3153061" xml-lang="en-US" l10n="U" oldref="5">UCase (Text As String)</paragraph>
<paragraph role="paragraph" id="par_id3159414" xml-lang="en-US" l10n="U" oldref="6">
<emph>Return value</emph>:</paragraph>
<paragraph role="paragraph" id="par_id3146795" xml-lang="en-US" l10n="U" oldref="7">String</paragraph>
<paragraph role="heading" id="hd_id3149457" xml-lang="en-US" level="2" l10n="U" oldref="8">Parameters:</paragraph>
<paragraph role="paragraph" id="par_id3150791" xml-lang="en-US" l10n="U" oldref="9">
<emph>Text:</emph> Any string expression that you want to convert.</paragraph>
<embed href="text/sbasic/shared/00000003.xhp#errorcode"/>
<embed href="text/sbasic/shared/00000003.xhp#err5"/>
<paragraph role="heading" id="hd_id3154125" xml-lang="en-US" level="2" l10n="U" oldref="10">Example:</paragraph>
<paragraph role="paragraph" id="par_id3147229" xml-lang="en-US" l10n="U" oldref="11">Sub ExampleLUCase</paragraph>
<paragraph role="paragraph" id="par_id3151381" xml-lang="en-US" l10n="U" oldref="12">Dim sVar As String</paragraph>
<paragraph role="paragraph" id="par_id3153194" xml-lang="en-US" l10n="U" oldref="13">sVar = "Las Vegas"</paragraph>
<paragraph role="paragraph" id="par_id3149204" xml-lang="en-US" l10n="U" oldref="14">Print LCase(sVar) REM returns "las vegas"</paragraph>
<paragraph role="paragraph" id="par_id3156280" xml-lang="en-US" l10n="U" oldref="15">Print UCase(sVar) REM returns "LAS VEGAS"</paragraph>
<paragraph role="paragraph" id="par_id3156422" xml-lang="en-US" l10n="U" oldref="16">end Sub</paragraph>
</body>
</helpdocument>
