Inhalte
Index 🔎︎

# Put# Statement

Schreibt einen Datensatz in eine relative Datei oder eine Folge von Bytes in eine binäre Datei.

Use Print# statement to print data to a sequential text file. Use Write# statement to write data to a sequential text file with delimiting characters.

### Syntax:

    Put [#]fileNum, [recordNum|filePos], variable

### Parameter:

fileNum: Any integer expression that defines the file that you want to write to.

recordNum, filePos: For relative files (random access files), the number of the record that you want to write.

Bei Binärdateien (Binärzugriff) ist Position die Byteposition für den Schreibbeginn in der Datei.

variable: Name of the variable that you want to write to the file.

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.

### Beispiel:

    Sub ExampleRandomAccess
        Dim iNumber As Integer
        Dim sText As Variant ' Muss variant sein
        Dim aFile As String
        aFile = "c:\data.txt"
        iNumber = Freefile
        Open aFile For Random As #iNumber Len=32
        Seek #iNumber,1 ' Auf Anfang positionieren
        Put #iNumber,, "Das ist die erste Zeile Text" ' Füllt die Zeile mit Text
        Put #iNumber,, "Das ist die 2.Zeile Text"
        Put #iNumber,, "Das ist die 3.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,,"Das ist ein neuer Text"
        Get #iNumber,1,sText
        Get #iNumber,2,sText
        Put #iNumber,20,"Das ist Text in Datensatz 20"
        Print Lof(#iNumber)
        Close #iNumber
    End Sub

Verwandte Themen

Close Statement

Get Statement

Open Statement