38 setup

Mit Hilfe des setup-Objektes kann aus dem Dialog heraus die Systemkonfiguration abgefragt werden. Mit dessen Attributen kann z.B. das Fenstersystem, die Bildschirmauflösung, das Betriebssystem, das Farbmodell usw. ermittelt werden.

Definition

Dieses Objekt ist nicht definierbar, sondern nur in den Regeln abfragbar!

Ereignisse

keine

Kinder

keine

Vater

keiner

Menü

keins

Siehe auch

C-Funktion DM_ParsePath im Handbuch „C-Schnittstelle - Funktionen“

38.1 Attribute

.color

.colorcount

.colorcount[integer]

.color_type

.color_type[integer]

.cursor

.errfile

.env[string]

.envvar[string]

.external

.external[integer]

.font

.format

.keyboard

.language

.logfile

.mouse_buttons

.opsys_string

.opsys_type

.options[enum]

.overridecursor

.pointer_height

.pointer_height[integer]

.pointer_width

.pointer_width[integer]

.scale

.screen

.screen[integer]

.screen_height

.screen_height[integer]

.screen_width

.screen_width[integer]

.screencount

.searchpath

.terminal

.terminaltype

.tile

.tiledpi

.toolhelp

.toolkit

.toolkit_string

.toolkit_version

.tracefile

.tracetime

.tracing

.version_string

.winsys

.winsys_string

.winsys_version

.xdpi

.xdpi[integer]

.ydpi

.ydpi[integer]

38.2 Spezifische Attribute

Attribut Beschreibung

.color

Farbvariante des Dialogs.

Siehe auch Kapitel „Zugriff auf Varianten von Ressourcen“.

.colorcount

Anzahl der Farben.

.colorcount[integer]

Anzahl der Farben bei Multiscreendialogen für jeden Screen I (nur Motif). Näheres zu Multiscreendialogen siehe Ressource display.

.color_type

Abfrage des Terminaltyps (Schwarz-weiß-, Graustufen oder Farb-Terminal).

Mögliche Werte: coltype_bw, coltype_color, coltype_grey.

.color_type[integer]

Abfrage des Terminaltyps (Schwarz-weiß-, Graustufen oder Farb-Terminal) bei Multiscreendialogen für jeden Screen I (nur Motif).

Mögliche Werte: coltype_bw, coltype_color, coltype_grey.

Näheres zu Multiscreendialogen siehe Ressource display.

.cursor

Cursorvariante des Dialogs.

Siehe auch Kapitel „Zugriff auf Varianten von Ressourcen“.

.errfile

Pfad der Fehlerdatei (Umleitung von IDM-Fehlermeldungen in eine Datei).

Siehe auch Kapitel „Optionen zur Tracefilesteuerung“.

.env[string]

Umgebungsvariablen des Systems einschließlich der über die Option ‑IDMenv gesetzten Werte.

.envvar[string]

Umgebungsvariablen des Systems.

.font

Schriftvariante des Dialogs.

Siehe auch Kapitel „Zugriff auf Varianten von Ressourcen“.

.format

Formatvariante des Dialogs.

Siehe auch Kapitel „Zugriff auf Varianten von Ressourcen“.

.keyboard

Acceleratorvariante des Dialogs.

Siehe auch Kapitel „Zugriff auf Varianten von Ressourcen“.

.language

Sprachvariante des Dialogs.

Siehe auch Kapitel „Zugriff auf Varianten von Ressourcen“.

.logfile

Pfad des Logfiles.

Siehe auch Kapitel „Optionen zur Tracefilesteuerung“.

.mouse_buttons

Anzahl der logischen Maustasten.

.opsys_string

Enthält die Betriebssystemkennung.

.opsys_type

Enthält die Betriebssystemart, z.B. os_nt, os_unix.

.options[enum]

Optionen des Objekts.

Index:

opt_balloon_toolhelp – legt fest, ob die Toolhelp als Sprechblase (true, Default) oder als Rechteck angezeigt wird. Erst ab Version A.05.01.c unter MS Windows verfügbar.

.overridecursor

Globale Setzung eines temporären Cursors.

.pointer_height

Maximale Mauscursorhöhe in Pixel.

.pointer_height[integer]

Maximale Mauscursorhöhe in Pixel bei Multiscreendialogen für jeden Screen I (nur Motif). Näheres zu Multiscreendialogen siehe Ressource display.

.pointer_width

Maximale Mauscursorbreite in Pixel.

.pointer_width[integer]

Maximale Mauscursorbreite in Pixel bei Multiscreendialogen für jeden Screen I (nur Motif). Näheres zu Multiscreendialogen siehe Ressource display.

.scale

Eingestellte Systemvergrößerung.

.screen

Screen-Nummer des Default Screen bei Multiscreendialogen (nur Motif). Näheres zu Multiscreendialogen siehe Ressource display.

.screen[integer]

Liefert die Nummer des I-ten Screens bei Multiscreendialogen (nur Motif). Näheres zu Multiscreendialogen siehe Ressource display.

.screen_height

Bildschirmhöhe in Pixel.

.screen_height[integer]

Bildschirmhöhe in Pixel bei Multiscreen- oder Multimonitordialogen für jeden Screen I (nur Motif). Näheres zu Multiscreendialogen siehe Ressource display.

.screen_width

Bildschirmbreite in Pixel.

.screen_width[integer]

Bildschirmbreite in Pixel bei Multiscreen- oder Multimonitordialogen für jeden Screen I (nur Motif und Windows). Näheres zu Multiscreendialogen siehe Ressource display.

.screencount

Anzahl der verfügbaren Screens bei bei Multiscreen- oder Multimonitordialogen (nur Motif und Windows). Näheres zu Multiscreendialogen siehe Ressource display.

.searchpath

Suchpfad, der für Dialog-, Modul-, Interface- und Binär-Dateien bei Imports mit use verwendet wird, erfragen und umsetzen.

.terminal

Art des Terminals bei AlphaWindows.

.terminaltype

Typ des Terminals bei AlphaWindows.

.tile

Bildvariante des Dialogs.

Siehe auch Kapitel „Zugriff auf Varianten von Ressourcen“.

.tiledpi

Wert DPI für die die Bilder der Anwendung entworfen wurden

Siehe auch Kapitel #######.

.toolkit

Toolkitart des Systems, z.B. toolkit_motif, toolkit_windows.

.toolkit_string

Toolkit des Systems.

.toolkit_version

Toolkitversion des Systems.

.tracefile

Pfad des Tracefiles.

Siehe auch Kapitel „Optionen zur Tracefilesteuerung“.

.tracetime

Art der Zeitausgabe in das Tracefile.

Siehe auch Kapitel „Optionen zur Tracefilesteuerung“.

.tracing

An- und Abschalten des Tracings zur Laufzeit.

Siehe auch Kapitel „Optionen zur Tracefilesteuerung“.

.version_string

IDM-Versionsstring.

.winsys

Genutzte Fenstersystemart, z.B. winsys_windows, winsys_x11.

.winsys_string

Abfrage des Fenstersystems.

.winsys_version

Abfrage der Fenstersystemversion.

.xdpi

Abfrage der DPI in X-Richtung.

.xdpi[integer]

Abfrage der DPI in X-Richtung bei Multiscreendialogen für jeden Screen I (nur Motif). Näheres zu Multiscreendialogen siehe Ressource display.

.ydpi

Abfrage der DPI in Y-Richtung.

.ydpi[integer]

Abfrage der DPI in Y-Richtung bei Multiscreendialogen für jeden Screen I (nur Motif). Näheres zu Multiscreendialogen siehe Ressource display.

38.2.1 Zugriff auf die Systemkonfiguration

Das jeweilige Betriebssystem oder die Fenstersystemvariante kann über die Attribute .opsys_string, .opsys_type, .toolkit, .toolkit_string, .toolkit_version, .winsys, .winsys_string und .winsys_version abgefragt werden.

Die Attribute .env[string] und .envvar[string] dienen zum Zugriff auf die Umgebungsvariablen des Systems bzw. des Dialogs.

Informationen über das verwendete Display können über die Attribute .colorcount, .color_type, .screen, .screencount, .screen_height, .screen_width, .terminal, .terminaltype, .xdpi und .ydpi erfragt werden. Soweit diese Attribute indiziert vorhanden sind (siehe „Attribute“), dienen Sie zur Unterstützung von Multiscreendialogen unter Motif.

Informationen über den Mauscursor können zusätzlich mit den Attributen .pointer_height und .pointer_width abgefragt werden (indiziert für Multiscreendialoge vorhanden).

38.2.2 Zugriff auf Umgebungsvariablen

Über das Setup-Objekt lassen sich die Umgebungsvariablen des Programms setzen. Dazu existieren zwei Attribute: .env[] und .envvar[].

In .env[] sind alle Umgebungsvariablen enthalten, wobei die über die Option -IDMenv gesetzten Werte die in der Umgebung gesetzten Werte überschreiben.

Die mittels der Option -IDMenv gesetzten Variablen sind nur für IDM-Funktionen gültig. Über das Attribut .envvar[] hingegen erhält man nur die Umgebungsvariablen.

Die Attribute .env[] und .envvar[] sind setzbar und abfragbar. Die Indizierung erfolgt über den Namen der Umgebungsvariablen. Beim Erfragen erhält man ein fail wenn die Umgebungsvariable nicht gesetzt ist.

Weiter ist es möglich sich alle mittels ‑IDMenv gesetzten Variablen anzusehen. Dazu dient das Attribute .count[] indiziert über .env, welches als Rückgabewert die Anzahl der IDM-Umgebungsvariablen liefert. Nun kann .env[] über den Zahlenbereich 1 ... .count[.env] indiziert werden, um die Namen der Umgebungsvariablen zu ermitteln.

Beispiel

!! Auslesen der PATH-Variable
print setup.envvar["PATH"];

!! Setzen einer IDM-Umgebungsvariablen
setup.env["DIALOGPATH"] := "/usr/local/idm/examples";
load("DIALOGPATH:draw.dlg");

!! Auslesen aller IDM-Variablen
for I:=1 to setup.count[.env] do
  print setup.env[I]+"="+setup.env[setup.env[I]];
endfor

!! Loeschen der Variablen
setup.env["DIALOGPATH"] := null;

!! Setzen einer ungesetzten Umgebungsvariablen
if fail(setup.env["SERVER_OPT"]="") then
  setup.env["SERVER_OPT"] := "true";
endif

Hinweis

In einem Prozess gesetzte Umgebungsvariablen bewirken keine Änderung der Umgebungsvariablen der Vaterprozesse (z.B. die Shell) oder bereits existierender Kindprozesse . Erst neu gestartete Kindprozesse können die veränderten Umgebungsvariablen bekommen.

38.2.3 Zugriff auf Varianten von Ressourcen

Außer über die Kommandozeilenoptionen können die Varianten verschiedener Ressourcen auch zur Laufzeit abgefragt bzw. gesetzt werden. Dies geschieht über die entsprechenden Attribute des setup Objekts.

Die Attributnamen sind dabei sprechend gewählt; so wird das Attribut .color zum Zugriff auf die Farbvarianten, .language für die Sprachvarianten (text-Ressource) usw. verwendet.

Folgende Attribute sind verfügbar:

.color, .cursor, .font, .format, .keyboard, .language und tile.

Im folgenden Kapitel ist ein Beispiel für die Text-Ressource (Sprachvariante) dargestellt.

Der Mauscursor kann mittels des Attributs .overridecursor für alle Dialogobjekte global gesetzt werden. Das Objekt Messagebox ignoriert allerdings .overridecursor und zeigt immer den für die Messagebox definierten Cursor oder den Default-Cursor an.

Beispiel für die Anzeige des Overridecursors an einer Messagebox

Msgbox1.cursor := setup.overridecursor;

querybox(Msgbox1);

Msgbox1.cursor := null;

38.2.3.1 Beispiel anhand der Text-Ressource

Sie können die Variante einer Text-Ressource auch zur Laufzeit ändern, und zwar in der

Bisher wurde die Sprache mit Hilfe der Kommandozeilen-Option -IDMlanguage beim Start einer Anwendung festgelegt.

Regelsprache

setup.language := <Variantennummer der gewünschte Sprache>

Beispiel

text "Language"  // English (default)

{

  1: "Sprache";  // German

}

 

on MENUITLANGUAGE select

{

  setup.language := 1;

}

38.2.3.2 C- bzw. COBOL-Schnittstelle

Sie müssen dem Setup-Objekt die entsprechende Variantennummer der gewünschten Sprache mit DM_SetValue zuweisen.

38.2.4 Optionen zur Tracefilesteuerung

Um im ISA Dialog Manager das Tracing zu beeinflussen sind die folgenden Attribute verfügbar:

.errfile, .logfile, .tracefile, .tracetime und .tracing.

Siehe auch

Kapitel „Tracing (Ablaufverfolgung)“ im Handbuch „Entwicklungsumgebung“