Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Referenz - WRITE (Datei)

Referenz-Navigation

 

Syntax: WRITE #f, Printausdruck
Typ: Anweisung
Kategorie: Dateien

WRITE # funktioniert wie BefehlsreferenzeintragWRITE (Anweisung), leitet aber die Ausgabe in eine zuvor mit BefehlsreferenzeintragOPEN geöffnete Datei um; die Datei muss in einem sequentiellen Ausgabemodus (BefehlsreferenzeintragOUTPUT, BefehlsreferenzeintragAPPEND) oder im Modus BefehlsreferenzeintragBINARY geöffnet sein. Der Vorteil gegenüber BefehlsreferenzeintragPRINT # ist, dass durch die spezielle Formatierung mehrere Datensätze pro Zeile geschrieben werden können; einen Datensatz kann man per BefehlsreferenzeintragINPUT # 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 BefehlsreferenzeintragLINE 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:
BefehlsreferenzeintragOPEN (Anweisung), BefehlsreferenzeintragPRINT #, BefehlsreferenzeintragINPUT #, BefehlsreferenzeintragLINE INPUT #, BefehlsreferenzeintragACCESS, BefehlsreferenzeintragDateien (Files)


Zusätzliche Informationen und Funktionen
  • Der Referenzeintrag wurde am 26.06.2007 von AdministratorSebastian angelegt.
  • Die aktuellste Version wurde am 28.12.2012 von Redakteurnemored gespeichert.
  Versionen Versionen