08.4 Routinen zur Modulsteuerung

Über Einträge in der Modulsteuerdatei …ARC_EGMOMODUL.STE können einem Modul Parameter, Steuergrößen oder sonstige Werte zugeordnet werden. Dazu ist, analog dem Beispiel in Abbildung 8.4‑1, ein Block in der Steuerdatei einzurichten. Dieser Block sollte mit einem eindeutigen Steuerwort wie dem Modulnamen eingeleitet werden. Die eigentliche Steuerinformation, hier ein Faktor zur Skalierung des Rückgangsverhaltens des Abflusses, wird über ein Schlüsselwort definiert.

Q_ELS
RUECKGANGSFAKTOR 0.002

Abbildung 8.4‑1: Auszug aus der Modulsteuerdatei

 

Tabelle 8.4‑1: Routinen zur Modulsteuerung

Name der Funktion Übergabewerte Bedeutung
FdModul (void) FILE-Pointer auf die Datei MODUL.STE
FdPara (int rb, char* access, char* fname) FILE-Pointer auf eine Parameterdatei <RB><fname> im para-Verzeichnis der akt. Berechnungsvariante, access <wt|rt>, rb <EFL|KAS|TG|GEB|REG|FGW>
ZModulSteuerInfo (modulname, key, zeile) gibt komplette Zeile aus dem über modulname definierten Block zur eigenen Weiterverwendung
ModulAnswer (modulname, key) Wertet Ja/Nein-Anworten in der Modulsteuerdatei aus
IModulSteuerInfo (modulname, key, val, default) Gibt INT-Wert aus Steuerdatei zurück, Blockdefinition über Modulname,
Zeilendefinition über key
DModulSteuerInfo (modulname, key, val, default) Gibt Double-Wert aus Steuerdatei zurück, Blockdefinition über Modulname,
Zeilendefinition über key
CmodulSteuerInfo (modulname, key, val, default) Gibt Zeichenkette aus Steuerdatei zurück, Blockdefinition über Modulname,
Zeilendefinition über key
ModulTestDruck (modulname) Rueckgabe 1, wenn Testdruck aktiviert wurde, d.h. Zeichenkette „Testdruck“ in der MODUL.STE gefunden wurde

 

Für den Zugriff auf die Steuerinformationen vom Programm aus stehen eine Reihe von Routinen zur Verfügung, die in Tabelle 8.4‑1 aufgelistet sind und die detaillierter (mit Prototypen) im Kapitel „Schnittstellen“ dokumentiert sind.

Der kleine Programmauszug aus Q_ELS.C in Abbildung 8.4‑2 zeigt beispielhaft die Nutzung dieser Routinen. Über den Modulnamen „q_els“ und das Schlüsselwort „RUECKGANGSFAKTOR“ wird der gewünschte Eintrag selektiert und der Wert von 0.002 auf die double-Variable kfak geschrieben. Wurde der angegebene Eintrag nicht gefunden, liefert die Routine als Rückgabewert „0“, so dass dann gemäß dem Vergleich im Beispiel kfak mit einem Standardwert (hier 0.1) belegt wird.

DModulSteuerInfo(„q_els“,“RUECKGANGSFAKTOR“,&kfak, 0.1);

Abbildung 8.4‑2: Auszug aus der Programmdatei Q_ELS.C

Nach oben scrollen