Inhalte
Index 🔎︎

# Anweisung Put

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

Vergleichen Sie auch: Anweisung Get

## Syntax:

    Put [#] Dateinummer As Integer, [Position], Variable

## Parameter:

Dateinummer: Ein beliebiger Integerausdruck, der die zu schreibende Datei definiert.

Position: Bei relativen Dateien (Dateien mit wahlfreiem Zugriff) die Nummer des zu schreibenden Datensatzes.

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

Variable: Name der Variablen, deren Inhalt 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.

## 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 ' Schreibposition auf Anfang setzen
        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