Aide LibreOffice 7.2
Lit un enregistrement dans un fichier relatif, ou une séquence d'octets dans un fichier binaire, et l'insère dans une variable.
Voir aussi : Instruction PUT
Get [#]fileNum, [recordNum|filePos], variable
fileNum : expression au format nombre entier déterminant le numéro de fichier.
recordNum : pour les fichiers ouverts en mode Random, recordNum est le numéro de l'enregistrement à lire.
Pour les fichiers ouverts en mode Binary, filePos indique la position octale du début de la lecture dans le fichier.
Si les paramètres recordNum et filePos ne sont pas spécifiés, la position actuelle ou l'enregistrement de données actif du fichier est utilisé.
variable : nom de la variable à lire. Vous pouvez utiliser tout type de variable sauf les variables d'objets.
Sub ExampleRandomAccess
Dim iNumber As Integer
Dim sText As Variant ' Doit être un variant
Dim aFile As String
aFile = "C:\Users\ThisUser\data.txt"
iNumber = Freefile
Open aFile For Random As #iNumber Len=32
Seek #iNumber,1 ' Position au début
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