summaryrefslogtreecommitdiffstats
path: root/source/text/sbasic/shared/03020103.xhp
blob: 14daf495534f3687e4a423883445c3bf17ccd4e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<?xml version="1.0" encoding="UTF-8"?>
<helpdocument version="1.0">
<!--
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   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 .
-->

<meta>
  <topic id="textsbasicshared03020103xml" indexer="include" status="PUBLISH">
    <title id="tit" xml-lang="en-US">Open Statement</title>
    <filename>/text/sbasic/shared/03020103.xhp</filename>
  </topic>
</meta>

<body>


<section id="open">
<bookmark xml-lang="en-US" branch="index" id="bm_id3150791">
  <bookmark_value>Open statement</bookmark_value>
</bookmark>


<h1 id="hd_id3150791"><link href="text/sbasic/shared/03020103.xhp" name="Open Statement">Open Statement</link></h1>
<paragraph id="par_id3150769" role="paragraph" xml-lang="en-US">Opens a data channel.</paragraph>
</section>

<embed href="text/sbasic/shared/00000003.xhp#functsyntax"/>
<bascode>
<paragraph id="par_id3154124" localize="false" role="bascode" xml-lang="en-US">Open FileName As String [For Mode] [Access IOMode] [Protected] As [#]FileNumber As Integer [Len = DatasetLength]<comment>i37502</comment></paragraph>
</bascode>

<embed href="text/sbasic/shared/00000003.xhp#functparameters"/>
<paragraph id="par_id3155132" role="paragraph" xml-lang="en-US"> <emph>FileName: </emph>Name and path of the file 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>
<paragraph id="par_id3149262" role="paragraph" xml-lang="en-US"> <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>
<paragraph id="par_id3154014" role="paragraph" xml-lang="en-US"> <emph>IOMode:</emph> Keyword that defines the access type. Valid values: Read (read-only), Write (write-only), Read Write (both).</paragraph>
<paragraph id="par_id3150011" role="paragraph" xml-lang="en-US"> <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>
<paragraph id="par_id3153190" role="paragraph" xml-lang="en-US"> <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>
<paragraph id="par_id3151115" role="paragraph" xml-lang="en-US"> <emph>DatasetLength:</emph> For random access files, set the length of the records.<comment>#61736</comment></paragraph>
<note id="par_id3153418">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.</note>

<embed href="text/sbasic/shared/00000003.xhp#functexample"/>
<bascode>
<paragraph id="par_idm1341597584" role="bascode" localize="false" xml-lang="en-US">Sub ExampleWorkWithAFile</paragraph>
<paragraph id="par_idm1341596336" role="bascode" localize="false" xml-lang="en-US">Dim iNumber As Integer</paragraph>
<paragraph id="par_idm1341595104" role="bascode" localize="false" xml-lang="en-US">Dim sLine As String</paragraph>
<paragraph id="par_idm1341593872" role="bascode" localize="false" xml-lang="en-US">Dim aFile As String</paragraph>
<paragraph id="par_idm1341592640" role="bascode" localize="false" xml-lang="en-US">Dim sMsg As String</paragraph>
<paragraph id="par_idm1341591408" role="bascode" localize="false" xml-lang="en-US">    aFile = "c:\data.txt"</paragraph>
<paragraph id="par_idm1341590160" role="bascode" localize="false" xml-lang="en-US">    iNumber = Freefile</paragraph>
<paragraph id="par_idm1341588928" role="bascode" localize="false" xml-lang="en-US">    Open aFile For Output As #iNumber</paragraph>
<paragraph id="par_id3154705" role="bascode" xml-lang="en-US">    Print #iNumber, "This is a line of text"</paragraph>
<paragraph id="par_id3146916" role="bascode" xml-lang="en-US">    Print #iNumber, "This is another line of text"</paragraph>
<paragraph id="par_idm1341584144" role="bascode" localize="false" xml-lang="en-US">    Close #iNumber</paragraph>
<paragraph id="par_idm1341582912" role="bascode" localize="false" xml-lang="en-US">    iNumber = Freefile</paragraph>
<paragraph id="par_idm1341581680" role="bascode" localize="false" xml-lang="en-US">    Open aFile For Input As iNumber</paragraph>
<paragraph id="par_idm1341580432" role="bascode" localize="false" xml-lang="en-US">    While Not eof(iNumber)</paragraph>
<paragraph id="par_idm1341579184" role="bascode" localize="false" xml-lang="en-US">        Line Input #iNumber, sLine</paragraph>
<paragraph id="par_idm1341577936" role="bascode" localize="false" xml-lang="en-US">        If sLine &lt;&gt;"" Then</paragraph>
<paragraph id="par_idm1341576688" role="bascode" localize="false" xml-lang="en-US">            sMsg = sMsg &amp; sLine &amp; chr(13)</paragraph>
<paragraph id="par_idm1341575424" role="bascode" localize="false" xml-lang="en-US">        End If</paragraph>
<paragraph id="par_idm1341574192" role="bascode" localize="false" xml-lang="en-US">    Wend</paragraph>
<paragraph id="par_idm1341572960" role="bascode" localize="false" xml-lang="en-US">    Close #iNumber</paragraph>
<paragraph id="par_idm1341571728" role="bascode" localize="false" xml-lang="en-US">    MsgBox sMsg</paragraph>
<paragraph id="par_idm1341570496" role="bascode" localize="false" xml-lang="en-US">End Sub</paragraph>
</bascode>
</body>
</helpdocument>