BASIC nach Forth - 17. Oktober 2006
von cas » Mi 18. Okt 2006, 06:25Arbeiten 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:
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
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.
- Code: Alles auswählen
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
- Code: Alles auswählen
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.