<?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="textsbasicshared03020410xml" indexer="include" status="PUBLISH">
<title id="tit" xml-lang="en-US">Kill Statement [Runtime]</title>
<filename>/text/sbasic/shared/03020410.xhp</filename>
</topic>
<history>
<created date="2003-10-31T00:00:00">Sun Microsystems, Inc.</created>
<lastedited date="2004-09-01T15:29:09">converted from old format - fpe</lastedited>
</history>
</meta>
<body>
<section id="kill">
<bookmark xml-lang="en-US" branch="index" id="bm_id3153360"><bookmark_value>Kill statement</bookmark_value>
</bookmark>
<paragraph role="heading" id="hd_id3153360" xml-lang="en-US" level="1" l10n="U" oldref="1"><link href="text/sbasic/shared/03020410.xhp" name="Kill Statement [Runtime]">Kill Statement [Runtime]</link></paragraph>
<paragraph role="paragraph" id="par_id3151211" xml-lang="en-US" l10n="U" oldref="2">Deletes a file from a disk.</paragraph>
</section>
<paragraph role="heading" id="hd_id3150767" xml-lang="en-US" level="2" l10n="U" oldref="3">Syntax:</paragraph>
<paragraph role="code" id="par_id3154685" xml-lang="en-US" l10n="U" oldref="4">Kill File As String</paragraph>
<paragraph role="heading" id="hd_id3153194" xml-lang="en-US" level="2" l10n="U" oldref="5">Parameters:</paragraph>
<paragraph role="paragraph" id="par_id3150440" xml-lang="en-US" l10n="U" oldref="6">
<emph>File:</emph> Any string expression that contains an unambiguous file specification. You can also use <link href="text/sbasic/shared/00000002.xhp" name="URL notation">URL notation</link>.</paragraph>
<embed href="text/sbasic/shared/00000003.xhp#errorcode"/>
<embed href="text/sbasic/shared/00000003.xhp#err5"/>
<embed href="text/sbasic/shared/00000003.xhp#err76"/>
<paragraph role="heading" id="hd_id3148645" xml-lang="en-US" level="2" l10n="U" oldref="7">Example:</paragraph>
<paragraph role="code" id="par_id3154320" xml-lang="en-US" l10n="U" oldref="8">sub ExampleKill</paragraph>
<paragraph role="code" id="par_id3163710" xml-lang="en-US" l10n="U" oldref="9">Kill "C:\datafile.dat" REM File must be created in advance</paragraph>
<paragraph role="code" id="par_id3145749" xml-lang="en-US" l10n="U" oldref="10">end sub</paragraph>
</body>
</helpdocument>
