Funktionsübersicht
|
«READ(<Kanal>:DIRECT <Datei>)»
|
|
«READ(<Kanal>:DIRECT DIR: <Datei>)»
|
|
«READ(<Kanal>:CLOSE)»
|
|
«READ(<Kanal>:)»
|
|
«READ(<Kanal>:-)»
|
|
«READ(<Kanal>:MEM)»
|
|
«READ(<Kanal>:MEM -<Trennzeichen>)»
|
|
«READ(<Kanal>:MEM <Anzahl
Zeichen>,<Position>)»
|
|
«READ(<Kanal>:SIZE)»
|
|
«READ(<Kanal>:BLOCK <Anzahl Byte>)»
|
|
«READ(<Kanal>:DIRECT "<Ersatzzeichen>"
<Datei>)»
Der optionale Parameter
<Ersatzzeichen> besteht dabei aus zwei Zeichen welche die
F-Script Befehlszeichen ersetzen.
char(174) « wird durch
das erste Zeichen ersetzt.
char(175) » wird durch das
zweite Zeichen ersetzt.
|
|
«READ(<Kanal>:DIRECTANSI <Datei>)»
Hinweis: DIRECTANSI kann überall dort verwendet werden,
wo auch DIRECT verwendet werden kann.
|
|
«READ(<Kanal>:DIRECTANSI DIR <Datei>)»
Hinweis: DIRECTANSI kann überall dort verwendet werden,
wo auch DIRECT verwendet werden kann.
|
|
«READ(<Kanal>:DIRECTUTF8 <Datei>)»
Hinweis: DIRECTUTF8 kann überall dort verwendet werden,
wo auch DIRECT verwendet werden kann.
|
|
«READ(<Kanal>:DIRECTUTF8 DIR <Datei>)»
Hinweis: DIRECTUTF8 kann überall dort verwendet werden,
wo auch DIRECT verwendet werden kann.
|
Allgemein
Die
Operation READ stellt verschiedene Möglichkeiten zur Verfügung, den Inhalt
einer Datei oder eines Verzeichnisses auszulesen. Es ist auch möglich ANSI
Dateien direkt einzulesen und automatisch in das von OpaccERP verwendete
ASCII Format zu konvertieren.
 |
Hinweis
Für das Lesen von
xml-Dateien steht Ihnen der Service Common.XmlQuery
zur Verfügung.
|
Ein Lesevorgang verläuft dabei immer nach
folgendem Muster:
1. Lesekanal auf Datei/Verzeichnis
öffnen
2. nächste Zeile (od. Feld) in Puffer holen
3. Inhalt
des Puffers lesen
[Schritt 2. und 3. beliebig oft
wiederholen]
4. Lesekanal schliessen
Es können max. 4 Dateien
gleichzeitig im Lese- oder Schreibzugriff sein (Kanal
1-4).
Der Inhalt einer Datei wird als ASCII (Codepage 850)
interpretiert. Ein Zeilenende wird durch CR + LF markiert.
 |
Wichtig
In Pfadangaben (READ und WRITE) sind nur ANSI-Zeichen
erlaubt!
|
Anwendungsbeispiele
Arbeiten Sie wo
immer möglich mit relativen Pfaden.
Beispiel 1
Datei ..\tx\test.txt zeilenweise lesen und
ausgeben:
«z~READ(1:DIRECT ..\tx\test.txt)\I»«GOTO(# JUMP-01)»
«REPEAT»
«zREAD(1:)\I»«READ(1:MEM)»«LOOP»
«READ(1:CLOSE)»
# JUMP-01
/
Beispiel 2
Datei ..\tx\test.txt zeilenweise lesen und die ersten 5
semikolon-getrennten Felder ausgeben:
«z~READ(1:DIRECT ..\tx\test.txt)\I»«GOTO(# JUMP-01)»
«REPEAT(1)»
«z~READ(1:)\I»«GOTO(# JUMP-02)»
«NO(NULL)»
«REPEAT(2)»
«READ(1:MEM -;)»
«zNO<5\N»«LOOP(2)»
«LOOP(1)»
# JUMP-02
«READ(1:CLOSE)»
# JUMP-01
/
Beispiel 3
Datei ..\tx\test.csv zeilenweise lesen und es wird bis
Spalte 10 die einzelnen Felder eingelesen. Die Felder sind durch semikolon
getrennt:
# CSV-Datei einlesen
«nNO(1,NULL)»
«z~READ(1:DIRECT ..\tx\test.csv)\I»«GOTO(# END-READ)»
«nREPEAT(1)»
«z~READ(1:)\I»«GOTO(# JUMP-01)»
«nNO(2,NULL)»
«nNO(1)»
«REPEAT(2)»
«nNO(2)»
«READ(1:MEM -;)»
«zNO(2,0)<10\N»«LOOP(2)»
# JUMP-02
«LOOP(1)»
# JUMP-01
«READ(1:CLOSE)»
# END-READ
/
Beispiel 4
Datei ..\tx\test.txt mit komma-getrennten Feldern und
Header-Zeile (CSV-Dateiformat) lesen:
«z~READ(1:DIRECT ..\tx\test.txt)\I»«GOTO(# JUMP-01)»
«REPEAT(1)»
«z~READ(1:)\I»«GOTO(# JUMP-02)»
«REPEAT(2)»
«z~READ(1:-)\I»«GOTO(# JUMP-03)»
«READ(1:MEM)»
«LOOP(2)»
# JUMP-03
«READ(1:MEM)»
«LOOP(1)»
# JUMP-02
«READ(1:CLOSE)»
# JUMP-01
/
Beispiel 5
In
Dateiverzeichnis ..\tx nach Dateien *.txt suchen:
«z~READ(1:DIRECT DIR: ..\tx\*.txt)\I»«GOTO(# JUMP-01)»
«REPEAT»
«zREAD(1:)\I»«READ(1:MEM)»«LOOP»
«READ(1:CLOSE)»
# JUMP-01
/
Beispiel 6
Daten lesen
und direkt in eine X-Variable speichern:
# Puffer auslesen:
«READ(<Kanal>:MEM>XVarName)»
# Puffer auslesen bis zum nächsten Trennzeichen:
«READ(<Kanal>:MEM>XVarName -<Trennzeichen>)»
# Anzahl Zeichen ab Position aus Puffer lesen:
«READ(<Kanal>:MEM>XVarName <Anzahl Zeichen>,<Position>)»
«nz ADR-ACTIVE(2020)\I»
«nm1KUNDEN-BEM(1)\N»
«REPEAT»
«nNO(1)»
«READ(«NO(1,0)»>TextBlock)»
«X(TextBlock)»
«nz NO(1,0)<«MEM(1)\N»\N»«LOOP»
Lesekanal auf Datei öffnen
Funktion
Lesekanal auf Datei öffnen
Parameter
<Kanal>: 1|2|3|4
<Datei>:
[<Laufwerk:>|<Netzwerk-Ressource>][<Pfad>]<Dateiname>|<Device>
Wenn
immer möglich sollte mit relativen Pfaden gearbeitet werden. Mit der
Pfadangabe ..\ stehen Sie, ausgehend vom F-Script, im Verzeichnis
\insyde.
Verwenden Sie UNC Pfade nur dann, wenn auf Ressourcen
zugegriffen werden muss, welche sich auf anderen Maschinen oder
Verzeichnissen ausserhalb von \insyde befinden.
Verzichten Sie auf
Pfadangaben mit Laufwerksbuchstaben!
Rückgabe
N
Konnte der Lesekanal geöffnet werden, wird 1
zurückgegeben.
Bemerkungen
Diese Operation kann nur auf Dateien, nicht aber auf
Verzeichnisse angewendet werden.
Beispiele
Die folgenden Beispiele sollen in erster Linie die Syntax
erläutern.
Beispiel 1
Lesekanal auf
test.txt öffnen (relative Pfadangabe):
Die Datei test.txt
befindet sich dabei im Verzeichnis \insyde\tx\
«READ(1:DIRECT ..\tx\test.txt)»
...
«READ(1:CLOSE)»
/
Beispiel 2
Lesekanal auf
eingang.csv öffnen (relative Pfadangabe):
Die Datei befindet
sich dabe im Verzeichnis \Transfer\Eingang\ welches auf derselben
Verzeichnisebene wie \insyde liegt.
«READ(1:DIRECT ..\..\Transfer\Eingang\eingang.csv)»
...
«READ(1:CLOSE)»
/
Beispiel 3
Lesekanal auf
lokale Datei c:\temp\test.asc öffnen (absolute
Pfadangabe):
«READ(1:DIRECT c:\temp\test.txt)»
...
«READ(1:CLOSE)»
/
Beispiel 4
Lesekanal auf
freigegebene Datei auf Client och-1085 öffnen
(UNC-Pfad):
«READ(1:DIRECT \\och-1085\daten\test.txt)»
...
«READ(1:CLOSE)»
/
Lesekanal auf Verzeichnis öffnen
Form
«READ(<Kanal>:DIRECT DIR: <Datei>)»
Funktion
Lesekanal auf
Verzeichnis öffnen
Parameter
<Kanal>:
1|2|3|4
<Datei>:
[<Laufwerk:>|<Netzwerk-Ressource>][<Pfad>]<Dateiname>|<Device>
Dateinamen
dürfen Wildcards (*,?) enthalten.
Wenn immer möglich sollte mit
relativen Pfaden gearbeitet werden. Mit der Pfadangabe ..\ stehen Sie,
ausgehend vom F-Script, im Verzeichnis \insyde.
Verwenden Sie UNC
Pfade nur dann, wenn auf Ressourcen zugegriffen werden muss, welche sich
auf anderen Maschinen oder Verzeichnissen ausserhalb von \insyde
befinden.
Verzichten Sie auf Pfadangaben mit
Laufwerksbuchstaben!
Rückgabe
N
Konnte der
Lesekanal geöffnet werden, wird 1 zurückgegeben.
Konnte der
Lesekanal nicht geöffnet werden, wird 0 zurückgegeben (= Verzeichnis(se)
oder Datei(en) nicht vorhanden, keine Leseberechtigung, Netzwerk-Ressource
nicht verfügbar o.ä.).
Bemerkungen
Diese Operation
kann sowohl auf Dateien, wie auch auf Verzeichnisse angewendet
werden.
Im Prinzip behandelt die
Operation die Dateiangabe genau gleich wie ein DOS
dir-Befehl.
Beispiele
Die folgenden
Beispiele sollen in erster Linie die Syntax erläutern.
Beispiel 1
Lesekanal auf
Verzeichnis ..\tx öffnen, mit der Absicht, alle Einträge in ..\tx zu lesen
(relative Pfadangabe):
«READ(1:DIRECT DIR: ..\tx)»
...
«READ(1:CLOSE)»
/
Beispiel 2
Lesekanal auf
Verzeichnis ..\tx öffnen mit der Absicht, alle *.asc-Einträge zu
lesen:
«READ(1:DIRECT DIR: ..\tx\*.asc)»
...
«READ(1:CLOSE)»
/
Beispiel 3
Lesekanal auf
ein lokales Verzeichnis c:\temp öffnen mit der Absicht, alle Einträge
test1.asc, test2.asc etc. zu lesen:
«READ(1:DIRECT DIR: c:\temp\test?.asc)»
...
«READ(1:CLOSE)»
/
Beispiel 4
Lesekanal auf
ein freigegebenes Verzeichnis auf Client och-1085 öffnen, mit der Absicht,
alle *.asc- Einträge zu lesen:
«READ(1:DIRECT DIR: \\och-1085\daten\*.asc)»
...
«READ(1:CLOSE)»
/
Form
«READ(<Kanal>:CLOSE)»
Funktion
Lesekanal
schliessen
Parameter
<Kanal>:
1|2|3|4
Bemerkungen
Durch Lese-
oder Schreibvorgänge belegte Kanäle werden durch diese Operation wieder
freigegeben.
 |
Achtung
Bis zum
Verarbeitungsende oder -abbruch nicht geschlosse Lesekanäle werden zwar
automatisch wieder freigegeben, aus Systemsicht bleibt jedoch der
Dateizugriff bestehen.
Das bedeutet, dass so lange keine
Schreibvorgänge mehr auf dieser Datei ausgeführt werden können, bis die
aktuelle OpaccERP-Session beendet wird.
|
Beispiele
Die folgenden
Beispiele sollen in erster Linie die Syntax erläutern.
Beispiel 1
Lesekanal auf
Datei ..\tx\test.txt öffnen und wieder schliessen:
«READ(1:DIRECT DIR: ..\tx\test.txt)»
...
«READ(1:CLOSE)»
/
Beispiel 2
Lesekanal auf
Verzeichnis ..\tx öffnen und wieder schliessen:
«READ(1:DIRECT DIR: ..\tx\*.asc)»
...
«READ(1:CLOSE)»
/
Nächste Zeile in Puffer holen
Funktion
nächste Zeile in
Puffer holen
Parameter
<Kanal>:
1|2|3|4
Rückgabe
N
Konnte die
nächste Zeile eingelesen werden, wird 1 zurückgegeben.
Konnte die
nächste Zeile nicht eingelesen werden, wird 0 zurückgegeben (Dateizeiger
befindet sich am Dateiende oder der angegebene Lesekanal besteht gar
nicht).
Bemerkungen
'Zeilen' ohne
CR+LF werden bis zum Dateiende gelesen.
Der Inhalt des Puffers
kann mit
«READ(<Kanal>:MEM)»
«READ(<Kanal>:MEM
<Anzahl Zeichen>,<Position>)»
oder
«READ(<Kanal>:MEM -<Trennzeichen>)»
gelesen
werden.
Diese Operation kann sowohl im Zusammenhang
mit
«READ(<Kanal>:DIRECT <Datei>)»
als auch
mit
«READ(<Kanal>:DIRECT DIR: <Datei>)»
verwendet
werden.
Beispiele
Die folgenden
Beispiele sollen in erster Linie die Syntax erläutern.
Beispiel 1
3. Zeile von
..\tx\test.txt lesen:
«READ(1:DIRECT ..\tx\test.txt)»
«READ(1:)»
«READ(1:)»
«READ(1:)»
«READ(1:MEM)»
«READ(1:CLOSE)»
/
Beispiel 2
1. Datei
*.txt im Verzeichnis ..\tx lesen:
«READ(1:DIRECT DIR: ..\tx)»
«READ(1:)»
«READ(1:MEM)»
«READ(1:CLOSE)»
/
Funktion
Nächstes Feld auf
der aktuellen Zeile in Puffer holen (CSV-Dateiformat)
Parameter
<Kanal>:
1|2|3|4
Rückgabe
N
Konnte das
nächste Feld auf der aktuellen Zeile eingelesen werden, wird 1
zurückgegeben.
Konnte das nächste Feld auf der aktuellen Zeile nicht
eingelesen werden, wird 0 zurückgegeben (kein nächstes Feld auf der
aktuellen Zeile vorhanden oder der angegebene Lesekanal besteht gar
nicht).
Bemerkungen
CSV-Dateiformat
(Zeilen enthalten Trennzeichen welche die einzelnen "Felder" separieren.
Die Struktur jeder Zeile muss dabei
übereinstimmen.)
-
Trennzeichen (Feldtrenner) ist
Komma.
Kommas und doppelte Anführungszeichen werden nicht
interpretiert, wenn ein Feld in einfachen Anführungszeichen steht ('Van,
"The Man", Morrison').
Kommas und einfache Anführungszeichen werden
nicht interpretiert, wenn ein Feld in doppelten Anführungszeichen steht
("Van, 'The Man', Morrison").
Wird das letzte Feld auf einer Zeile
nicht mit Komma abgeschlossen, gibt die Operation zwar 0 zurück, liest das
Feld aber trotzdem in den Puffer.
Der Inhalt des Puffers kann
mit
«READ(<Kanal>:MEM)»
«READ(<Kanal>:MEM
<Anzahl Zeichen>,<Position>)»
oder
«READ(<Kanal>:MEM -<Trennzeichen>)»
gelesen
werden.
Diese Operation kann (theoretisch) sowohl im
Zusammenhang mit
«READ(<Kanal>:DIRECT
<Datei>)»
als auch mit
«READ(<Kanal>:DIRECT DIR:
<Datei>)»
verwendet werden.
Beispiele
Die folgenden
Beispiele sollen in erster Linie die Syntax erläutern.
Beispiel 1
1. Zeile
überlesen (!) (Header-Informationen), 3. Feld lesen auf Zeile 2, 3. Feld
lesen auf Zeile 3:
«READ(1:DIRECT ..\tx\test.txt)»
«READ(1:)»
«READ(1:-)»
«READ(1:-)»
«READ(1:-)»
«READ(1:MEM)»
«READ(1:)»
«READ(1:-)»
«READ(1:-)»
«READ(1:-)»
«READ(1:MEM)»
«READ(1:CLOSE)»
/
Parameter
<Kanal>:
1|2|3|4
Rückgabe
A
Es wird
der Inhalt des Puffers zurückgegeben.
Bemerkungen
Der Puffer wird
mit
«READ(<Kanal>:)» oder
mit
«READ(<Kanal>:-)»
eingelesen.
Diese
Operation kann sowohl im Zusammenhang mit
«READ(<Kanal>:DIRECT
<Datei>)»
als auch mit
«READ(<Kanal>:DIRECT DIR:
<Datei>)»
verwendet werden.
Beispiele
Die folgenden
Beispiele sollen in erster Linie die Syntax erläutern.
Beispiel 1
2. Zeile von
..\tx\test.txt einlesen und ausgeben:
«READ(1:DIRECT ..\tx\test.txt)»
«READ(1:)»
«READ(1:)»
«READ(1:MEM)»
«READ(1:CLOSE)»
/
Beispiel 2
Die ersten
beiden *.asc-Einträge im Verzeichnis ..\tx einlesen und
ausgeben:
«READ(1:DIRECT ..\tx\*.asc)»
«READ(1:)»
«READ(1:MEM)»
«READ(1:)»
«READ(1:MEM)»
«READ(1:CLOSE)»
/
Puffer lesen bis zum nächsten Trennzeichen
Form
«READ(<Kanal>:MEM -<Trennzeichen>)»
Funktion
Puffer lesen bis
zum nächsten Trennzeichen
Parameter
<Kanal>:
1|2|3|4
Rückgabe
A
Es wird
der Inhalt des Puffers bis zum nächsten Trennzeichen
zurückgegeben.
Bemerkungen
Die
eingelesenen Zeichen werden im Puffer gelöscht, d.h. sie sind auch
mit
«READ(<Kanal>:MEM)»
nicht mehr
zugänglich.
Wird das letzte Feld auf einer Zeile nicht mit einem
Trennzeichen abgeschlossen, wird einfach der Rest des Puffers
ausgegeben.
Der Puffer wird mit
«READ(<Kanal>:)» oder
mit
«READ(<Kanal>:-)»
eingelesen.
Diese Operation
kann sowohl im Zusammenhang mit
«READ(<Kanal>:DIRECT
<Datei>)»
als auch mit
«READ(<Kanal>:DIRECT DIR:
<Datei>)»
verwendet werden.
Beispiele
Die folgenden
Beispiele sollen in erster Linie die Syntax erläutern.
Beispiel 1
Auf Zeile 2
und 3 jeweils die ersten beiden Felder lesen:
«READ(1:DIRECT ..\tx\test.txt)»
«READ(1:)»
«READ(1:)»
«READ(1:MEM -;)»
«READ(1:MEM -;)»
«READ(1:)»
«READ(1:MEM -;)»
«READ(1:MEM -;)»
«READ(1:CLOSE)»
/
Anzahl Zeichen ab Position aus Puffer lesen
Form
«READ(<Kanal>:MEM <Anzahl Zeichen>,<Position>)»
Funktion
Anzahl Zeichen ab
Position aus Puffer lesen
Parameter
<Kanal>:
1|2|3|4
Rückgabe
A
Es wird
der Inhalt des Puffers, Anzahl Zeichen ab Position,
zurückgegeben.
Bemerkungen
Der Puffer wird
mit
«READ(<Kanal>:)»
oder
mit
«READ(<Kanal>:-)»
eingelesen.
Diese Operation
kann sowohl im Zusammenhang mit
«READ(<Kanal>:DIRECT
<Datei>)»
als auch mit
«READ(<Kanal>:DIRECT DIR:
<Datei>)»
verwendet werden.
Beispiele
Die folgenden
Beispiele sollen in erster Linie die Syntax erläutern.
Beispiel 1
Auf Zeile 2
die ersten 4 Stellen und Stellen 8-11 lesen, auf Zeile 3 6 Stellen ab
Stelle 20 lesen:
«READ(1:DIRECT ..\tx\test.txt)»
«READ(1:)»
«READ(1:)»
«READ(1:MEM 4,1)»
«READ(1:MEM 4,8)»
«READ(1:)»
«READ(1:MEM 6,300)»
«READ(1:CLOSE)»
/
Dateigrösse in Bytes ermitteln
Form
«READ(<Kanal>:SIZE)»
Funktion
Dateigrösse in
Bytes ermitteln
Parameter
<Kanal>:
1|2|3|4
Bemerkungen
Diese Operation
kann nur im Zusammenhang mit
«READ(<Kanal>:DIRECT
<Datei>)»
nicht aber mit
«READ(<Kanal>:DIRECT DIR:
<Datei>)»
verwendet werden
Beispiele
Die folgenden
Beispiele sollen in erster Linie die Syntax erläutern.
Beispiel 1
Dateigrösse
von ..\tx\test.txt ermitteln:
«READ(1:DIRECT ..\tx\test.txt)»
«READ(1:SIZE)»
«READ(1:CLOSE)»
/
Ein Teil des Textinhaltes über eine Anzahl Bytes
einlesen
Form
«READ(<Kanal>:BLOCK <Anzahl Byte>)»
Funktion
Ein Teil des
Textinhaltes über eine Anzahl Bytes einlesen.
Parameter
<Kanal>:BLOCK <Anzahl Byte>
Rückgabe
N
Konnte der
Lesekanal geöffnet werden, wird 1 zurückgegeben.
Bemerkungen
Mit dieser
Operation kann eine genaue Anzahl von Bytes aus einem File ausgelesen
werden.
Beispiele
«READ(1:DIRECT ..\tx\test.txt)»
«READ(1:BLOCK 650)»
«READ(1:CLOSE)»
# Aus dem File test.txt werden die ersten 650 Bytes ausgelesen.
F-Script Befehlszeichen ersetzen
Form
«READ(<Kanal>:DIRECT "<Ersatzzeichen>" <Datei>)»
Funktion
F-Script
Befehlszeichen ersetzen.
Parameter
<Kanal>:DIRECT "<Ersatzzeichen>"
<Datei>
Rückgabe
N
Konnte der
Lesekanal geöffnet werden, wird 1 zurückgegeben.
Bemerkungen
«READ(<Kanal>:DIRECT "<Ersatzzeichen>"
<Datei>)»
Der optionale Parameter <Ersatzzeichen>
besteht dabei aus zwei Zeichen welche die F-Script Befehlszeichen
ersetzen.
char(174) « wird durch das erste Zeichen
ersetzt.
char(175) » wird durch das zweite Zeichen
ersetzt.
Beispiele
«READ(1:DIRECT "!+" ..\tx\input.txt)»
« wird durch ! ersetzt.
» wird durch + ersetzt.
Hinweis
Soll
festgestellt werden ob F-Script Befehlszeichen im Buffer vorhanden sind
oder durch obige Funktionalität ersetzt wurden, kann dies folgendermassen
gemacht werden:
«READ(<Kanal>:MEM ?)» - Rückgabe: 0/1
0
= Keine F-Script Befehlszeichen vorhanden oder ersetzt.
1 = F-Script
Befehlszeichen vorhanden oder ersetzt.
ANSI / UTF8 -codierte Dateien direkt einlesen
Form
«READ(<Kanal>:DIRECTANSI <Datei>)»
«READ(<Kanal>:DIRECTUTF8 <Datei>)»
Funktion
ANSI / UTF8
Dateien direkt einleisen.
Überall dort wo der DIRECT-Parameter beim
READ-Befehl verwendet wird, steht auch der Parameter DIRECTANSI bzw
DIRECTUTF8 zur Verfügung.
Parameter
<Kanal>:DIRECTANSI <Datei>
Rückgabe
N
Konnte der
Lesekanal geöffnet werden, wird 1 zurückgegeben.
Bemerkungen
«READ(<Kanal>:DIRECTANSI <Datei>)»
Beispiele
Einzulesender
Datensatz:
Hans Müller
Ohne Konvertierung: «READ(1:DIRECT ..\TX\ANSI.txt)»
Mit Konvertierung: «READ(1:DIRECTANSI ..\tx\ANSI.txt)»
Ergebnis:
Ohne
Konvertierung: Hans Mõller
Mit Konvertierung: Hans
Müller
ANSI / UTF8: Lesekanal auf Verzeichnisse öffnen
Form
«READ(<Kanal>:DIRECTANSI DIR <Datei>)»
«READ(<Kanal>:DIRECTUTF8 DIR <Datei>)»
Funktion
ANSI / UTF8:
Lesekanal auf Verzeichnisse öffnen.
Überall dort wo der
DIRECT-Parameter beim READ-Befehl verwendet wird, steht auch der Parameter
DIRECTANSI bzw. DIRECTUTF8 zur Verfügung.
Parameter
<Kanal>:DIRECTANSI DIR
1|2|3|4
<Kanal>:DIRECTANSI DIR
<Datei>:[<Laufwerk:>|<Netzwerk-Ressourcen>][<Pfad>][<Dateiname>|<Device>]
Rückgabe
N
Konnte der
Lesekanal geöffnet werden, wird 1 zurückgegeben.
Bemerkungen
«READ(<Kanal>:DIRECTANSI
DIR <Datei>)»
Beispiele
«READ(1:DIRECTANSI DIR ..\tx\*.txt)»
Einzulesende
Dateien:
müller.txt
ärmel.txt
kübel.txt