- 13 May 2024
- 1 Minute zum Lesen
- Drucken
- DunkelLicht
- pdf
Frageparameter
- Aktualisiert am 13 May 2024
- 1 Minute zum Lesen
- Drucken
- DunkelLicht
- pdf
Je nach Konfiguration möchte man Frageparameter nicht angezeigt bekommen oder vielleicht nur ausgegraut, sprich nicht veränderbar angezeigt bekommen. Ist bei Frageparametern durch vorherige Konfiguration nur ein einziger Wert zulässig, so kann man diesen direkt setzen (ist keine Vorbelegung) und zusätzlich auch noch auf “Anzeige“ stellen.
Jeder Frageparameter hat 4 visuelle Zustände die durch das USEOF-Attribut gesetzt werden können:
USEOF | Beschreibung des USEOF - Attributes |
1 | Eingabe - sichtbar, Wert kann verändert werden |
2 | Anzeige - sichtbar, Wert kann nicht verändert werden |
3 | Verborgen - unsichtbar, verknüpfte Makros springen nicht an |
4 | Hintergrund - unsichtbar, verknüpfte Makros springen an (Hilfsparameter) |
Ein- und ausblenden von Frageparametern (USEOF)
Frageparameter werden entweder im Initialisierungsmakro (Startmakro der Maske) oder im Validierungsmakro durch das Verändern des USEOF-Attributes manipuliert. Der zu manipulierende Frageparameter muss in der Tabulatorreihenfolge hinter dem Frageparameter stehen, welche ihn manipuliert.
Bsp.: Auszug aus einer Fensterkonfiguration
Im Bild zuvor hatte man keine Festverglasung gewählt und daher konnte man einen Beschlag auswählen und auch ein Flügelzubehör konnte erfasst werden. Wählt man jedoch eine Festverglasung so verschwindet das Beschlagsfeld und das Flügelzubehör kann nicht ausgewählt werden und wird auch ausgehakt. Zusätzlich erfolgt eine Flächenberechnung im Frageparameter FpFlaeche:
Die zugehörigen Makros sehen folgendermaßen aus:
PROCEDURE InmFmUeb03_04 !Init-Makro der Maske FmUeb03_04
RUNTIMECHANGE = TRUE
ADJUSTGAPATRUNTIME = TRUE
RUN mcrAllgemein.SetHeader (TxProgrammVrs, txtVrs, txtPrmVrs)
!Der Frageparameter FpFlaeche wird immer berechnet, d.h. nur ein Anzeigefeld
FpFlaeche.USEOF = 2
END
PROCEDURE VdmFpEinbaufeld !Validierungsmakro von FpEinbaufeld
RUN EinbaufeldSteuerung
END
PROCEDURE EinbaufeldSteuerung
!Festverglasung hat keinen Beschlag und das Flügelzubehör ist auch nicht relevant
IF FpEinbauFeld = "FIX" THEN
FpBeschlag.USEOF = 3
FpFluegelZub.USEOF = 2
FpFluegelzub.DISPLAYVALUE = 0
ELSE
FpBeschlag.USEOF = 1
FpFluegelZub.USEOF = 1
ENDIF
END
PROCEDURE VdmFpHoehe
FpFlaeche = FpBreite * FpHoehe / 1000 / 1000
FpFlaeche.DISPLAYVALUE = FpFlaeche
END
Anzeigewert für nachfolgende Parameter setzen (DISPLAYVALUE)
Frageparameter.DISPLAYVALUE = Wert
Das Setzen dieses Attributes eines Frageparameters erfolgt im Validierungsmakro. Wichtig ist nur das der Frageparameter dessen Wert gesetzt wird in der Tabulatorreihenfolge nach dem Frageparameter steht, der die eigentliche Berechnung durchführt:
Verlässt man den Frageparameter FpHoehe so wird die Fläche berechnet. Der Frageparameter FpFlaeche hat als Tabulatorindex den Wert 5 und ist somit größer als der Tabulatorindex von FpHoehe.