Page 1 of 1

Parse Loop und Guicontrol mit Variablen

Posted: 13 Jul 2019, 20:23
by ElektroBerry
Hallo.
Ich habe ein Problem mit dem folgenden Skriptteil. Mein Ziel ist es die 3 Namen der Buttons in dem parse Loop zu verändern.
Leider wird nur der 1. Button in dem Beispiel verändert.

Code: Select all

V1 := "Sun", V2 := "Moon", V3 := "Star"
Gui, Add, Button, vA, Alpha
Gui, Add, Button, vB, Beta
Gui, Add, Button, vC, Ceta
Gui, Show
Sleep 1000
varnames := "A, B, C"
Loop, parse, varnames, `,
{
            Runde := A_Index
            JNr := % V%Runde%
            GuiControl, Text, % A_LoopField, %JNr%
	    msgbox %A_LoopField% wird in %JNr% geändert. ;Nur zum testen
}
return

GuiClose:
ExitApp

Re: Parse Loop und Guicontrol mit Variablen  Topic is solved

Posted: 13 Jul 2019, 21:22
by wolf_II
Entferne die Leerzeichen im Innern des Strings in der Zeile:

Code: Select all

varnames := "A, B, C"

Code: Select all

varnames := "A,B,C" ; ohne Leerzeichen

Re: Parse Loop und Guicontrol mit Variablen

Posted: 14 Jul 2019, 06:14
by just me
Moin,

der Korrekturvorschlag von wolf_II wird funktionieren. Ich fage mich nur gerade, von wem das letzte Skript war, in dem ich die Variable Runde als Zwischenspeicher für A_Index gesehen habe.

In einer einfachen Schleife kannst Du das Ganze dramatisch abkürzen.

Code: Select all

VarNames := "A,B,C"
Loop, Parse, VarNames, `,
{
   GuiControl, Text, %A_LoopField%, % V%A_Index%%
   MsgBox, % A_LoopField . " wird in " . V%A_Index% . " geändert." ; Nur zum testen
}
Return
Als Krönung kannst Du das auch auf einfache Arrays umstellen:

Code: Select all

#NoEnv
VarNames := ["A", "B", "C"]         ; Array
AltText := ["Sun", "Moon", "Star"]  ; Array
Gui, Add, Button, w200 vA, Alpha
Gui, Add, Button, w200 vB, Beta
Gui, Add, Button, w200 vC, Ceta
Gui, Show
Sleep 1000
For Index, VarName In VarNames {
   GuiControl, Text, %VarName%, % AltText[Index]
   MsgBox, % VarName . " wird in " . AltText[Index] . " geändert." ; Nur zum testen
}
Return
GuiClose:
ExitApp

Re: Parse Loop und Guicontrol mit Variablen

Posted: 14 Jul 2019, 13:02
by ElektroBerry
Vielen Dank, für die Hilfe. Hat mich wirklich weitergebracht, bei meinem Projekt.