Mit OPEN() wird eine existierende Datei geöffnet oder eine neue Datei erzeugt. Der Befehl liefert eine positive Dateinummer (channel) zurück, diese Dateinummer identifiziert die Datei in den restlichen Dateibefehlen. Eine geöffnete Datei muss wieder geschlossen werden.
channel = OPEN(filter, filename, parameter_string)CLOSE channel schließt die zuvor geöffnete Datei wieder.
Mit INPUT() und OUTPUT() liest/schreibt man Daten aus/in eine/r geöffnete/n Datei.
Liest und schreibt Datensätze in Textdateien, jede Textzeile ist ein Datensatz, die Datenfelder werden durch spezielle Separatoren getrennt (Voreinstellung='\t' Tabulator).
channel = OPEN("TEXT", filename, "MODE=RO|WA|WO [, SEPARATOR='char'] [, extra]")filename: Dateiname
MODE: Dateimodus
RO: Read Only - LesemodusWA: Write After - Schreibmodus, hängt neuen Daten an eine existierende Datei an oder erstellt eine neue DateiWO: Write Only - Schreibmodus, erstellt eine neue Datei bzw. überschreibt eine existierende Datei.SEPARATOR: Trennzeichen der Datenfelder, Voreinstellung='\t' (Tabulator)
extra: Zusatzparameter
FULLPATH: Der Parameter filename ist eine absoluter Dateipfad inkl. Laufwerksbuchstaben z.B. "C:\Daten\test.txt"DIALOG: Öffnet einen Dateiauswahldialog, filename wird als Voreinstellung übernommenresult = INPUT(channel, recordID, fieldID, var_1, var_2, ..., var_nresult: Anzahl der gelesenen Datenfelder
channel: Kanalnummer (siehe OPEN)
recordID: Datensatznummer, 1 = erster Datensatz.
fieldID:1 erstellt oder modifiziert einen Datensatz0 löscht einen existierenden Datensatzvar_i: Zielvariablen für die eingelesenen Daten
OUTPUT channel, recordID, fieldID, expr_1, expr_2, ..., expr_nchannel: Kanalnummer (siehe OPEN)
recordID: Datensatznummer, 1 = erster Datensatz.
fieldID:1 erstellt oder modifiziert einen Datensatz0 löscht einen existierenden Datensatzexpr_i: zu schreibender Datensatz, Ausdrücke werden durch SEPARATOR getrennt.
Dient zum Einlesen von Dateiverzeichnissen.
channel = OPEN("FILEMAN", foldername, "FOLDERS|FILES [, DIALOG]")foldername: Dateiverzeichnis als Absolutpfad
FOLDERS: es werden nur Verzeichnisse eingelesen
FILES: es werden nur Dateien eingelesen
DIALOG: öffnet einen Dateiauswahldialog um das einzulesende Verzeichnis auszuwählen.
result = INPUT(channel, 0, 0, var_1, var_2, ..., var_nresult: Anzahl der gelesenen Dateieinträge
channel: Kanalnummer (siehe OPEN)
var_i: Zielvariablen für die Dateinamen
Diese Beispiel liest alle im Verzeichnis "C:\Daten\Allplan\Std\SmartParts" enthaltenen Unterverzeichnisse in das Feld folders[] ein.
DIM folders[]folder = OPEN("FILEMAN", "C:\Daten\Allplan\Std\SmartParts", "FOLDERS")index = 1DO result = INPUT(folder, 0, 0, folders[index]) index = index + resultWHILE result > 0folder_count = index - 1CLOSE folderDient zum Lesen und Schreiben von XML Dateien.