!!!Working with files (translation pending)

Arbeiten mit Dateien. Um in BASIC Dateien zu lesen oder schreiben, benutzen wir den Befehl OPEN. Beispiel, Oeffnen einer Datei zum Lesen und Einlesen des ersten Satzes: 

{{{
DIM A$(100)
OPEN #1,4,0,"D:DATEI.TXT"
INPUT #1,A$
close #1
}}}

In BASIC geben wir mit dem zweiten Wert im OPEN Befehl an, ob die Datei zum Lesen (4) oder Schreiben (8) oder zum Lesen/Schreiben (12) geoeffnet wird. In Forth haben wir hierzu extra Woerter:

* R/O = Read Only 
* W/O = Write Only
* R/W = Read Write

{{{
VARIABLE filechannel
CREATE BUFFER 200 ALLOT

S" D:DATEI.TXT" R/O OPEN-FILE  
   ABORT" Datei konnte nicht geoeffent werden"
filechannel !
BUFFER filechannel @ READ-LINE 
  ABORT" Datei konnte nicht gelesen werden"
filechannel @ CLOSE-FILE
  ABORT" Datei konnte nicht geschlossen werden"
}}}

Bei OPEN-FILE koennen wir nicht angeben, welcher Dateikanal benutzt wird. Forth sucht den naechst freien. Diesen speichern wir in der Variable "filechannel". 

FILE-OPEN liefert ein Flag zurueck, welches angibt ob die DAtei geoeffnet werden konnte. ABORT" fragt ein Flag ab und wenn ein Fehler aufgetreten ist, wird der Text hinter ABORT" ausgegeben.