14. Modul ILTXTIN - INTERLIS 1 ohne Datenmodell lesen

14.1. Allgemeines

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.

[Anmerkung]

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.

14.2. Abhängigkeiten von anderen Modulen

Keine Abhängigkeiten vorhanden.

14.3. Parametermap

Der Modul benötigt keine Parametermap.

14.4. Objektmodell

Der Modul liefert pro IN-Objekt folgende Komponenten:

Allgemeine Komponenten für jedes IN-Objekt
Komponentereq/optBeschreibung
IN.TXT(s)rInhalt der aktuellen Zeile.
IN.LABEL(s)rLabel der aktuellen Zeile. Unter Label versteht man die ersten 4 Zeichen der aktuellen Zeile (z.B. OBJE, TABL, TOPI, MODL, etc.)
IN.REST(s)rRest der aktuellen Zeile ohne Label. Bemerkung allfällige Leerzeichen von IN.REST werden nicht eliminiert.
IN.LINE(i)rZeilennummer der aktuellen Textzeile.
Zusätzliche Komponenten für IN.LABEL = 'SCNT'

Das IN-Objekt für SCNT enthält keine zusätzlichen Komponenten.

Zusätzliche Komponenten für 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.

Zusätzliche Komponenten für IN.LABEL = '////'

Das IN-Objekt für //// enthält keine zusätzlichen Komponenten.

Zusätzliche Komponenten für IN.LABEL = 'MTID'

Dieses Label verfügt über keine zusätzlichen Komponenten.

Zusätzliche Komponenten für IN.LABEL = 'MODL'
Komponentereq/optBeschreibung
IN.MODEL(s)rDatenmodellname.
Zusätzliche Komponenten für IN.LABEL = 'TOPI'
Komponentereq/optBeschreibung
IN.MODEL(s)rDatenmodellname.
IN.TOPIC(s)rAktueller Topicname.
Zusätzliche Komponenten für IN.LABEL = 'TABL'
Komponentereq/optBeschreibung
IN.MODEL(s)rDatenmodellname.
IN.TOPIC(s)rAktueller Topicname.
IN.TABLE(s)rAktueller Tablename.
Zusätzliche Komponenten für IN.LABEL = 'OBJE'

Das Label OBJE verfügt über keine zusätzlichen Komponenten.

Zusätzliche Komponenten für IN.LABEL = 'ETOP'

Dieses Label verfügt über keine zusätzlichen Komponenten.

Zusätzliche Komponenten für IN.LABEL = 'ETAB'

Dieses Label verfügt über keine zusätzlichen Komponenten.

Zusätzliche Komponenten für IN.LABEL = 'EMOD'

Dieses Label verfügt über keine zusätzlichen Komponenten.

Zusätzliche Komponenten für IN.LABEL = 'ENDE'

Dieses Label verfügt über keine zusätzlichen Komponenten.

14.5. Exportierte Prozeduren und Methoden

ProzedurILTXTIN_OPEN [s input][]
BeschreibungÖffnet eine bestehende INTERLIS 1 Datei <input> und initialisiert den Modul. Die Prozedur wird von RUN1 automatisch aufgerufen.
Beispiel
'test.itf' ILTXTIN_OPEN
ProzedurILTXTIN_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
ILTXTIN_READ_OBJECT [TRUE]
ProzedurILTXTIN_CLOSE [][]
BeschreibungSchliesst den Modul und gibt die durch den Modul belegten Ressourcen wieder frei. Die Prozedur wird von RUN1 automatisch aufgerufen.
Beispiel
ILTXTIN_CLOSE

14.6. Skriptbeispiel

! 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