Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [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 - OPEN (Anweisung)

Referenz-Navigation

 

Syntax:

OPEN Datei FOR Dateimodus [ACCESS Zugriffsart] [LOCK Sperrart] _
     [ENCODING "Format"] AS [#]Dateinummer [LEN = Recordlänge]


Typ: Anweisung
Kategorie: Dateien

Anmerkung zur Syntax: Unterstriche (_) am Zeilenende werden von FreeBASIC so interpretiert, als wäre die Zeile nicht unterbrochen; dies dient nur der besseren Übersichtlichkeit und hat letzt­end­lich keine Auswirkungen auf die Programmausführung.

OPEN bereitet eine Datei auf einen Lese- und/oder Schreibzugriff vor und weist der Datei eine Dateinummer zu. OPEN kann auch zum Zugriff auf verschiedene Geräte verwendet werden; siehe die OPEN-Varianten am Ende dieses Eintrags.

Achtung: LOCK arbeitet zur Zeit noch nicht wie vorgesehen. Siehe dazu auch den Externer Link!Diskussionsbeitrag im englischen Forum.

OPEN kann auch als BefehlsreferenzeintragFunktion eingesetzt werden. In diesem Fall müssen die übergebenen Parameter von Klammern umschlossen werden. Der Rückgabewert ist ggf. eine BefehlsreferenzeintragFehlernummer. Wird 0 zurückgeliefert, konnte die Datei geöffnet werden.

Achtung: ENCODING kann zusammen mit UTF-codierten Dateien nur dann erfolgreich eingesetzt werden, wenn das Externer Link!Byte Order Mark (BOM) gesetzt ist und mit der angegebenen Codierung übereinstimmt. Ansonsten wird der BefehlsreferenzeintragLaufzeitfehler 2 (File not found) zurückgegeben.

Beispiel 1:
Öffnen der UTF-8-Datei "file.ext" im aktuellen Arbeitsverzeichnis und Ausgabe ihrer ersten Zeile auf dem Bildschirm

Dim Zeile As String, DNr As Integer = FREEFILE
OPEN "file.ext" FOR INPUT ENCODING "UTF-8" AS #DNr
  LINE INPUT #DNr, Zeile
  PRINT Zeile
CLOSE #DNr
SLEEP



Beispiel 2:
Dasselbe Beispiel wie oben, mit Einsatz von OPEN als Funktion:

Dim Zeile As String, DNr As Integer = FREEFILE
IF OPEN("file.ext" FOR INPUT ENCODING "UTF-8" AS #DNr) = 0 THEN
  LINE INPUT #DNr, Zeile
  PRINT Zeile
  CLOSE #DNr
END IF
SLEEP

Zugriff auf Geräte
Neben Dateien lassen sich auch 'Geräte' öffnen. Geräte sind entweder von FreeBASIC verwaltete Speicherbereiche, in denen verschiedene, interne Informationen gespeichert werden, oder externe Anschlüsse wie die COM-Ports oder der LTP-Druckerport. Um mit OPEN ein Gerät zu öffnen, wird einfach einer dieser Bezeichner bei 'Gerät' angegeben.
Beispiel LPT: Dieses Gerät ermöglicht die Kommunikation mit dem LPT-Port und dadurch mit dem Drucker.
Weitere Informationen zum Thema finden sich bei den Spezialseiten zum Thema:

Unterschiede zu QB:

Plattformbedingte Unterschiede:

Unterschiede zu früheren Versionen von FreeBASIC:
Der Zugriff auf Geräte mittels OPEN COM usw. (s. o.) existiert seit FreeBASIC v0.15

Unterschiede unter den FB-Dialektformen:
Die Dialektform Befehlsreferenzeintrag-lang qb unterstützt auch die alte GW-BASIC-Syntax

OPEN Dateimodus, [#]Dateinummer, Dateiname [, Länge]

mit dem Dateimodus "I" für Input, "O" für Output, "A" für Append, "R" für Random und "B" für Binary.

Siehe auch:
BefehlsreferenzeintragOPEN (Funktion), BefehlsreferenzeintragENCODING, BefehlsreferenzeintragFREEFILE, BefehlsreferenzeintragLPRINT (Anweisung), BefehlsreferenzeintragDateien (Files)


Zusätzliche Informationen und Funktionen
  • Der Referenzeintrag wurde am 22.07.2007 von Redakteurytwinky angelegt.
  • Die aktuellste Version wurde am 27.12.2012 von Redakteurnemored gespeichert.
  Versionen Versionen