Eine tolle Möglichkeit von Rukovoditel ist, dass man relativ einfach zusammengesetzte Scripte erzeugen lassen kann, in dem man Variablen und Werte in Tabellen eingibt und sich dann mit Hilfe eines selbst geschriebenen PHP-Scriptes die Ruko-Daten mittels einer API-Schnittstelle mit den passenden GDL-Script-Schnipseln zusammenbaut.
Bei einem VALUES{2} – Befehl gibt man folgende Variablen in einer Tabelle in Rukovoditel ein:
- Parameter-Name
- Parameter-Beschreibung
- Array-Prefix
- Optionale IF … THEN Abfrage
- Array-Werte Text
- Array-Werte Bild
In obigen Beispiel sind die Bildnamen bzw. Indizes leer gelassen, da noch nicht feststehend.
Nach der Eingabe klickt man auf den Ausgabelink und erhält folgende Scripte jeweils einen Abschnitt für Master-Script, Parameter-Script und User-Interface-Script.
Hinweis: Es werden immer alle Routinen für sämtliche VALUES{2}-Befehle eines Objektes ausgegeben, welche in Rukovoditel angelegt wurden.
VALUES{2}-Befehle für ACO-Koerper
! MASTER-SCRIPT
DIM _nennweite_text[], _nennweite_pic[], _nennweite_value[]
i = 1
_nennweite_text[i] = "nicht zugewiesen" : _nennweite_pic[i] = "" : _nennweite_value[i] = i : i = i + 1
_nennweite_text[i] = "75" : _nennweite_pic[i] = "" : _nennweite_value[i] = i : i = i + 1
_nennweite_text[i] = "100" : _nennweite_pic[i] = "" : _nennweite_value[i] = i : i = i + 1
_nennweite_text[i] = "125" : _nennweite_pic[i] = "" : _nennweite_value[i] = i : i = i + 1
_nennweite_text[i] = "150" : _nennweite_pic[i] = "" : _nennweite_value[i] = i : i = i + 1
_nennweite_text[i] = "175" : _nennweite_pic[i] = "" : _nennweite_value[i] = i : i = i + 1
_nennweite_text[i] = "200" : _nennweite_pic[i] = "" : _nennweite_value[i] = i : i = i + 1
_nennweite_text[i] = "275" : _nennweite_pic[i] = "" : _nennweite_value[i] = i : i = i + 1
_nennweite_text[i] = "300" : _nennweite_pic[i] = "" : _nennweite_value[i] = i : i = i + 1
_nennweite_text[i] = "400" : _nennweite_pic[i] = "" : _nennweite_value[i] = i : i = i + 1
_nennweite_text[i] = "500" : _nennweite_pic[i] = "" : _nennweite_value[i] = i : i = i + 1
! ---------------------------------------------------------------------- !
DIM _belastung_text[], _belastung_pic[], _belastung_value[]
i = 1
IF int_lage = 2 OR int_lage = 4 OR int_lage = 6 OR int_lage = 7 OR int_lage = 8 OR int_lage = 9 THEN : _belastung_text[i] = "nicht zugewiesen" : _belastung_pic[i] = "" : _belastung_value[i] = i : i = i + 1 : ENDIF
IF int_lage = 2 OR int_lage = 3 OR int_lage = 6 OR int_lage = 7 or int_lage = 9 THEN : _belastung_text[i] = "A: (Fußgänger; Radfahrer; Grünflächen)" : _belastung_pic[i] = "" : _belastung_value[i] = i : i = i + 1 : ENDIF
IF int_lage = 2 OR int_lage = 3 OR int_lage = 5 OR int_lage = 6 OR int_lage = 7 or int_lage = 9 THEN : _belastung_text[i] = "B: (PKW)" : _belastung_pic[i] = "" : _belastung_value[i] = i : i = i + 1 : ENDIF
IF int_lage = 2 OR int_lage = 3 OR int_lage = 5 OR int_lage = 6 OR int_lage = 7 or int_lage = 9 THEN : _belastung_text[i] = "C: (LKW gelegentlich)" : _belastung_pic[i] = "" : _belastung_value[i] = i : i = i + 1 : ENDIF
IF int_lage = 2 OR int_lage = 3 OR int_lage = 5 OR int_lage = 6 OR int_lage = 7 OR int_lage = 9 THEN : _belastung_text[i] = "D: (LKW häufig)" : _belastung_pic[i] = "" : _belastung_value[i] = i : i = i + 1 : ENDIF
IF int_lage = 5 OR int_lage = 9 THEN : _belastung_text[i] = "E: (LKW Müll; Feuerwehr)" : _belastung_pic[i] = "" : _belastung_value[i] = i : i = i + 1 : ENDIF
_belastung_text[i] = "F: (Flugzeuge)" : _belastung_pic[i] = "" : _belastung_value[i] = i : i = i + 1
! ---------------------------------------------------------------------- !
DIM _lage_text[], _lage_pic[], _lage_value[]
i = 1
_lage_text[i] = "nicht zugewiesen" : _lage_pic[i] = "" : _lage_value[i] = i : i = i + 1
_lage_text[i] = "Plätze" : _lage_pic[i] = "" : _lage_value[i] = i : i = i + 1
_lage_text[i] = "Parkdeck" : _lage_pic[i] = "" : _lage_value[i] = i : i = i + 1
_lage_text[i] = "WHG-Fläche" : _lage_pic[i] = "" : _lage_value[i] = i : i = i + 1
_lage_text[i] = "Extrembelastung" : _lage_pic[i] = "" : _lage_value[i] = i : i = i + 1
_lage_text[i] = "Rampe" : _lage_pic[i] = "" : _lage_value[i] = i : i = i + 1
_lage_text[i] = "Fassade" : _lage_pic[i] = "" : _lage_value[i] = i : i = i + 1
_lage_text[i] = "innenliegend" : _lage_pic[i] = "" : _lage_value[i] = i : i = i + 1
_lage_text[i] = "Sonstiges" : _lage_pic[i] = "" : _lage_value[i] = i : i = i + 1
! ---------------------------------------------------------------------- !
DIM _material_zarge_text[], _material_zarge_pic[], _material_zarge_value[]
i = 1
_material_zarge_text[i] = "nicht zugewiesen" : _material_zarge_pic[i] = "" : _material_zarge_value[i] = i : i = i + 1
_material_zarge_text[i] = "Edelstahl" : _material_zarge_pic[i] = "" : _material_zarge_value[i] = i : i = i + 1
_material_zarge_text[i] = "Gusseisen" : _material_zarge_pic[i] = "" : _material_zarge_value[i] = i : i = i + 1
_material_zarge_text[i] = "Kunststoff" : _material_zarge_pic[i] = "" : _material_zarge_value[i] = i : i = i + 1
_material_zarge_text[i] = "Stahl verzinkt" : _material_zarge_pic[i] = "" : _material_zarge_value[i] = i : i = i + 1
! ---------------------------------------------------------------------- !
DIM _material_rinne_text[], _material_rinne_pic[], _material_rinne_value[]
i = 1
_material_rinne_text[i] = "nicht zugewiesen" : _material_rinne_pic[i] = "" : _material_rinne_value[i] = i : i = i + 1
_material_rinne_text[i] = "Polymerbeton" : _material_rinne_pic[i] = "" : _material_rinne_value[i] = i : i = i + 1
_material_rinne_text[i] = "Kunststoff" : _material_rinne_pic[i] = "" : _material_rinne_value[i] = i : i = i + 1
! ---------------------------------------------------------------------- !
! PARAMETER-SCRIPT
VALUES{2} "int_nennweite", _nennweite_value, _nennweite_text
VALUES{2} "int_belastungsklasse", _belastung_value, _belastung_text
VALUES{2} "int_lage", _lage_value, _lage_text
VALUES{2} "int_material_zarge", _material_zarge_value, _material_zarge_text
VALUES{2} "int_material_rinne", _material_rinne_value, _material_rinne_text
! INTERFACE-SCRIPT
UI_OUTFIELD "Nennweite", dx, dy + dyO, outL, outH, 1
UI_INFIELD{3} "int_nennweite", dx2, dy, inL, inH,
8, "",
0, 0, 0, 0, 0, 0,
_nennweite_pic, _nennweite_text, _nennweite_value
dy = dy + led
! ......................... !
UI_OUTFIELD "Belastungsklasse", dx, dy + dyO, outL, outH, 1
UI_INFIELD{3} "int_belastungsklasse", dx2, dy, inL, inH,
8, "",
0, 0, 0, 0, 0, 0,
_belastung_pic, _belastung_text, _belastung_value
dy = dy + led
! ......................... !
UI_OUTFIELD "Einbaubereich", dx, dy + dyO, outL, outH, 1
UI_INFIELD{3} "int_lage", dx2, dy, inL, inH,
8, "",
0, 0, 0, 0, 0, 0,
_lage_pic, _lage_text, _lage_value
dy = dy + led
! ......................... !
UI_OUTFIELD "Material Zarge", dx, dy + dyO, outL, outH, 1
UI_INFIELD{3} "int_material_zarge", dx2, dy, inL, inH,
8, "",
0, 0, 0, 0, 0, 0,
_material_zarge_pic, _material_zarge_text, _material_zarge_value
dy = dy + led
! ......................... !
UI_OUTFIELD "Material Rinne", dx, dy + dyO, outL, outH, 1
UI_INFIELD{3} "int_material_rinne", dx2, dy, inL, inH,
8, "",
0, 0, 0, 0, 0, 0,
_material_rinne_pic, _material_rinne_text, _material_rinne_value
dy = dy + led
! ......................... !
Selbstverständlich lassen sich nachträglich in Ruko die Werte noch ändern oder weitere VALUES hinzufügen.