f_open

Top  Previous  Next

 

Dieser Befehl öffnet eine Datei zur weiteren Bearbeitung in Moskito und liefert ein Dateihandle zurück. Die Datei wird dann auf Betriebssystemebene als von Moskito in Bearbeitung erkannt und – je nach modus - für bestimmte externe Zugriffe gesperrt. Nach der Bearbeitung in Moskito (z.B. Hinzufügen von Texten mit f_write, o. ä.) muß die Datei wieder mit f_close geschlossen werden. Da f_close auch das eindeutige Dateihandle benötigt, das beim Öffnen vergeben wurde, muß das Handle nach dem Öffnen zumeist in einer Variablen gespeichert werden.

Parameter

<filename>

Dateiname mit vollständiger Pfadangabe.

mode

Art, wie die Datei geöffnet werden soll:

r steht für lesend (Die geöffnete Datei kann nicht verändert werden),

w steht für schreibend (evt. schon vorhandener Inhalt der Datei wird gelöscht),

a steht für anhängend (evt. schon vorhandener Inhalt wird erhalten, neue Daten werden hinten angehängt),

r+ steht für schreiben, ohne vorher zu löschen (Es wird am Anfang der Datei mit dem Schreiben begonnen, evt. vorhandener Inhalt wird überschieben).

Rückgabewert

Wert

Beschreibung

0

Fehler aufgetreten.

sonst

Dateihandle.

 

Syntax

f_open <filename> {<mode>}

Beispiel

Im folgenden Beispiel werden einige Anwendungen von f_open in einem Block vorgeführt.

Begin

Declare Datei

Value Datei f_open(c:\karl.txt w)

Es wird mit Begin ein neuer Block eröffnet, in dem die Variable Datei deklariert wird. In der dritten Zeile wird eine Datei mit dem Namen karl.txt unter C: neu erstellt und zum schreiben geöffnet. Der Dateihandle wird der Variablen Datei zugewiesen. Zu diesem Zeitpunkt ist die Datei karl.txt leer und kann auf Betriebssystemebene nicht gelöscht werden, da sie so lange von Moskito in Gebrauch ist, bis sie mit f_close wieder geschlossen wird oder Moskito beendet wird.

f_write Value(Datei) erste Zeile\nzweite Zeile\ndritte Zeile\nvierte Zeile

Die Datei wird mit Inhalt gefüllt. Mit \n werden Returns (=neue Zeile) gesetzt. Nach Eingabe dieses Befehls ist die Datei karl.txt auf Betriebssystemebene immer noch leer.

f_close Value(Datei)

Erst jetzt ist die Datei karl.txt auch vom Betriebssystem aus mit Inhalt zu lesen und auch wieder zu löschen.

 

image5_86

Jetzt soll noch eine fünfte Zeile in die Datei geschrieben werden:

Value Datei f_open(c:\karl.txt a)

f_write Value(Datei) \nfünfte Zeile

f_close Value(Datei)

Der neue Inhalt wird an den alten angehängt:

image5_87

Jetzt soll der alte Text von vorne überschrieben werden:

Value Datei f_open(c:\karl.txt r+)

f_write Value(Datei) jetzt fangen wir mal \nwieder von vorne an\n

f_close Value(Datei)

End

Die alte Zeilenstruktur mit den passenden Umbrüchen wurde zerstört, da beim Überschreiben Zeichen für Zeichen ersetzt wurde:

image5_88

Bemerkung

Siehe auch

f_close

f_write

Value