Binßrnφ soubory - zßpis a Φtenφ

Pokud zapisujeme do binßrnφho souboru, pou₧φvßme na to p°φkaz Put. Mß nßsledujφcφ definici:

Put #FileNumber, ByteNumber, VariableName

Prom∞nnß FileNumber je Φφslo volnΘho souboru, kterΘ pou₧φvßme p°i otevφrßnφ, ByteNumber je pozice, na kterΘ chceme zaΦφt zapisovat data a VariableName je jmΘno prom∞nnΘ (nebo °et∞zec, obsahujφcφ data), kterou chceme do souboru zapsat. Jako p°φklad uve∩me zalo₧enφ novΘho souboru a nastavenφ prvnφho bytu na hodnotu 2:

Dim nFileNum As Integer
nFileNum = FreeFile
Open App.Path & "\example.bin" For Binary Access _
   Write Lock Read Write As #nFileNum Read Write As #nFileNum
Put #nFileNum, 1, 2
'zapφÜe hodnotu 2 na byt 1
Close #nFileNum

Nynφ je t°eba nalΘzt postup, jak si tuto hodnotu p°eΦφst. Ve Visual Basicu lze vyu₧φt p°φkaz Get, kter² mß ty samΘ Φßsti jako p°φkaz Put:

Get #FileNumber, ByteNumber, VariableName

Prom∞nnß VariableName nynφ p°edstavuje prom∞nnou, do kterΘ se ulo₧φ naΦtenß data. VÜimn∞te si, ₧e nespecifikuje, kolik byt∙ chceme naΦφst. P°i pou₧φvßnφ binßrnφch soubor∙ se toto nastavuje deklaracφ dΘlky prom∞nnΘ VariableName.

Pokud jsme do souboru zapsali integerovou hodnotu 1, musφ b²t VariabLena datovΘho typu Integer. A¥ zapφÜeme Φty°i Φφsla nebo jen jedno, prom∞nnß VariableName bude v₧dy obsazena korektnφ hodnotou. V nßsledujφcφm p°φkladu si p°eΦteme hodnotu ze souboru, kterou jsme ulo₧ili v p°edchozφm p°φkladu:

Dim nFileNum As Integer, nNumber As Integer
nFileNum = FreeFile
Open App.Path & "\example.bin" For Binary Access _
   Read Lock Read Write As #nFileNum
Get #nFileNum, 1, nNumber
Close #nFileNum
Msgbox nNumber

Pokud spustφte prvnφ p°φklad a pak i p°φklad druh², obdr₧φte zprßvu s Φφslem 2, co₧ je hodnota zapsanß do binßrnφho souboru. Nynφ zkuste zam∞nit °ßdek
Put #nFileNum, 1, 2

na
Put #nFileNum, 1, 25432
a zkuste spustit jak prvnφ, tak druh² p°φklad. Pokud oΦekßvßte zobrazenφ Φφsla 2, pak se m²lφte, nebo¥ se vrßtφ 25432. Toto je jedna z velk²ch v∞cφ binßrnφho p°φstupu - a¥ zapisujete Φφslo nebo datovou strukturu, nezßle₧φ na tom, jak jsou dlouhΘ polo₧ky, VB v₧dy vrßtφ sprßvnou dΘlku.

Zp∞t DalÜφ

Autor: The Bozena