1cdf0e10cSrcweir<?xml version="1.0" encoding="UTF-8"?>
2cdf0e10cSrcweir
3d33d0967SAndrew Rist<!--***********************************************************
41c8e30e9Smseidel *
5d33d0967SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
6d33d0967SAndrew Rist * or more contributor license agreements.  See the NOTICE file
7d33d0967SAndrew Rist * distributed with this work for additional information
8d33d0967SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
9d33d0967SAndrew Rist * to you under the Apache License, Version 2.0 (the
10d33d0967SAndrew Rist * "License"); you may not use this file except in compliance
11d33d0967SAndrew Rist * with the License.  You may obtain a copy of the License at
121c8e30e9Smseidel *
13d33d0967SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
141c8e30e9Smseidel *
15d33d0967SAndrew Rist * Unless required by applicable law or agreed to in writing,
16d33d0967SAndrew Rist * software distributed under the License is distributed on an
17d33d0967SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
18d33d0967SAndrew Rist * KIND, either express or implied.  See the License for the
19d33d0967SAndrew Rist * specific language governing permissions and limitations
20d33d0967SAndrew Rist * under the License.
211c8e30e9Smseidel *
22d33d0967SAndrew Rist ***********************************************************-->
23d33d0967SAndrew Rist
24cdf0e10cSrcweir<helpdocument version="1.0">
25cdf0e10cSrcweir<meta>
26cdf0e10cSrcweir<topic id="textsbasicshared03020103xml" indexer="include" status="PUBLISH">
270f827ae2Smseidel<title id="tit" xml-lang="en-US">Open Statement [Runtime]</title>
28cdf0e10cSrcweir<filename>/text/sbasic/shared/03020103.xhp</filename>
29cdf0e10cSrcweir</topic>
30cdf0e10cSrcweir</meta>
31cdf0e10cSrcweir<body>
32cdf0e10cSrcweir<section id="open">
33*e91968a5Smseidel<bookmark xml-lang="en-US" branch="index" id="bm_id3150791">
34*e91968a5Smseidel<bookmark_value>Open statement</bookmark_value>
35cdf0e10cSrcweir</bookmark>
360f827ae2Smseidel<paragraph role="heading" id="hd_id3150791" xml-lang="en-US" level="1" l10n="U" oldref="1"><link href="text/sbasic/shared/03020103.xhp" name="Open Statement [Runtime]">Open Statement [Runtime]</link></paragraph>
37cdf0e10cSrcweir<paragraph role="paragraph" id="par_id3150769" xml-lang="en-US" l10n="U" oldref="2">Opens a data channel.</paragraph>
38cdf0e10cSrcweir</section>
39cdf0e10cSrcweir<paragraph role="heading" id="hd_id3147230" xml-lang="en-US" level="2" l10n="U" oldref="3">Syntax:</paragraph>
40cdf0e10cSrcweir<paragraph role="code" id="par_id3154124" xml-lang="en-US" l10n="CHG" oldref="4">Open FileName As String [For Mode] [Access IOMode] [Protected] As [#]FileNumber As Integer [Len = DatasetLength]<comment>UFI: #i37502#</comment></paragraph>
41cdf0e10cSrcweir<paragraph role="heading" id="hd_id3156280" xml-lang="en-US" level="2" l10n="U" oldref="5">Parameters:</paragraph>
42cdf0e10cSrcweir<paragraph role="paragraph" id="par_id3155132" xml-lang="en-US" l10n="U" oldref="6">
43*e91968a5Smseidel<emph>FileName:</emph> Name and path of the file that you wan to open. If you try to read a file that does not exist (Access = Read), an error message appears. If you try to write to a file that does not exist (Access = Write), a new file is created.</paragraph>
44cdf0e10cSrcweir<paragraph role="paragraph" id="par_id3149262" xml-lang="en-US" l10n="U" oldref="7">
45cdf0e10cSrcweir<emph>Mode:</emph> Keyword that specifies the file mode. Valid values: Append (append to sequential file), Binary (data can be accessed by bytes using Get and Put), Input (opens data channel for reading), Output (opens data channel for writing), and Random (edits relative files).</paragraph>
46cdf0e10cSrcweir<paragraph role="paragraph" id="par_id3154014" xml-lang="en-US" l10n="CHG" oldref="8">
47cdf0e10cSrcweir<emph>IOMode:</emph> Keyword that defines the access type. Valid values: Read (read-only), Write (write-only), Read Write (both).</paragraph>
48cdf0e10cSrcweir<paragraph role="paragraph" id="par_id3150011" xml-lang="en-US" l10n="U" oldref="9">
49cdf0e10cSrcweir<emph>Protected:</emph> Keyword that defines the security status of a file after opening. Valid values: Shared (file may be opened by other applications), Lock Read (file is protected against reading), Lock Write (file is protected against writing), Lock Read Write (denies file access).</paragraph>
50cdf0e10cSrcweir<paragraph role="paragraph" id="par_id3153190" xml-lang="en-US" l10n="U" oldref="10">
51cdf0e10cSrcweir<emph>FileNumber:</emph> Any integer expression from 0 to 511 to indicate the number of a free data channel. You can then pass commands through the data channel to access the file. The file number must be determined by the FreeFile function immediately before the Open statement.</paragraph>
52cdf0e10cSrcweir<paragraph role="paragraph" id="par_id3151115" xml-lang="en-US" l10n="CHG" oldref="11">
53cdf0e10cSrcweir<emph>DatasetLength:</emph> For random access files, set the length of the records.<comment>UFI: #61736</comment></paragraph>
54cdf0e10cSrcweir<paragraph role="note" id="par_id3153418" xml-lang="en-US" l10n="U" oldref="12">You can only modify the contents of a file that was opened with the Open statement. If you try to open a file that is already open, an error message appears.</paragraph>
55cdf0e10cSrcweir<paragraph role="heading" id="hd_id3149123" xml-lang="en-US" level="2" l10n="U" oldref="13">Example:</paragraph>
56cdf0e10cSrcweir<paragraph role="code" id="par_id3150749" xml-lang="en-US" l10n="U" oldref="14">Sub ExampleWorkWithAFile</paragraph>
57cdf0e10cSrcweir<paragraph role="code" id="par_id3155064" xml-lang="en-US" l10n="U" oldref="15">Dim iNumber As Integer</paragraph>
58cdf0e10cSrcweir<paragraph role="code" id="par_id3154754" xml-lang="en-US" l10n="U" oldref="16">Dim sLine As String</paragraph>
59cdf0e10cSrcweir<paragraph role="code" id="par_id3153711" xml-lang="en-US" l10n="U" oldref="17">Dim aFile As String</paragraph>
60cdf0e10cSrcweir<paragraph role="code" id="par_id3155764" xml-lang="en-US" l10n="U" oldref="40">Dim sMsg as String</paragraph>
61cdf0e10cSrcweir<paragraph role="code" id="par_id3159264" xml-lang="en-US" l10n="U" oldref="18">aFile = "c:\data.txt"</paragraph>
62cdf0e10cSrcweir<paragraph role="code" id="par_id3153963" xml-lang="en-US" l10n="U" oldref="20">iNumber = Freefile</paragraph>
63cdf0e10cSrcweir<paragraph role="code" id="par_id3155959" xml-lang="en-US" l10n="U" oldref="21">Open aFile For Output As #iNumber</paragraph>
64cdf0e10cSrcweir<paragraph role="code" id="par_id3154705" xml-lang="en-US" l10n="U" oldref="22">Print #iNumber, "This is a line of text"</paragraph>
65cdf0e10cSrcweir<paragraph role="code" id="par_id3146916" xml-lang="en-US" l10n="U" oldref="23">Print #iNumber, "This is another line of text"</paragraph>
66cdf0e10cSrcweir<paragraph role="code" id="par_id3150942" xml-lang="en-US" l10n="U" oldref="24">Close #iNumber</paragraph>
67cdf0e10cSrcweir<paragraph role="code" id="par_id3150300" xml-lang="en-US" l10n="U" oldref="28">iNumber = Freefile</paragraph>
68cdf0e10cSrcweir<paragraph role="code" id="par_id3154022" xml-lang="en-US" l10n="U" oldref="29">Open aFile For Input As iNumber</paragraph>
69cdf0e10cSrcweir<paragraph role="code" id="par_id3150783" xml-lang="en-US" l10n="U" oldref="30">While not eof(iNumber)</paragraph>
70cdf0e10cSrcweir<paragraph role="code" id="par_id3153270" xml-lang="en-US" l10n="U" oldref="31">Line Input #iNumber, sLine</paragraph>
71cdf0e10cSrcweir<paragraph role="code" id="par_id3153784" xml-lang="en-US" l10n="U" oldref="32">If sLine &lt;&gt;"" then</paragraph>
72cdf0e10cSrcweir<paragraph role="code" id="par_id3149208" xml-lang="en-US" l10n="U" oldref="33">sMsg = sMsg &amp; sLine &amp; chr(13)</paragraph>
73cdf0e10cSrcweir<paragraph role="code" id="par_id3150304" xml-lang="en-US" l10n="U" oldref="35">end if</paragraph>
74cdf0e10cSrcweir<paragraph role="code" id="par_id3151217" xml-lang="en-US" l10n="U" oldref="36">wend</paragraph>
75cdf0e10cSrcweir<paragraph role="code" id="par_id3152582" xml-lang="en-US" l10n="U" oldref="37">Close #iNumber</paragraph>
76cdf0e10cSrcweir<paragraph role="code" id="par_id3159100" xml-lang="en-US" l10n="U" oldref="41">Msgbox sMsg</paragraph>
77cdf0e10cSrcweir<paragraph role="code" id="par_id3159091" xml-lang="en-US" l10n="U" oldref="38">End Sub</paragraph>
78cdf0e10cSrcweir</body>
79cdf0e10cSrcweir</helpdocument>
80