22. Modul TXTIN - Textdateien lesen

22.1. Allgemeines

Mit dem Modul TXTIN können Textdateien zeilenweise gelesen werden. Es kann verlangt werden, dass eine Textzeile in einzelne Felder unterteilt wird.

TXTIN wird mit:

|INCL \script\txtin.mod

in einer ICS RUN1-Konfiguration verfügbar gemacht.

22.2. Abhängigkeiten von anderen Modulen

Keine Abhängigkeiten vorhanden.

22.3. Parametermap TXTIN_PARAM

Folgende Parameter können in der Map TXTIN_PARAM gesetzt werden:

Parameterreq/optBeschreibung
STATISTICSrON oder OFF. Objektstatistik am Ende der .log Datei ausgeben.
DEBUGrON oder OFF. Debugmodus ein- oder ausschalten (Default = OFF).
FIRST_LINEoATTRIBUTE_NAMES oder OFF, Default=OFF. Falls die erste Zeile der Textdatei die Feldnamen enthält, kann man mit ATTRIBUTE_NAMES verlangen, dass diese entsprechend interpretiert wird.
SEPARATORo<CHAR>, Default=''. Separatorzeichen zwischen den einzelnen Feldern der Textzeile. Der Wert kann als Buchstaben oder als ASCII Code (z.B. 9 für Tabulator) angegeben werden. Falls als Wert '' angegeben wird, wird die aktulle Zeile nicht in Felder unterteilt.
TRACEoJedes gelesene Objekt in der .log Datei ausgeben.

22.4. Objektmodell

Der Modul TXTIN liefert pro IN-Objekt folgende Systemkomponenten:

Komponentereq/optBeschreibung
IN.LINE(i)rZeilennummer der aktuellen Textzeile. Die erste Zeile hat die Nummer 1.
IN.TXT(s)rInhalt der aktuellen Textzeile.

Falls der Paramter SEPARTOR definiert wurde, wird der Zeileninhalt in Felder aufgeteilt. Falls ausserdem FIRST_LINE = ATTRIBUTE_NAMES definiert wurde, wird jeder Komponete der Namen des dazugehoerigen Feldnamen aus der 1. Zeile zugewiesen. Falls FIRST_LINE fehlt werden die Komponten mit A1 .. An benannt. Alle so erzeugten Komponenten sind vom Typ STRING.

22.5. Exportierte Prozeduren und Methoden

ProzedurTXTIN_OPEN ! [s input][]
BeschreibungÖffnet die Textatei <input>. Die Prozedur wird von RUN1 automatisch aufgerufen.
Beispiel
'c:\test\test.txt' TXTIN_OPEN
ProzedurTXTIN_READ_OBJECT ! [][b state]
Beschreibung

Liest das nächste Objekt aus der aktuellen Textdatei. Das Objekt wird in der MAP IN zurückgegeben.

Beispiel
TXTIN_READ_OBJECT [TRUE]
ProzedurTXTIN_CLOSE ! [][]
BeschreibungSchliesst den Modul und gibt die durch den Modul belegten Resourcen wieder frei. Die Prozedur wird von RUN1 automatisch aufgerufen.
Beispiel
TXTIN_CLOSE

22.6. Skriptbeispiel

! Diese ICS Konfiguration zeigt alle von txtin.mod
! gelesenen Objekte in der .log Datei an.

|LICENSE \license\iltools.lic

MAP USER_INPUT1
   DIALOG => FILE ! FILE | STRING | ODBC
   MESSAGE => 'Enter .txt Input File'
   FILE_FILTER => txt
   FILE_EXISTS => TRUE
   OPT => input
END_MAP

MAP TXTIN_PARAM
   FIRST_LINE => ATTRIBUTE_NAMES
   SEPARATOR => 9
   STATISTICS => ON
   DEBUG => OFF
END_MAP

MAP INPUT_SOURCES
   I1 => TXTIN,OPT.input
END_MAP

MAP INOUT
   I1 => DISPLAY_OBJECT1,IN
END_MAP

|INCL \script\util.lib
|INCL \script\txtin.mod
|INCL \script\run1.prg