Ukaz Put#
Zapiše zapis v relativno datoteko ali pa zaporedje bajtov v binarno datoteko.
Uporabite ukaz Print# za izpis podatkov v sekvenčno besedilno datoteko. Uporabite ukaz Write# za zapisovanje podatkov v sekvenčno besedilno datoteko z ločilnimi znaki.
Put [#]štDatoteke, [štZapisa|položajDatoteka], Spremenljivka
štDatoteke: poljuben celoštevilski izraz vrste Integer, ki definira datoteko, v katero želite pisati.
štZapisa, položajDatoteka: za relativne datoteke (to je datoteke z naključnim dostopom) je to številka zapisa, ki ga želite zapisati.
Za binarne datoteke (binarni dostop) je to položaj bajta v datoteki, kjer želite začeti s pisanjem.
Spremenljivka: ime spremenljivke, ki jo želite zapisati v datoteko.
Opomba glede relativnih datotek: Če dolžina te spremenljivke ne odgovarja dolžini zapisa, ki je navedena v izrazu Len stavka Open, se prostor med koncem novega zapisa in začetkom naslednjega zapisa zapolni s podatki, ki se v datoteki, na katero pišete, že nahajajo.
Opomba glede binarnih datotek: Vsebina spremenljivk se piše na navedeno mesto in kazalka datoteke se prestavi neposredno za zadnji zapisani bajt. Med zapisi ni praznih mest.
Sub ExampleRandomAccess
Dim iNumber As Integer
Dim sBesedilo As Variant ' mora biti Variant
Dim aFile As String
aFile = "C:\Users\ThisUser\data.txt"
iNumber = Freefile
Open aFile For Random As #iNumber Len=32
Seek #iStevilka,1 ' Postavi se na začetek datoteke
Put #iStevilka, , "To je prva vrstica besedila" ' napolni vrsto z besedilom
Put #iStevilka, , "To je druga vrstica z besedilom"
Put #iStevilka, , "To je tretja vrstica z besedilom"
Seek #iNumber,2
Get #iNumber, , sText
Print sText
Close #iNumber
iNumber = Freefile
Open aFile For Random As #iNumber Len=32
Get #iNumber, 2, sText
Put #iStevilka, , "To je novo besedilo"
Get #iNumber, 1, sText
Get #iNumber, 2, sText
Put #iStevilka, 20, "To je besedilo v zapisu 20"
Print Lof(#iNumber)
Close #iNumber
End Sub
Sub ExampleRandomAccess
Dim iNumber As Integer
Dim sBesedilo As Variant ' mora biti Variant
Dim aFile As String
aFile = "~/data.txt"
iNumber = Freefile
Open aFile For Random As #iNumber Len=32
Seek #iStevilka,1 ' Postavi se na začetek datoteke
Put #iStevilka, , "To je prva vrstica besedila" ' napolni vrsto z besedilom
Put #iStevilka, , "To je druga vrstica z besedilom"
Put #iStevilka, , "To je tretja vrstica z besedilom"
Seek #iNumber,2
Get #iNumber, , sText
Print sText
Close #iNumber
iNumber = Freefile
Open aFile For Random As #iNumber Len=32
Get #iNumber, 2, sText
Put #iStevilka, , "To je novo besedilo"
Get #iNumber, 1, sText
Get #iNumber, 2, sText
Put #iStevilka, 20, "To je besedilo v zapisu 20"
Print Lof(#iNumber)
Close #iNumber
End Sub