Difference between revisions of "Program Examples:File Handling:Open Read Write"

From SoftMC-Wiki
Jump to: navigation, search
 
(14 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Axystems:Template:File_Handling_Example
+
{{Languages|Program_Examples:File_Handling:Open_Read_Write}}
 +
The following example demonstrates how to open a file with different permissions (Read Only, Write Only, Append), how to read from and write to the file, and how to manipulate the file pointer.
  
|DESCRIPTION=
+
<syntaxhighlight lang="vb">
The following example demonstrates how to open a file in different modes (Read Only, Write Only, Append),<br/>
+
program
how to read from and write to the file, and how to manipulate the file pointer.<br/>
 
<br/>
 
  
|EXAMPLE=
+
dim pos as long
program<br/>
+
dim d1 as double
<br/>
+
dim s1 as string
dim pos as long<br/>
 
dim d1 as double<br/>
 
dim s1 as string<br/>
 
<br/>
 
'create file for writing<br/>
 
Open "test.prg" mode = "w" as #1<br/>
 
print #1, "1.2345"<br/>
 
close #1<br/>
 
<br/>
 
'append to existing file<br/>
 
Open "test.prg" mode = "a" as #1<br/>
 
print #1, PI<br/>
 
close #1<br/>
 
'read from file<br/>
 
Open "test.prg" mode = "r" as #1<br/>
 
<br/>
 
'how many characters in the file?<br/>
 
print "File contains ";loc(1);" characters"<br/>
 
s1 = input$(#1)<br/>
 
<br/>
 
'convert from string to double<br/>
 
d1=val(s1)<br/>
 
?d1<br/>
 
<br/>
 
'save current file pointer<br/>
 
pos = tell(#1)<br/>
 
print "File pointer Position = ";pos<br/>
 
?input$(#1)<br/>
 
<br/>
 
'rewind file<br/>
 
seek (#1,pos)<br/>
 
?input$(#1)<br/>
 
close #1<br/>
 
<br/>
 
end program<br/>
 
  
|SEE ALSO=
+
'create file for writing
* [[Axystems:Program_Examples:TCP_IP:TCPIP_Simple_Server|Simple Server]]
+
Open "test.prg" mode = "w" as #1
* [[Axystems:Program_Examples:TCP_IP:TCPIP_Simple_Client|Simple Client]]
+
print #1, "1.2345"
* [[Axystems:MC-Basic:ACCEPT|ACCEPT]]
+
close #1
* [[Axystems:MC-Basic:CLOSE|CLOSE]]
 
* [[Axystems:MC-Basic:CONNECT|CONNECT]]
 
* [[Axystems:MC-Basic:OPENSOCKET|OPENSOCKET]]
 
* [[Axystems:MC-Basic:PING|PING]]
 
  
}}
+
'append to existing file
 +
Open "test.prg" mode = "a" as #1
 +
print #1, PI
 +
close #1
 +
'read from file
 +
Open "test.prg" mode = "r" as #1
 +
 
 +
'how many characters in the file?
 +
print "File contains ";loc(1);" characters"
 +
s1 = input$(#1)
 +
 
 +
'convert from string to double
 +
d1=val(s1)
 +
?d1
 +
 
 +
'save current file pointer
 +
pos = tell(#1)
 +
print "File pointer Position = ";pos
 +
?input$(#1)
 +
 
 +
'rewind file
 +
seek (#1,pos)
 +
?input$(#1)
 +
close #1
 +
 
 +
end program
 +
</syntaxhighlight>
 +
 
 +
 
 +
The example corresponds to commit SHA-1: ada143a7f402e6bbad24c13c56401a5393ce3d2b in GIT.
 +
 
 +
 
 +
== See Also ==
 +
* [[MC-Basic:OPEN|OPEN]]
 +
* [[MC-Basic:LOC|LOC]]
 +
* [[MC-Basic:PRINT|PRINT]]
 +
* [[MC-Basic:INPUT$|INPUT$]]
 +
* [[MC-Basic:TELL|TELL]]
 +
* [[MC-Basic:SEEK|SEEK]]
 +
* [[MC-Basic:CLOSE|CLOSE]]

Latest revision as of 08:40, 16 July 2017

Language: English  • 中文(简体)‎

The following example demonstrates how to open a file with different permissions (Read Only, Write Only, Append), how to read from and write to the file, and how to manipulate the file pointer.

program

	dim pos as long
	dim d1 as double
	dim s1 as string

	'create file for writing
	Open "test.prg" mode = "w" as #1
	print #1, "1.2345"
	close #1

	'append to existing file
	Open "test.prg" mode = "a" as #1
	print #1, PI
	close #1
	'read from file
	Open "test.prg" mode = "r" as #1

	'how many characters in the file?
	print "File contains ";loc(1);" characters"
	s1 = input$(#1)

	'convert from string to double
	d1=val(s1)
	?d1

	'save current file pointer
	pos = tell(#1)
	print "File pointer Position = ";pos
	?input$(#1)

	'rewind file
	seek (#1,pos)
	?input$(#1)
	close #1

end program


The example corresponds to commit SHA-1: ada143a7f402e6bbad24c13c56401a5393ce3d2b in GIT.


See Also