Zápis a čtení
řetězců je trochu více složitější - v tomto případě totiž nevíme,
jakou délku data mají. Takže pokud zapíšeme takovýto výstup:
Put #nFileNum, 1,
"Krléš"
musíme
vědět, že řetězec, který jsem zapsali, má délku pěti znaků,
abychom jej mohli správně přečíst. Jak to ale udělat ? Jak říci VB,
že řetězec je 5 znaků dlouhý, když zde není parametr Length pro příkaz
Get ? To, co můžeme udělat před voláním příkazu Get, je inicializace
řetězcové proměnné pomocí funkce Space$ a nastavením počtu
mezer:
sString
= Space$(5)
Nyní,
když předáme proměnnou sString funkci Get, dostaneme zpět 5 znaků.
Nejprve zapíšeme funkci pro zápis:
Dim nFileNum As
Integer
nFileNum = FreeFile
Open App.Path & "\example.bin" For Binary Access _
Write Lock Read Write As #nFileNum
Put #nFileNum, 1, "Krléš"
Close #nFileNum
a funkce pro načtení:
Dim nFileNum As
Integer, sString As String
nFileNum = FreeFile
Open App.Path & "\example.bin" For Binary Access _
Read Lock Read Write As #nFileNum
sString = Space$(5)
Get #nFileNum, 1, sString
Close #nFileNum
Msgbox sString
|