GUI-Checkbox über Funktion auslesen Topic is solved

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

User avatar
LuckyJoe
Posts: 343
Joined: 02 Oct 2013, 09:52

Re: GUI-Checkbox über Funktion auslesen

25 Mar 2021, 17:43

... Ich habe mich letztendlich für die Schreibweise von just me entschieden, da sie noch etwas übersichtlicher und für mich durch die Bezeichner einfacher nachvollziehbar ist. Danke an alle.
Herzliche Grüße aus dem Rheinland
Lucky Joe
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: GUI-Checkbox über Funktion auslesen

26 Mar 2021, 01:40

LuckyJoe wrote:
25 Mar 2021, 17:39
... ahhh ... also innerhalb von "", ok, sorry, das kannte ich nicht.

Gui, Add, CheckBox, % "y+4" "gCheck vCB" . Index . " Checked", % Prog.Name

Danke!
Fast, ...

Gui, Add, CheckBox, % "Checked x10 yp+4 h10 gCheck vCB" . Index , % Prog.Name

... da die Parameter (String, Variable) im Befehl in beliebiger Reihenfolge gesetzt werden können, kann der 'String'-Teil auch als 'Block' definiert werden. HTH

PS. dein Beispiel sollte einen Fehler auswerfen da "y+4" "gCheck ..." wie folgt vom Interpreter gelesen wird 'y+4gCheck' (fehlendes Leerzeichen!). Das vermeidest du eher, wenn als Block geschrieben wird.
User avatar
LuckyJoe
Posts: 343
Joined: 02 Oct 2013, 09:52

Re: GUI-Checkbox über Funktion auslesen

26 Mar 2021, 02:20

... wieder dazugelernt :-)
Meine Konstrukt ergab übrigens keinen Fehler, aber deine Lösung ist für mich plausibel und nachvollziehbar. - Danke.
Herzliche Grüße aus dem Rheinland
Lucky Joe
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: GUI-Checkbox über Funktion auslesen

26 Mar 2021, 02:57

Code: Select all

MsgBox % "text" "text"	; ohne block, mit vermeintlichem Leerzeichen.
MsgBox % "text text"	; en bloc
MsgBox % "text" " text"	; ohne block mit includiertem Leerzeichen

Gui, Add, CheckBox,% "x10 y20" "gLabel", text	; gLabel funktioniert nicht (zwei strings, durch vermeintliches Leerzeichen getrennt)
Gui, Add, CheckBox,% "x80 y20 gLabel", text		; gLabel funktioniert (string en bloc)
Gui, Add, CheckBox,% "x160 y20" " gLabel", text	; gLabel funktioniert (string mit includiertem Leerzeichen)
Gui, Add, CheckBox,% "x220 y10gLabel", text		; gLabel funktioniert nicht. y-position wird jedoch korrekt prozessiert.
Gui, Show, w240,% chr(32)
Return

Label:
MsgBox !
Return
Korrekt. Gibt keine Fehlermeldung. Allerdings wird ein ungewolltes/fehlerhaftes Verhalten bewirkt. JFTR, HTH
just me
Posts: 9576
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: GUI-Checkbox über Funktion auslesen

26 Mar 2021, 04:07

Solange in den Optionen der AHK 1.1 Gui-Anweisungen nur 'einfache' Veriablenreferenzen auftauchen, sehe ich keinen Grund, es nicht bei der 'traditionellen' Syntax zu belassen:

Code: Select all

Gui, Add, CheckBox, y+4 gCheck vCB%Index% Checked, % Prog.Name
Da sieht man, was man hat! ;)
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: GUI-Checkbox über Funktion auslesen

26 Mar 2021, 07:23

D'accord :) ich wundere mich nur das der Interpreter für die expression-Variante eine solche Positionsangabe y+10gCheck überhaupt realisiert, doch zeitgleich das Sprunglabel ignoriert, anstatt generell einen Fehler auszuwerfen?! Und hier "y+10" "gCheck" wird das gLabel trotz korrekter Deklarierung als separater String ebenfalls ignoriert? Sieht für mich nach "zufällig kann für Gui-Parameter eine expression erzwungen werden, doch die üblichen Standards für expressions (AFAIKThem) gelten nur bedingt"?! Ist das jetzt bug oder feature?? :think:
User avatar
LuckyJoe
Posts: 343
Joined: 02 Oct 2013, 09:52

Re: GUI-Checkbox über Funktion auslesen

26 Mar 2021, 08:50

just me wrote:
26 Mar 2021, 04:07
Solange in den Optionen der AHK 1.1 Gui-Anweisungen nur 'einfache' Veriablenreferenzen auftauchen, sehe ich keinen Grund, es nicht bei der 'traditionellen' Syntax zu belassen:

Code: Select all

Gui, Add, CheckBox, y+4 gCheck vCB%Index% Checked, % Prog.Name
Da sieht man, was man hat! ;)
... noch etwas kürzer und übersichtlicher :-)
Danke.
Herzliche Grüße aus dem Rheinland
Lucky Joe
just me
Posts: 9576
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: GUI-Checkbox über Funktion auslesen

26 Mar 2021, 09:12

@BoBo

Code: Select all

 y+10gCheck
Ich gehe von Folgendem aus:
  • AHK stolpert beim Auswerten der Optionen über das y+.
  • Es greift sich dann Alles bis zum nächsten Space, Tab oder Komma.
  • Dieser String wird an eine Funktion wie z.B. atoi() übergeben, um ihn in einen Integerwert zu konvertieren.
  • Die Funktion findet am Anfang 2 Ziffern und bildet daraus den Wert 10. Der Rest wird einfach ignoriert.
  • AHK hat seinen Integerwert und ist zufrieden. Dass da etwas und was überhüpft wurde, merkt es nicht.

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 46 guests