Axuda do LibreOffice 7.3
Le un rexistro dun ficheiro relativo ou unha secuencia de bytes dun ficheiro binario a unha variábel.
See also: PUT Statement
Get [#]fileNum, [recordNum|filePos], variable
fileNum: Any integer expression that determines the file number.
recordNum: For files opened in Random mode, recordNum is the number of the record that you want to read.
For files opened in Binary mode, filePos is the byte position in the file where the reading starts.
If recordNum and filePos are omitted, the current position or the current data record of the file is used.
variábel: Nome da variábel que desexa ler. Use calquera tipo de variábeis excepto as de obxectos.
Sub ExampleRandomAccess
Dim iNumber As Integer
Dim sTexto As Variant REM Debe ser unha variante
Dim aFile As String
aFile = "C:\Users\ThisUser\data.txt"
iNumber = Freefile
Open aFile For Random As #iNumber Len=32
Seek #iNumero,1 REM 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
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