Dateibefehle

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.

FILTER: TEXT

Liest und schreibt Datensätze in Textdateien, jede Textzeile ist ein Datensatz, die Datenfelder werden durch spezielle Separatoren getrennt (Voreinstellung='\t' Tabulator).

OPEN

channel = OPEN("TEXT", filename, "MODE=RO|WA|WO [, SEPARATOR='char'] [, extra]")

filename: Dateiname
MODE: Dateimodus

  • RO: Read Only - Lesemodus
  • WA: Write After - Schreibmodus, hängt neuen Daten an eine existierende Datei an oder erstellt eine neue Datei
  • WO: 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 übernommen

INPUT

result = INPUT(channel, recordID, fieldID, var_1, var_2, ..., var_n

result: Anzahl der gelesenen Datenfelder
channel: Kanalnummer (siehe OPEN)
recordID: Datensatznummer, 1 = erster Datensatz.
fieldID:

  • 1 erstellt oder modifiziert einen Datensatz
  • 0 löscht einen existierenden Datensatz

var_i: Zielvariablen für die eingelesenen Daten

OUTPUT

OUTPUT channel, recordID, fieldID, expr_1, expr_2, ..., expr_n

channel: Kanalnummer (siehe OPEN)
recordID: Datensatznummer, 1 = erster Datensatz.
fieldID:

  • 1 erstellt oder modifiziert einen Datensatz
  • 0 löscht einen existierenden Datensatz

expr_i: zu schreibender Datensatz, Ausdrücke werden durch SEPARATOR getrennt.

FILTER: FILEMAN

Dient zum Einlesen von Dateiverzeichnissen.

OPEN

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.

INPUT

result = INPUT(channel, 0, 0, var_1, var_2, ..., var_n

result: 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 = 1
DO
  result = INPUT(folder, 0, 0, folders[index])
  index = index + result
WHILE result > 0
folder_count = index - 1

CLOSE folder

FILTER: XML

Dient zum Lesen und Schreiben von XML Dateien.