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.