Module
Inhalte
Index 🔎︎

# Anweisung Put

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

Vergleichen Sie auch: Get-Anweisung

## 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