Nach meinen Vorstellungen soll der Configurator komplett dynamisch werden, also auch das GUI.
Mein Problem ist nun, das wenn ich nun das GUI dynamisch kreire ich keine ControlIDs bekomme.
Also:
SK Arrays:
Code:
Global $sk[6] $sk[0] = IniRead($ini,"Shortkeys","hide","INI ERROR") $sk[1] = IniRead($ini,"Shortkeys","start","INI ERROR") $sk[2] = IniRead($ini,"Shortkeys","exit","INI ERROR") $sk[3] = IniRead($ini,"Shortkeys","dumper","INI ERROR") $sk[4] = IniRead($ini,"Shortkeys","updater","INI ERROR") $sk[5] = 99999999999
Code:
;Dynamic Buttons here
For $i = 0 To (_ArrayMaxIndex($sk,1) -1) Step 1
Dim $button_def[_ArrayMaxIndex($sk,1)]
$button_def[$i] = GUICtrlCreateButton("Define new Shortkey", 215,60 + (25 * $i), 115, 20, 0)
Next
Jeder Button außer $button_def[4] (also der letzte) hat keine controlID!
Warum und wie kann ich das beheben?
Edit:
Damit ihr den code verstehen könnt:
Also das ganze ist aufgegliedert in einen input in den der aktuelle Shortkey angezeigt wird und einen Button wp man einen neuen Shortkey definieren kann.
Die Dynamik soll machen das man nurnoch die Variablen(also $SK(aktueller Shortkey)) ändern muss um das gesammte Script zu ändern.
Dafür werden die Arrays benötigt.
$sk[5] = 99999999999 ist eine Art Zähler.
Weil man nicht direkt die Länge eines arrays abfragen kann sondern nur die höchsten Werte und deren Indexe frage ich ich mit (_ArrayMaxIndex($sk,1) -1)
die Länge des Arrays ab. Oder besser gesagt die Länge für eine for Schleife.
Da die For von 0 losgeht und der Index von einen Arrays auch mit 0 anfängt ist dort das -1 also (_ArrayMaxIndex($sk,1)-1).






