Anweisung Put#
Schreibt einen Datensatz in eine relative Datei oder eine Folge von Bytes in eine binäre Datei.
Verwenden Sie die Anweisung Print#, um Daten in eine sequentielle Textdatei zu schreiben. Verwenden Sie die Anweisung Write#, um Daten mit Trennzeichen in eine sequentielle Textdatei zu schreiben.

Put [#]fileNum, [recordNum|filePos], variable
fileNum: Ein ganzzahliger Ausdruck, der die Datei definiert, in die Sie schreiben möchten.
recordNum, filePos: Bei relativen Dateien (Random Access-Dateien) die Nummer des Datensatzes, den Sie schreiben möchten.
Bei Binärdateien (Binärzugriff) ist Position die Byteposition für den Schreibbeginn in der Datei.
variable: Name der Variablen, die Sie in die Datei schreiben möchten.
Hinweis für relative Dateien: Stimmt der Inhalt dieser Variablen nicht mit der im Teil Len der Anweisung Open angegebenen Satzlänge überein, so wird der überschüssige Speicherplatz zwischen dem Ende des neu geschriebenen Datensatzes und dem nächsten Datensatz mit vorhandenen Daten aus der Ausgabedatei aufgefüllt.
Hinweis für Binärdateien: Der Inhalt der Variablen wird an die angegebene Position geschrieben und der Dateizeiger direkt hinter das letzte Byte gesetzt. Zwischen den Datensätzen wird kein Platz gelassen.
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, , "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