Put# sakinys
Rašo įrašą į santykinį failą arba baitų seką į dvejetainį failą.
Naudokite Print# sakinį duomenims spausdinti į nuoseklųjį tekstinį failą. Naudokite Write# sakinį duomenims rašyti į nuoseklųjį tekstinį failą su skiriamaisiais simboliais.
Put [#]fileNum, [recordNum|filePos], kintamasis
fileNum: Bet kuri sveikojo skaičiaus išraiška, apibrėžianti failą, į kurį norite rašyti.
recordNum, filePos: santykinių failų (atsitiktinės prieigos) atveju – įrašo, kurį norite parašyti, numeris.
Dvejetainiams failams (dvejetainė prieiga) nurodoma failo baito vieta, kurioje norima pradėti rašyti.
variable: Kintamojo, kurį norite įrašyti į failą, vardas.
Pastaba santykinių failų atveju: Jei šio kintamojo turinys neatitinka įrašo ilgio, nurodyto Atverti sakinio Ilgis sąlygoje, tai tarpas tarp pabaigos naujai užrašyto įrašo ir kito įrašas yra užpildomas esamais failo, į kurį rašote, duomenimis.
Pastaba dvejetainių failų atveju: Kintamųjų turinys įrašomas į nurodytą vietą, o failo žymeklis įterpiamas iškart po paskutiniojo baito. Tarp įrašų nelieka vietos.
Sub ExampleRandomAccess
Dim iNumber As Integer
Dim sText As Variant ' Turi būti variantas
Dim aFile As String
aFile = "C:\Users\ThisUser\data.txt"
iNumber = Freefile
Open aFile For Random As #iNumber Len=32
Seek #iNumber,1 ' Pozicionuojama pradžioje
Put #iNumber, , "This is the first line of text" ' Fill line with text
Put #iNumber, , "This is the second line of text"
Put #iNumber, , "This is the third line of text"
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 #iNumber, , "This is a new text"
Get #iNumber, 1, sText
Get #iNumber, 2, sText
Put #iNumber, 20, "This is the text in record 20"
Print Lof(#iNumber)
Close #iNumber
End Sub
Sub ExampleRandomAccess
Dim iNumber As Integer
Dim sText As Variant ' Must be a variant
Dim aFile As String
aFile = "~/data.txt"
iNumber = Freefile
Open aFile For Random As #iNumber Len=32
Seek #iNumber,1 ' Position at beginning
Put #iNumber, , "This is the first line of text" ' Fill line with text
Put #iNumber, , "This is the second line of text"
Put #iNumber, , "This is the third line of text"
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 #iNumber, , "This is a new text"
Get #iNumber, 1, sText
Get #iNumber, 2, sText
Put #iNumber, 20, "This is the text in record 20"
Print Lof(#iNumber)
Close #iNumber
End Sub