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.

GDL
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.