Gui Fragenkette

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

MrRobot123
Posts: 2
Joined: 09 May 2019, 02:26

Gui Fragenkette

09 May 2019, 02:35

Hallo Zusammen,

ich würde mehrere Fragen hintereinander bekommen.
Bei Anklicken einer Antwortmöglichkeit sollte Text ausgegeben werden.
Mit einer Frage funktioniert alles. Ab 2 Fragen funktioniert leider nichts mehr.

Würde mich freuen, wenn jemand weiterhelfen könnte.
Vielen Dank

Code: Select all


Gui, Add, Text,,Frage1:
Gui, Add, Radio, vCheckboxE, gut
Gui, Add, Radio, vCheckboxS, schlecht
Gui, Add, Radio, vCheckboxk, keine Angabe
Gui, Add, Button, Default, OK
Gui, Margin ,150,40
Gui, +AlwaysOnTop
Gui, show, x1000 y150

return

ButtonOK:
Gui, Submit



If (CheckboxE = 1) 
{
Send, ok
Send, {Enter}
}
Else If(CheckboxS = 1)
{
Send, nicht ok
Send, {Enter}
}
Else If(Checkboxk = 1)
{
Send, keine Angabe möglich
Send, {Enter}
}

return

Gui, Add, Text,,Frage 2:
Gui, Add, Radio, vCheckboxUG, Perfekt
Gui, Add, Radio, vCheckboxU, Sehr gut
Gui, Add, Radio, vCheckboxN, nicht gut
Gui, Add, Button, Default, OK
Gui, Margin ,150,40
Gui, +AlwaysOnTop
Gui, show, x1000 y150

return


ButtonOK2:
Gui, Submit



If (CheckboxUG = 1) 
{
Send, Perfekt
Send, {Enter}
}
Else If(CheckboxU = 1)
{
Send, Sehr gut 
Send, {Enter}
}
Else If(CheckboxN = 1)
{
Send, Nicht gut 
Send, {Enter}
}



GuiClose:
ExitApp

User avatar
jNizM
Posts: 2425
Joined: 30 Sep 2013, 01:33
GitHub: jNizM
Contact:

Re: Gui Fragenkette

09 May 2019, 03:26

Hi,

entweder schließt du die erste Gui, bevor du die zweite öffnest, oder du arbeitest mit Gui-Namen (https://ahkde.github.io/docs/commands/Gui.htm#New)

Das wäre eine von mehreren Möglichkeiten (Goto):

Code: Select all

Gui1:
Gui, Add, Text,, % "1. Gui"
Gui, Add, Radio, vRB1, % "1. RB"
Gui, Add, Radio, vRB2, % "2. RB"
Gui, Add, Button, gBT1, % "OK"
Gui, Show, w150 h120
return

Gui2:
Gui, Add, Text,, % "2. Gui"
Gui, Add, Radio, vRB3, % "3. RB"
Gui, Add, Radio, vRB4, % "4. RB"
Gui, Add, Button, gBT2, % "OK"
Gui, Show, w150 h120
return

BT1:
Gui, Submit, NoHide
if (RB1)
	MsgBox % "1. RB"
else if (RB2)
	MsgBox % "2. RB"
else
	MsgBox % "keine RB"
Gui, Destroy
Goto, Gui2
return

BT2:
Gui, Submit, NoHide
if (RB3)
	MsgBox % "3. RB"
else if (RB4)
	MsgBox % "4. RB"
else
	MsgBox % "keine RB"
Gui, Destroy
Goto, GuiEnd
return

GuiEnd:
ExitApp
[AHK] 1.1.30.03 x64 Unicode | [WIN] 10 Pro (Version 1903) x64 | [GitHub] Profile
Donations are appreciated if I could help you
just me
Posts: 6379
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Gui Fragenkette

09 May 2019, 03:59

Moin,

die 'einfachste' Möglichkeit besteht meiner Meinung nach darin, das Fenster nach jeder Antwort zu zerstören und komplett neu aufzubauen. Dann kannst Du auch die Namen der Variablen für die Steuerelemente 'wiederverwenden'. Das wird deutlich flexibler, wenn man es mit Frage- und Antwortlisten kombiniert:

Code: Select all

#NoEnv
; Fragenliste
Fragen =
(
Frage 1
Frage 2
Frage 3
)
; Antwortenliste
Antworten =
(
Antwort 1|Antwort 2|Antwort 3
Antwort 4|Antwort 5|Antwort 6
Antwort 7|Antwort 8|Antwort 9
)
; Array mit Fragen erstellen
FragenArray := StrSplit(Fragen, "`n", "`r")
; Array mit Antworten erstellen
AntwortArray := []
For Index, Zeile In StrSplit(Antworten, "`n", "`r")
   AntwortArray[Index] := StrSplit(Zeile, "|")
AnzahlFragen := FragenArray.Length()
FrageNummer := 0
GoSub, FensterErstellen
Return

FensterErstellen:
If (FrageNummer < AnzahlFragen) {
   FrageNummer += 1
   Gui, Destroy
   Gui, +AlwaysOnTop
   Gui, Add, Text, , % FragenArray[FrageNummer]
   Gui, Add, Radio, vAntwort, % AntwortArray[Fragenummer, 1]
   Gui, Add, Radio,         , % AntwortArray[Fragenummer, 2]
   Gui, Add, Radio,         , % AntwortArray[Fragenummer, 3]
   Gui, Add, Button, Default, OK
   Gui, Margin, 150, 40
   Gui, Show, x1000 y150, Fragen
   Return
}
MsgBox, 0, Programmende, Alle Fragen wurden bearbeitet.`nDas Programm wird beendet.
ExitApp

ButtonOK:
Gui, Submit, NoHide
If (Antwort = 0) {
   MsgBox, 0, Achtung!, Wählen Sie bitte eine Antwort aus!
   Return
}
; Mach hier mit der Antwort, was immer Du willst
MsgBox, 0, Antwort, % AntwortArray[Fragenummer, Antwort]
Gosub, FensterErstellen
Return

GuiClose:
ExitApp
Moin jNizM,
das hat bei mir wirklich lange gedauert.
Guest

Re: Gui Fragenkette

09 May 2019, 05:59

Danke für eure Hilfe!
Hat mir richtig gut geholfen.
MrRobot123
Posts: 2
Joined: 09 May 2019, 02:26

Re: Gui Fragenkette

09 May 2019, 06:00

Danke für eure Hilfe!
Hat mir gut geholfen!

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 15 guests