Mit dem Modul MAP können ICS Objekte im Hauptspeicher zwischengespeichert und aus dem Zwischenspeicher während der Verarbeitung wieder ausgelesen werden. Der Modul unterscheidet sich von LIST vor allem durch die Möglichkeit jedes Objekt unter einem eindeutigen Schlüssel speichern und später wieder abfragen zu können.
MAP wird mit:
|INCL \script\map.mod
in einer ICS RUN1-Konfiguration verfügbar gemacht.
Der Modul MAP benötigt für das Speichern der Objekte benannte Map's. Diese müssen vom Benutzer in der .cfg Datei vorgängig angelegt werden.
Komponente | req/opt | Beschreibung |
IN.KEY(s) | r | Schlüssel welcher beim Speichern des Werts in der Map übergeben wurde. |
IN.VALUE(o) | r | Wert welcher unter Schlüssel
IN.KEY in der Map abgelegt ist. |
Prozedur | MAP_OPEN ! [s map][] |
Beschreibung | Öffnet die Map mit Namen
<map> . |
Beispiel | 'lfp' MAP_OPEN |
Prozedur | MAP_READ_OBJECT ! [][b state] |
Beschreibung | Liest das nächste Objekt aus der aktuellen Map. |
Beispiel | MAP_READ_OBJECT [TRUE] |
Prozedur | MAP_CLOSE ! [][] |
Beschreibung | Schliesst den Modul und gibt die durch den Modul belegten Resourcen wieder frei. Die Prozedur wird von RUN1 automatisch aufgerufen. |
Beispiel | MAP_CLOSE |
Prozedur | MAP_WRITE_OBJECT3 ! s map,s key,o value |
Beschreibung | Schreibt das Objekt
<value> in die Map
<map> unter dem Schlüssel
<key> . |
Beispiel | ... => MAP_WRITE_OBJECT3,lfp,IN.Nummer,IN |
! Diese ICS Konfiguration speichert alle LFP Fixpunkte aus ! einer INTERLIS Datei unter ihrer Nummer in der Map LFP. ! Am Schluss des Skripts werden die Nummern der in der Map ! enthaltenen Punkte in die .log Datei ausgegeben. Durch ! das Speichern in der Map LFP werden doppelte Nummern ! automatisch eliminiert. |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 LFP END_MAP MAP INPUT_SOURCES I1 => ILIN,OPT.input I2 => MAP,LFP END_MAP MAP INOUT I1 => IN.TOPIC,IN.TABLE I1,Fixpunkte,LFP => MAP_WRITE_OBJECT3,LFP,IN.Nummer,IN I1,* => OFF I2 => DISPLAY_OBJECT1,IN.KEY END_MAP |INCL \script\util.lib |INCL \script\map.mod |INCL \script\ilin.mod |INCL \script\run1.prg