Startseite > lang > open 
 en fr es it nl pl pt pt_BR mk sq ca hu cs tr ar fa id vi ko ja ru zh zh_TW eo
Zurück  Weiter  Bearbeiten  Umbenennen  Rückgängig  Neu laden  Suchen  Verwaltung  
Dokumentation
Verlauf
 
Achtung! Diese Seite ist nicht mehr aktuell.  Siehe englische Version 
OPEN
Stream = OPEN File name FOR [ READ | INPUT ] [ WRITE | OUTPUT ] [ CREATE | APPEND ] [ WATCH ]

Öffnet eine Datei, um Daten zu lesen, zu schreiben oder anzuhängen. Wenn CREATE nicht angegeben wird, muss die Datei existieren.

Wenn die Datei erfolgreich geöffnet wurde, wird ein stream-Objekt and die Variable Stream zurückgeliefert.

Per Voreinstellung werden Streams immer gepuffert.

Um einen ungepufferten Stream zu bekommen, muss explizit READ oder WRITE angegeben werden.

Anders als in anderen Basic-Dialekten wird eine bereits bestehende Datei beim Öffnen mit WRITE nicht explizit gelöscht. Beim erneuten Beschreiben können deshalb Reste der alten Dateiversion in der Datei verbleiben. Um dies zu verhindern, sollte immer CREATE mit angegeben werden.

Fehler

NachrichtBeschreibung
Access forbidden (43) Der verlangte Zugriff auf die Datei ist nicht gestattet; für eines der Verzeichnisse im Pfad zu der Datei besteht keine Leseerlaubnis; oder die Datei existiert noch nicht und in das Verzeichnis darf nicht geschrieben werden.
File is a directory (46) File name bezieht sich auf Verzeichnis.
File or directory does not exist (45) File name existiert nicht oder ein Teil der Verzeichnisangabe existiert nicht oder ist ein leerer symbolischer Link.
Out of memory (1) Speicher voll.
Device is full (37) File name wurde angelegt, aber das Gerät, das File name enthält, hat keinen Platz für die neue Datei.
Not a directory (49) Ein Teil der Verzeichnisangabe für File name ist eigentlich gar kein Verzeichnis.
System error... (42) Andere mögliche Systemfehler:
  • Beim Auflösen von File name wurden zu viele symbolische Links entdeckt.
  • Der Prozess hat schon die maximal mögliche Anzahl Dateien geöffnet.
  • Die Systembegrenzung für die Gesamtzahl geöffneter Dateien wurde erreicht.
  • File name bezieht sich auf eine Gerätedatei, und es gibt kein entsprechendes Gerät.
  • Die genannte Datei ist eine Pipe, und kein Prozess hat die Datei zum Lesen geöffnet.
  • File name bezieht sich auf eine Datei in einem Read-Only-Dateisystem, und es wurde Schreibzugriff verlangt.
  • File name bezieht sich auf ein Executable Image, das momentan ausgeführt wird, und es wurde Schreibzugriff verlangt.

Beispiel

' Gibt den Inhalt einer Textdatei auf dem Bildschirm aus

DIM hFile AS File
DIM sLine AS String

hFile = OPEN "/etc/passwd" FOR INPUT

WHILE NOT Eof(hFile)
  LINE INPUT #hFile, sLine
  PRINT sLine
WEND
' Einen seriellen Port überwachen

DIM hFile AS File

hFile = OPEN "/dev/ttyS0" FOR READ WRITE WATCH

...

PUBLIC SUB File_Read()

  DIM iByte AS Byte

  READ #hFile, iByte
  PRINT "Got one byte: "; iByte

END
' Daten aus einer BMP-Datei lesen, wobei bekannt ist, dass diese Little-Endian-Format benutzt:

DIM hFile AS File
DIM iData AS Integer

hFile = OPEN "image.bmp" FOR INPUT
hFile.ByteOrder = gb.LittleEndian
...
READ #hFile, iData

Siehe auch

Stream & Input/Output functions, File & Directory Functions, Stream