Referenz - WRITE (Datei)
Syntax: WRITE #f, Printausdruck
Typ: Anweisung
Kategorie: Dateien
WRITE # funktioniert wie WRITE (Anweisung), leitet aber die Ausgabe in eine zuvor mit OPEN geöffnete Datei um; die Datei muss in einem sequentiellen Ausgabemodus (OUTPUT, APPEND) oder im Modus BINARY geöffnet sein. Der Vorteil gegenüber PRINT # ist, dass durch die spezielle Formatierung mehrere Datensätze pro Zeile geschrieben werden können; einen Datensatz kann man per INPUT # wieder auslesen. Der einsetzbare Zeichensatz ist bei WRITE # jedoch eingeschränkt, zumindest, wenn die Datei im Anschluss wieder mit INPUT # gelesen werden soll; "Anführungszeichen" dürfen nicht verwendet werden.
Beispiel 1:
DIM Tmp AS STRING, nr AS INTEGER
nr = FREEFIlE
OPEN "Adressen.txt" FOR APPEND AS #nr
WRITE #nr, "Karl Mustermann", "12345", "Oberhausen", "Rottstraße 2"
WRITE #nr, "Eva Mustermann", "12345", "Oberhausen", "Rottstraße 2"
WRITE #nr, "Andrea Müller", "12346", "Unterhausen", "Wendeweg 17"
CLOSE #nr
OPEN "Adressen.txt" FOR INPUT AS #nr
DO
FOR Satz As Integer = 1 TO 4
INPUT #nr, tmp
PRINT tmp; " ";
NEXT
PRINT
LOOP UNTIL EOF(nr)
SLEEP
So wie sich die Datensätze in einer Zeile schreiben lassen, können sie auch mit einer Zeile wieder eingelesen werden. Dazu dient die Anweisung LINE INPUT #
Beispiel 2: Einlesen mit LINE INPUT #
Dim AS STRING tmp, dateiname="Adressen.txt"
Dim As Integer nr = FREEFILE
OPEN dateiname FOR Output AS #nr
WRITE #nr, "Karl Mustermann", "12345", "Oberhausen", "Rottstraße 2"
WRITE #nr, "Eva Mustermann", "12345", "Oberhausen", "Rottstraße 2"
WRITE #nr, "Andrea Müller", "12346", "Unterhausen", "Wendeweg 17"
CLOSE #nr
OPEN dateiname FOR INPUT AS #nr
DO
Line Input #nr, tmp
PRINT tmp
LOOP UNTIL EOF(nr)
Sleep
Bei dieser Variante müssen die einzelnen Strings bei Bedarf anhand der Trennzeichen wieder aufgeteilt werden.
Siehe auch:
OPEN (Anweisung), PRINT #, INPUT #, LINE INPUT #, ACCESS, Dateien (Files)
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|