LibreOffice 7.3 žinynas
Skaito įrašą iš santykinio failo arba baitų seką iš dvejetainio failo į kintamąjį.
Dar žr.: Įdėti sakinį
Get [#]fileNum, [recordNum|filePos], variable
fileNum: bet kuri sveikojo skaičiaus išraiška, nustatanti failo numerį.
recordNum: Failams, atvertiems atsitiktine veiksena, recordNum, pateikiamas norimo perskaityti įrašo numeris.
Failams, atvertiems dvejetaine veiksena, filePos pateikiama failo, kuriame pradedama skaityti, baitų pozicija.
Jei recordNum ir filePos nėra, naudojama dabartinė failo padėtis arba dabartinis duomenų įrašas.
variable: skaitomo kintamojo pavadinimas. Išskyrus objektų kintamuosius, galite naudoti bet kurio tipo kintamuosius.
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