BINARY Files

Omschrijving:

Om een bestand op binaire wijze te naderen, moet men het met het
OPEN statement openen. Wanneer het bestand niet meer nodig is, en
vůůr dat het programma beŽindigd is, moet het met het CLOSE statement worden gesloten.
Zie ook: Filedialog, File Operations, Path and Filename.

In de binaire toegangsmethode, worden de bytes naar het geopende bestand
geschreven en of gelezen als karakters. Zie Chr$(n).

Gebruik het SEEK bevel om op het gewenste punt in het bestand te raken om
eruit te kunnen lezen of erin te kunnen schrijven.
Dit SEEK commando plaatst de Filepointer op de gespecificeerde plaats.

Gebruik de LOC (#handle) functie om de huidige positie van de Filepointer terug te halen.
De huidige positie van de Filepointer wordt gebruikt bij het
lezen van gegevens uit of het schrijven van gegevens naar een binair bestand.

Data wordt uit het bestand gelezen met het INPUT statement.

Data wordt naar het bestand geschreven met het PRINT statement.

In de binaire mode worden nooit afscheidingstekens naar het bestand geschreven.
Afbakeningstekens zijn het ENTER teken chr$ (13) en die voor de volgende regel chr$ (10).

 

Gebruik:

'binary file access (toegang)

open "myfile.ext" for binary as #handle

'seek to file position (zoek een filepointer positie op
seek #handle, fpos

'get the current file position (wat is de huidige filepointer positie)
fpos = loc(#handle)

'write a byte to the file (schrijf een byte naar het bestand)
print #handle, chr$(143)

'read the data at the current location (lees data (een byte) uit de huidige positie)
input #myfile, txt$

 

Voorbeeld programma:

'binary file example
open "myfile.bin" for binary as #myfile

txt$ = "I like programming with Liberty BASIC."
print "Original data in file is: ";txt$

'write some data to the file
print #myfile, txt$

'retrieve the position of the file pointer
nowPos = LOC(#myfile)

'move the filepointer
nowPos = nowPos - 14
seek #myfile, nowPos

'read the data at the current location
input #myfile, txt$

'print txt$ in mainwin
print "Data at ";nowPos;" is: ";txt$

'move the filepointer
seek #myfile, 2

'write some data to the middle of the file
print #myfile, "love"
print str$(loc(#myfile) - 2); " bytes written"

'move the file pointer to the beginning

seek #myfile, 0

'read the data
input #myfile, txt$

'print data in mainwin
print "New Data is: ";txt$

'close the file
close #myfile
end