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 - 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 Parameterfilename
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 Datensatz0
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 Datensatz0
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.