4. Klasse DIALOG

4.1. Allgemeines

Mit dem Modul Dialog können vom Benutzer interaktiv Parameter über Windows Dialogboxen abgefragt werden. Die Klasse DIALOG wird mit:

|LOAD dialog

in einem iG/Script Programm verfügbar gemacht.

4.2. Exportierte Methoden

MethodeDIALOG.MESSAGE_BOX [s message][]
BeschreibungStellt auf dem Bildschirm eine Meldungsbox mit <message> als Meldungstext dar. Der Benutzer muss die Meldung mit OK quitieren.
Beispiel
'hello, world' DIALOG.MESSAGE_BOX
MethodeDIALOG.SELECT_BOX [s message][b status]
BeschreibungStellt auf dem Bildschirm eine Meldungsbox mit OK und CANCEL Knopf dar. Falls der Benutzer die Meldung mit OK quitiert, wird TRUE sonst FALSE zurück geliefert.
Beispiel
IF 'how do you feel today ?' DIALOG.SELECT_BOX THEN
   DISPLAY 'ok'
ELSE
   DISPLAY 'bad'
END_IF
MethodeDIALOG.GET_FILENAME [s title,s extension,b existing][s fname,b status]
BeschreibungFragt vom Benutzer einen gültigen Dateinamen ab. In <title> muss der Titel des Meldungsbox angegeben werden. In <extension> wird die Dateiendung angegeben. Falls für <existing> TRUE übergeben wird, können vom Benutzer nur existierende Dateinamen angegeben werden. Falls <status> TRUE ist, wird in <fname> der vollständige Dateiname (inkl. Pfad) der selektierten Datei zurückgegeben.
Beispiel
IF 'Select INTERLIS Input File' 'itf' TRUE DIALOG.GET_FILENAME THEN
   => VAR.FNAME
ELSE
   DISPLAY 'script aborted by user'
   HALT
END_IF
MethodeDIALOG.GET_FILENAMES [s title,s extension][li fnames,b status]
BeschreibungFragt vom Benutzer extistierende Dateinamen ab. In <title> muss der Titel des Meldungsbox angegeben werden. In <extension> wird die Dateiendung angegeben. Falls <status> TRUE ist, wird in <fnames> eine Liste mit den vollständigen Dateinamen (inkl. Pfad) der selektierten Dateien zurückgegeben.
Beispiel
IF 'Select INTERLIS Input Files' 'itf'  DIALOG.GET_FILENAMES THEN
   => VAR.LIST
ELSE
   DISPLAY 'script aborted by user'
   HALT
END_IF
MethodeDIALOG.GET_DIRECTORY [s title][s directory,b status]
BeschreibungFragt vom Benutzer ein gültiges Directory ab. In <title> muss der Titel des Meldungsbox angegeben werden. Falls <status> TRUE ist, wird in <directory> der vollständige Directoryname (inkl. Pfad) des selektierten Directories zurückgegeben.
Beispiel
IF 'Select Input Directory' DIALOG.GET_DIRECTORY THEN
   => VAR.DIRECTORY
ELSE
   DISPLAY 'script aborted by user'
   HALT
END_IF
MethodeDIALOG.GET_STRING [s message][s user_input]
BeschreibungFragt vom Benutzer einen String über eine Dialogbox ab. <message> wird in der Dialogbox als Meldungstext dargestellt.
Beispiel
'Enter RIS-Schema' DIALOG.GET_STRING => DB_PARAM.CONNECT
MethodeDIALOG.GET_LIST [s message, m map][ b status]
BeschreibungFragt vom Benutzer Listenelemente in einer Liste ab. <message> wird in der Dialogbox als Meldungstext dargestellt. In <map> wird eine Map mit den Listenelementen übergeben. Als Name wird in der Map der darzustellende Text des Listenelements eingetragen. Als Wert wird in der Map der Wert ON oder OFF eingetragen. Beim Wert ON ist das Listenelement vorselektioniert. Falls <status> TRUE ist, sind in <map> die selecktierten Listenelement mit einem Wert ON enthalten.
Beispiel
MAP MAPLIST
   Bodenbedeckung,BoFlaeche => ON
   Bodenbedeckung,BoFlaeche_Area => ON
   Bodenbedeckung,BoFlaeche_Boundary => OFF
END_MAP

IF ' Select Topics,Tables:' &MAPLIST DIALOG.GET_LIST NOT THEN
   DISPLAY 'script aborted by user'
   HALT
END_IF
MethodeDIALOG.GET_ODBC_SOURCE [s message, m source-map, m selected-map][ b status]
BeschreibungFragt vom Benutzer eine ODBC-Source mit User und Password ab. <message> wird in der Dialogbox als Meldungstext dargestellt. In <source-map> werden die ODBC-Sources für die Auswahlliste übergeben. (Die ODBC-Sourcen könnten mit DB.GET_ODBC_SOURCES ermittelt werden). In <selected-map> wird die vom User selektierte ODBC-Source zurückgegeben.
Beispiel
MAPCREATE => VAR.ODBC_SOURCES
MAPCREATE => VAR.ODBC_SELECTED

&VAR.ODBC_SOURCES DB.GET_ODBC_SOURCES

IF 'Select ODBC Source' &VAR.ODBC_SOURCES &VAR.ODBC_SELECTED DIALOG.GET_ODBC_SOURCE THEN
ELSE
   ERROR 'script aborted by user'
   HALT
END_IF

Die <selected-map> beinhaltet folgende Komponenten:

MAP VAR.ODBC_SELECTED
   SOURCE => <ODBC-Source>
   USER => <User>
   PASSWORD => <Password>
   ORACLESPATIAL => <TRUE|FALSE>
END_MAP
MethodeDIALOG.GET_ODBC_FILE [s message, m source-map, s file-extension, b file-existing][s input, b status]
BeschreibungFragt vom Benutzer eine ODBC-Source mit User und Password oder ein Datenbank File ab. <message> wird in der Dialogbox als Meldungstext dargestellt. In <source-map> werden die ODBC-Sources für die Auswahlliste übergeben. (Die ODBC-Sourcen könnten mit DB.GET_ODBC_SOURCES ermittelt werden). In <file-extension> wird die Dateiendung für ein File angegeben. Falls für <file-existing> TRUE übergeben wird, können vom Benutzer nur existierende Dateinamen angegeben werden. Falls <status> TRUE ist, wird in <input> die ODBC-Source in der Form <source,user,password> oder der vollständige Dateiname (inkl. Pfad) der selektierten Datei zurückgegeben.
Beispiel
MAPCREATE => VAR.ODBC_SOURCES

&VAR.ODBC_SOURCES DB.GET_ODBC_SOURCES

IF 'Select ODBC or File' &VAR.ODBC_SOURCES '*' TRUE DIALOG.GET_ODBC_FILE THEN
   => OPT.input
ELSE
   ERROR 'script aborted by user'
   HALT
END_IF
MethodeDIALOG.GET_ARCGIS [s message, s file-extension, b file-existing][s input, b status]
BeschreibungFragt vom Benutzer eine ArcGIS-SDE-Connection mit Server,Instance,Database,User,Password und Version oder ein ArcGIS Datenbank File ab. <message> wird in der Dialogbox als Meldungstext dargestellt. In <file-extension> wird die Dateiendung für ein File angegeben. Falls für <file-existing> TRUE übergeben wird, können vom Benutzer nur existierende Dateinamen angegeben werden. Falls <status> TRUE ist, wird in <input> die ArcGIS-SDE-Connection in der Form <server,instance,database,user,password,version> oder der vollständige Dateiname (inkl. Pfad) der selektierten Datei zurückgegeben.
Beispiel
IF 'Select SDE or File' 'mdb;gdb' TRUE DIALOG.GET_ARCGIS THEN
   => OPT.input
ELSE
   ERROR 'script aborted by user'
   HALT
END_IF