4. Modul LIST - ICS Objekte temporär speichern

4.1. Allgemeines

Mit dem Modul LIST können ICS Objekte im Hauptspeicher zwischengespeichert und aus dem Zwischenspeicher während der Verarbeitung sequentiell wieder ausgelesen werden. Der Modul hat eine sehr ähnliche Funktionalität wie der Modul OSTREAM. Der Unterschied zu OSTREAM besteht darin, das der Zwischenspeicher im Fall von OSTREAM Dateien sind und im Fall von LIST der Hauptspeicher. LIST eignet sich daher nur für kleinere Datenmengen ist dafür aber schneller als OSTREAM.

LIST wird mit:

|INCL \script\list.mod

in einer ICS RUN1-Konfiguration verfügbar gemacht.

4.2. Abhängigkeiten von anderen Modulen

Keine Abhängigkeiten vorhanden.

4.3. Parametermap

Keine Parametermap notwendig.

4.4. Objektmodell

Der Modul LIST speichert bzw. liefert die ICS Objekte so wie die Objekte ihm ursprünglich übergeben wurden. Der Modul LIST hat daher kein eigenes Objektmodell.

4.5. Exportierte Prozeduren und Methoden

ProzedurLIST_OPEN ! [s list][]
BeschreibungÖffnet die Liste mit Namen <list>.
Beispiel
'lfp' LIST_OPEN
ProzedurLIST_READ_OBJECT ! [][b state]
Beschreibung

Liest das nächste Objekt aus der aktuellen Liste.

Beispiel
LIST_READ_OBJECT [TRUE]
ProzedurLIST_CLOSE ! [][]
BeschreibungSchliesst den Modul und gibt die durch den Modul belegten Resourcen wieder frei. Die Prozedur wird von RUN1 automatisch aufgerufen.
Beispiel
LIST_CLOSE
ProzedurLIST_WRITE_OBJECT2 ! s list,m map
BeschreibungSchreibt die Map <map> in die Liste <list>.
Beispiel
... => LIST_WRITE_OBJECT2,lfp,IN

4.6. Skriptbeispiel

! Diese ICS Konfiguration speichert alle LFP Fixpunkte aus 
! einer INTERLIS Datei in einer Liste. Am Schluss des Skripts 
! werden die Nummern der in der Liste enthaltenen Punkte in 
! die .log Datei ausgegeben.

|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 ILIN_PARAM
   INTERLIS_DEF => \models\Grunddatensatz.ili
   STATISTICS   => ON
   DEBUG        => OFF
END_MAP

MAP INPUT_SOURCES
   I1 => ILIN,OPT.input
   I2 => LIST,lfp
END_MAP

MAP INOUT
   I1 => IN.TOPIC,IN.TABLE
   I1,Fixpunkte,LFP => LIST_WRITE_OBJECT2,lfp,IN
   I1,* => OFF
   I2 => DISPLAY_OBJECT1,IN.Nummer
END_MAP

|INCL \script\util.lib
|INCL \script\list.mod
|INCL \script\ilin.mod
|INCL \script\run1.prg