Page 1 of 1

Goto mit Enter:: aber nur solange bis das Fenster geschlossen ist

Posted: 03 May 2020, 17:12
by GamerG1rl
Hallöchen,

ich suche nach einer Möglichkeit, um folgendes zu tun:
Ich habe ein Gui gebaut, welches mehrere Abfragen (name, Adresse usw.) beinählt.
Der User soll mit einem Drücken auf Enter zur nächsten Frage geleitet werden (habe es so gebaut, dass die Antwort mit 0 vermerkt wird und nur alle Werte abgefragt werden, die eine 1 haben)

Habe schon folgendes gebaut, bekomme da aber die Rückmeldung, dass Enter doppelt belegt ist (was ja auch stimmt)
Hat jemand n Tipp ?

Code: Select all

Start:
Gui1Aktiv := True
While (Gui1Aktiv) ; auf das Schließen von Gui 1 warten
{
   Enter::
	gosub, Datenabfrage2
return
}
else
{
	msgbox, Feierabend
	Enter::
   {
	
	}
	return
}

Datenabfrage2:
Var := Var +1
msgbox, %var%

if (Var >= "5")
	Gui15Aktiv := False
Goto, Start

return

Re: Goto mit Enter:: aber nur solange bis das Fenster geschlossen ist

Posted: 03 May 2020, 19:50
by HotKeyIt
Du kannst ein Button mit Default Option nutzen:

Code: Select all

Gui,Add,Edit,w200
Gui,Add,Button,x0 y0 Default Hidden gEnter,Enter
Gui,Show
return

Enter:
MsgBox You pressed Enter!
Return

GuiClose:
ExitApp

Re: Goto mit Enter:: aber nur solange bis das Fenster geschlossen ist

Posted: 04 May 2020, 04:51
by just me
Moin,

es ist nicht möglich, Hotkeys in Abhängigkeit von 'normalen' Bedingungsprüfungen wie While oder Else zu definieren. Wenn das Skript eingelesen wird, werden die Hotkeys dann sofort angelegt, als hättest Du die Definitionen einzeln an das Ende des Skripts gestellt. Deshalb kommt auch die Fehlermeldung zum doppelten Enter Hotkey.

Wenn Du mit 'bedingten' Hotkeys arbeiten willst, hilft DIr die #If Direktive. Das könnte dann so aussehen:

Code: Select all

Start:
Gui1Aktiv := True
While (Gui1Aktiv) ; auf das Schließen von Gui 1 warten
{
	Sleep, 10
}
MsgBox, Feierabend
Return

#If (Gui1Aktiv)
Enter::
	Gosub, Datenabfrage2
Return
#If

Datenabfrage2:
Var := Var + 1
MsgBox, %Var%
If (Var >= 5)
	Gui1Aktiv := False
Return
Alternativ kann man Hotkeys mit der Hotkey Anweisung aus- und einschalten.