15. Modul LOGIN - ICS Logdateien lesen

15.1. Allgemeines

Mit dem Modul LOGIN können ICS Logdateien gelesen werden. Es kann verlangt werden, dass bestimmte Einträge in der .log Datei als Objekte geliefert werden (z.B. mit DISP angezeigte Linien und Flächen).

LOGIN wird mit:

|INCL \script\login.mod

in einer ICS RUN1-Konfiguration verfügbar gemacht.

15.2. Abhängigkeiten von anderen Modulen

Keine Abhängigkeiten vorhanden.

15.3. Parametermap LOGIN_PARAM

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

Parameterreq/optBeschreibung
PARSE_MESSAGErON oder OFF. Normale Meldungen in der .log Datei lieferen. Es wird pro Meldungszeile ein IN-Objekt geliefert.
PARSE_ERRORrON oder OFF. Fehlermeldungen als Objekt liefern.
PARSE_GEOMETRYrON oder OFF. DISP-formatierte Geometrien vom Typ line oder area als Objekt liefern.
DEBUGrON oder OFF. Debugmodus ein- bzw. ausschalten.

15.4. Objektmodell

Der Modul LOGIN liefert pro IN-Objekt folgende Systemkomponenten:

Komponentereq/optBeschreibung
IN.LINE(i)rZeilennummer der aktuellen Logzeile. Die erste Zeile hat die Nummer 1.
IN.TYPE(s)rType von IN.VALUE. Mögliche Werte sind: MESSAGE, ERROR, LINE und AREA. Welche Typen geliefert werden, hängt von den PARSE_* Parametern der LOGIN_PARAM Map ab.
IN.VALUE(o)rWert des Objekts.

15.5. Exportierte Prozeduren und Methoden

ProzedurLOGIN_OPEN ! [s input][]
BeschreibungÖffnet die Logdatei <input>. Die Prozedur wird von RUN1 automatisch aufgerufen.
Beispiel
'c:\test\test.log' LOGIN_OPEN
ProzedurLOGIN_READ_OBJECT ! [][b state]
Beschreibung

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

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

15.6. Skriptbeispiel

!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
! 
! Diese Konfiguration liest Objekte aus einer ICS .log Datei
! und zeigt diese an.
! 

|LICENSE \license\iltoolspro.lic
|LICENSE \license\iltools.lic

MAP CONFIG_PARAM
   TYPE => LOGIN
   VERSION => 1.7
END_MAP

!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
! 
! user input
! 

MAP USER_INPUT1
   DIALOG => FILE
   MESSAGE => 'Enter .log File'
   FILE_FILTER => log
   FILE_EXISTS => TRUE
   OPT => input
END_MAP

!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
! 
! parameters for DGEOM input module
! 

MAP LOGIN_PARAM
   PARSE_MESSAGE => ON ! deliver normal messages
   PARSE_ERROR => ON ! deliver error messages
   PARSE_GEOMETRY => ON ! parse geometries in DISP-format
   DEBUG => OFF ! activate debugging mode
END_MAP

!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
! 
! input sources
! 

MAP INPUT_SOURCES
   I1 => LOGIN,OPT.input
END_MAP

!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
! 
! input/output mappings
! 

MAP INOUT
   I1 => DISPLAY_OBJECT1,IN
END_MAP

!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
! 
! macro declarations
! 

MAP MACRO
END_MAP

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