A great feature of Rukovoditel is that you can relatively easily generate composite scripts by entering variables and values in tables and then using a self-written PHP script to assemble the Ruko data via an API interface with the appropriate GDL script snippets.
For a VALUES{2} command, you enter the following variables in a table in Rukovoditel:
- Parameter name
- Parameter description
- Array prefix
- Optional IF ... THEN query
- Array values text
- Array values image
In the example above, the image names or indices are left empty because they are not yet determined.
After entering the data, you click on the output link and receive the following scripts, each with a section for master script, parameter script, and user interface script.
Note: All routines for all VALUES{2} commands of an object that were created in Rukovoditel are always output.
VALUES{2} commands for 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: (Pedestrians; Cyclists; Green spaces)" : _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: (Cars)" : _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: (Trucks occasionally)" : _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: (Trucks frequently)" : _belastung_pic[i] = "" : _belastung_value[i] = i : i = i + 1 : ENDIF
IF int_lage = 5 OR int_lage = 9 THEN : _belastung_text[i] = "E: (Garbage trucks; Fire engines)" : _belastung_pic[i] = "" : _belastung_value[i] = i : i = i + 1 : ENDIF _belastung_text[i] = "F: (Aircraft)" : _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] = "Squares" : _lage_pic[i] = "" : _lage_value[i] = i : i = i + 1
_lage_text[i] = "Parking deck" : _lage_pic[i] = "" : _lage_value[i] = i : i = i + 1
_lage_text[i] = "Residential area" : _lage_pic[i] = "" : _lage_value[i] = i : i = i + 1
_lage_text[i] = "Extreme load" : _lage_pic[i] = "" : _lage_value[i] = i : i = i + 1
_lage_text[i] = "Ramp" : _lage_pic[i] = "" : _lage_value[i] = i : i = i + 1
_lage_text[i] = "Facade" : _lage_pic[i] = "" : _lage_value[i] = i : i = i + 1
_lage_text[i] = "Interior" : _lage_pic[i] = "" : _lage_value[i] = i : i = i + 1
_lage_text[i] = "Other" : _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] = "Stainless steel" : _material_zarge_pic[i] = "" : _material_zarge_value[i] = i : i = i + 1 _material_zarge_text[i] = "Cast iron" : _material_zarge_pic[i] = "" : _material_zarge_value[i] = i : i = i + 1 _material_zarge_text[i] = "Plastic" : _material_zarge_pic[i] = "" : _material_zarge_value[i] = i : i = i + 1 _material_zarge_text[i] = "Galvanized steel" : _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] = "Polymer concrete" : _material_rinne_pic[i] = "" : _material_rinne_value[i] = i : i = i + 1 _material_rinne_text[i] = "Plastic" : _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 "Nominal width", 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 "Load class", 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 "Installation area", 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 frame", 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 gutter", 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
! ......................... ! Of course, you can subsequently change the values in Ruko or add additional VALUES.
