Der Modul ILTXTIN kann eine INTERLIS 1 .itf Datei ohne Datenmodell lesen. Das Lesen von .itf Dateien ohne die Angabe eines Datenmodells kann in einigen (seltenen) Fällen sinnvoll sein, z.B:
Für Statisktikonfigurationen, welche generisch auf jeder .itf Datei funktionieren sollen (z.B. zum Zählen der Anzahl Objekte pro .itf Datei).
Wenn der Input beim Lesen unter keinen Umständen (auch nicht bei fehlerhaften Daten) verändert werden darf, z.B. beim Splitten einer .itf Datei in mehrere Teile.
Der Modul wird mit:
|INCL \script\iltxtin.mod
in einer ICS RUN1-Konfiguration verfügbar gemacht.
Der Modul ILTXTIN war in älteren Versionen der INTERLIS Tools als TEXTLIS verfügbar. Konfigurationen, welche noch auf TEXTLIS basieren, müssen daher auf ILTXTIN umgestellt werden. |
Der Modul liefert pro IN-Objekt folgende Komponenten:
Komponente | req/opt | Beschreibung |
IN.TXT(s) | r | Inhalt der aktuellen Zeile. |
IN.LABEL(s) | r | Label der aktuellen Zeile. Unter Label
versteht man die ersten 4 Zeichen der aktuellen
Zeile (z.B. OBJE ,
TABL , TOPI ,
MODL , etc.) |
IN.REST(s) | r | Rest der aktuellen Zeile ohne Label.
Bemerkung allfällige Leerzeichen von
IN.REST werden nicht
eliminiert. |
IN.LINE(i) | r | Zeilennummer der aktuellen Textzeile. |
IN.LABEL =
'SCNT'
Das IN-Objekt für SCNT
enthält keine
zusätzlichen Komponenten.
IN.LABEL =
'HEAD'
Für alle Zeilen zwischen SCNT
und
////
werden Objekte vom Typ
HEAD
erzeugt. HEAD
ist
ein Pseudolabel, welches in der Inputdatei nicht
existiert.
IN.LABEL =
'////'
Das IN-Objekt für ////
enthält keine
zusätzlichen Komponenten.
IN.LABEL =
'MTID'
Dieses Label verfügt über keine zusätzlichen Komponenten.
IN.LABEL =
'MODL'
Komponente | req/opt | Beschreibung |
IN.MODEL(s) | r | Datenmodellname. |
IN.LABEL =
'TOPI'
Komponente | req/opt | Beschreibung |
IN.MODEL(s) | r | Datenmodellname. |
IN.TOPIC(s) | r | Aktueller Topicname. |
IN.LABEL =
'TABL'
Komponente | req/opt | Beschreibung |
IN.MODEL(s) | r | Datenmodellname. |
IN.TOPIC(s) | r | Aktueller Topicname. |
IN.TABLE(s) | r | Aktueller Tablename. |
IN.LABEL =
'OBJE'
Das Label OBJE
verfügt über keine
zusätzlichen Komponenten.
IN.LABEL =
'ETOP'
Dieses Label verfügt über keine zusätzlichen Komponenten.
IN.LABEL =
'ETAB'
Dieses Label verfügt über keine zusätzlichen Komponenten.
IN.LABEL =
'EMOD'
Dieses Label verfügt über keine zusätzlichen Komponenten.
IN.LABEL =
'ENDE'
Dieses Label verfügt über keine zusätzlichen Komponenten.
Prozedur | ILTXTIN_OPEN [s input][] |
Beschreibung | Öffnet eine bestehende INTERLIS 1 Datei <input> und initialisiert den Modul. Die Prozedur wird von RUN1 automatisch aufgerufen. |
Beispiel |
|
Prozedur | ILTXTIN_READ_OBJECT [][b state] |
Beschreibung | Liest das nächste IN-Objekt aus der geöffneten INTERLIS 1 Datei. Die Prozedur wird von RUN1 automatisch aufgerufen. |
Beispiel |
|
Prozedur | ILTXTIN_CLOSE [][] |
Beschreibung | Schliesst den Modul und gibt die durch den Modul belegten Ressourcen wieder frei. Die Prozedur wird von RUN1 automatisch aufgerufen. |
Beispiel |
|
! This configuration shows all objects ! read by ILTXTIN in the log file. |LICENSE \license\iltools.lic MAP USER_INPUT1 DIALOG => FILE ! FILE | STRING | ODBC MESSAGE => 'Enter .itf Input File' FILE_FILTER => itf FILE_EXISTS => TRUE OPT => input END_MAP MAP INPUT_SOURCES I1 => ILTXTIN,OPT.input END_MAP MAP INOUT I1 => DISPLAY_OBJECT1,IN END_MAP |INCL \script\iltxtin.mod |INCL \script\run1.prg