Hilfe für LibreOffice 7.3
Liest einen Datensatz aus einer relativen Datei oder eine Folge von Bytes aus einer binären Datei in eine Variable ein.
Vergleichen Sie auch: Anweisung PUT
Get [#]fileNum, [recordNum|filePos], variable
fileNum: Ein ganzzahliger Ausdruck, der die Dateinummer festlegt.
recordNum: Bei Dateien, die im Zufallsmodus geöffnet wurden, ist recordNum die Nummer des Datensatzes, den Sie lesen möchten.
Bei im Binärmodus geöffneten Dateien ist filePos die Byte-Position in der Datei, an der das Lesen beginnt.
Wenn recordNum und filePos weggelassen werden, wird die aktuelle Position bzw. der aktuelle Datensatz der Datei verwendet.
variable: Name der zu lesenden Variablen. Mit Ausnahme von Objektvariablen können Sie jeden Variablentyp verwenden.
Sub ExampleRandomAccess
Dim iNumber As Integer
Dim sText As Variant ' Muss variant sein
Dim aFile As String
aFile = "C:\Users\ThisUser\data.txt"
iNumber = Freefile
Open aFile For Random As #iNumber Len=32
Seek #iNumber,1 ' Auf Anfang positionieren
Put #iNumber, , "Dies ist die erste Zeile Text" ' Zeile mit Text füllen
Put #iNumber, , "Dies ist die zweite Zeile Text"
Put #iNumber, , "Dies ist die dritte Zeile 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, , "Dies ist neuer Text"
Get #iNumber, 1, sText
Get #iNumber, 2, sText
Put #iNumber, 20, "Dies ist der Text im Datensatz 20"
Print Lof(#iNumber)
Close #iNumber
End Sub
Sub ExampleRandomAccess
Dim iNumber As Integer
Dim sText As Variant ' Muss vom Typ Variant sein
Dim aFile As String
aFile = "~/data.txt"
iNumber = Freefile
Open aFile For Random As #iNumber Len=32
Seek #iNumber,1 ' Position am Anfang
Put #iNumber, , "Dies ist die erste Zeile Text" ' Zeile mit Text füllen
Put #iNumber, , "Dies ist die zweite Zeile Text"
Put #iNumber, , "Dies ist die dritte Zeile 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, , "Dies ist neuer Text"
Get #iNumber, 1, sText
Get #iNumber, 2, sText
Put #iNumber, 20, "Dies ist der Text im Datensatz 20"
Print Lof(#iNumber)
Close #iNumber
End Sub