IBM Lotus Symphony
|
Ecrit un enregistrement dans un fichier relatif ou une séquence d'octets dans un fichier binaire.
Voir aussi : Instruction Get
Put [#] FileNumber As Integer, [position], Variable
FileNumber : expression de type nombre entier qui définit le fichier dans lequel vous souhaitez écrire.
Position : pour les fichiers relatifs (fichiers à accès aléatoire), numéro de l'enregistrement que vous souhaitez écrire.
Pour les fichiers binaires (accès binaire), position de l'octet dans le fichier où vous souhaitez commencer à écrire.
Variable : nom de la variable que vous voulez écrire dans le fichier.
Remarque concernant les fichiers relatifs : si le contenu de cette variable ne correspond pas à la longueur de l'enregistrement qui est spécifiée dans la clause Len de l'instruction Open, l'espace entre la fin du nouvel enregistrement écrit et l'enregistrement suivant est rempli à l'aide des données existantes du fichier dans lequel vous écrivez.
Remarque concernant les fichiers binaires : le contenu des variables est écrit à la position spécifiée et le pointeur de fichier est inséré directement après le dernier octet. Aucun espace n'est laissé entre les enregistrements.
Sub ExampleRandomAccess
Dim iNumber As Integer
Dim sText As Variant REM Doit être un type de variante
Dim aFile As String
aFile = "c:\data.txt"
iNumber = Freefile
Open aFile For Random As #iNumber Len=32
Seek #iNumber,1 REM Position pour démarrer l'écriture
Put #iNumber,, "Ceci est la première ligne de texte" REM Remplissez la ligne de texte
Put #iNumber,, "Ceci est la deuxième ligne de texte"
Put #iNumber,, "Ceci est la troisième ligne de texte"
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,,"Ceci est un nouveau texte"
Get #iNumber,1,sText
Get #iNumber,2,sText
Put #iNumber,20,"Ceci est le texte de l'enregistrement 20"
Print Lof(#iNumber)
Close #iNumber
end sub