<?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="textsbasicshared03104700xhp" indexer="include" status="PUBLISH">
<title id="tit" xml-lang="en-US">Erase Function [Runtime]</title>
<filename>/text/sbasic/shared/03104700.xhp</filename>
</topic>
<history>
<created date="2005-04-25T14:43:31">Erase</created>
<lastedited date="2005-04-27T10:48:36"/>
</history>
</meta>
<body>
<section id="erase">
<bookmark xml-lang="en-US" branch="index" id="bm_id624713"><bookmark_value>Erase function</bookmark_value>
</bookmark>
<paragraph role="heading" id="par_idN10548" xml-lang="en-US" level="1" l10n="NEW"><link href="text/sbasic/shared/03104700.xhp">Erase Function [Runtime]</link></paragraph>
<paragraph role="paragraph" id="par_idN10558" xml-lang="en-US" l10n="NEW">Erases the contents of array elements of fixed size arrays, and releases the memory used by arrays of variable size.</paragraph>
</section>
<paragraph role="heading" id="par_idN1055D" xml-lang="en-US" level="2" l10n="NEW">Syntax:</paragraph>
<paragraph role="paragraph" id="par_idN105E6" xml-lang="en-US" l10n="NEW">Erase Arraylist</paragraph>
<paragraph role="heading" id="par_idN105E9" xml-lang="en-US" level="2" l10n="NEW">Parameters:</paragraph>
<paragraph role="paragraph" id="par_idN105ED" xml-lang="en-US" l10n="NEW">
<emph>Arraylist</emph> - The list of arrays to be erased.</paragraph>
</body>
</helpdocument>
