Hallo,
also ich hab mal ein wenig herumgebastelt und wollte mal etwas mit "or" ausprobieren.
In der Hilfe hab ich nichts über or gefunden,bzw sie hat mir gesagt, dass sie danach nicht suchen kann.
Hat zum Anfang alles geklappt aber je mehr "or"s ich verwendet habe, desto schlimmer wurde es.
Schaut euch mal das hier an(Die MsgBox kommt, obwohl das eig garnicht sein darf....)
Spoiler anzeigen
#Include <Constants.au3>
#include <GuiConstants.au3>
;=
$gui = GUICreate("",180,200)
$1 = GUICtrlCreateButton("KlickR",20,20,50)
$2 = GUICtrlCreateButton("KlickR2",20,60,50)
$3 = GUICtrlCreateButton("KlickR3",20,100,50)
$4 = GUICtrlCreateButton("KlickL",80,20,50)
$5 = GUICtrlCreateButton("KlickL2",80,60,50)
$6 = GUICtrlCreateButton("KlickL3",80,100,50)
$7 = GUICtrlCreateButton("KlickR4",20,140,50)
$8 = GUICtrlCreateButton("KlickL4",80,140,50)
GUISetState(@SW_SHOW,$gui)
;=
$klickR = 1 ;<------------------
$klickL = 1 ;<------------------
;=
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
case $msg = $1
$klickR = "klick"
Case $msg = $2
$klickR = "klick2"
case $msg = $3
$klickR = "klick3"
case $msg = $7
$klickR = "klick4"
case $msg = $4
$klickL = "klick"
case $msg = $5
$klickL = "klick2"
case $msg = $6
$klickL = "klick3"
case $msg = $8
$klickL = "klick4"
EndSelect
;=
If $klickR = "klick" or "klick2" or "klick3" or "klick4" And $klickL = "klick" or "klick2" or "klick3" or "klick4" Then
;
msgbox(0,"","Häh?")
;
EndIf
Wend
Dann dachte ich mir: "Ok dann kann der eben nicht mit so vielen ors umgehen.Ich such mal eine Alternative."
Dabei kam dann das hier raus:
Spoiler anzeigen
#Include <Constants.au3>
#include <GuiConstants.au3>
;=
$gui = GUICreate("",180,200)
$1 = GUICtrlCreateButton("KlickR",20,20,50)
$2 = GUICtrlCreateButton("KlickR2",20,60,50)
$3 = GUICtrlCreateButton("KlickR3",20,100,50)
$4 = GUICtrlCreateButton("KlickL",80,20,50)
$5 = GUICtrlCreateButton("KlickL2",80,60,50)
$6 = GUICtrlCreateButton("KlickL3",80,100,50)
$7 = GUICtrlCreateButton("KlickR4",20,140,50)
$8 = GUICtrlCreateButton("KlickL4",80,140,50)
GUISetState(@SW_SHOW,$gui)
;=
$klickR = 1 ;<------------------
$klickL = 1 ;<------------------
;=
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
case $msg = $1
$klickR = "klick"
Case $msg = $2
$klickR = "klick2"
case $msg = $3
$klickR = "klick3"
case $msg = $7
$klickR = "klick4"
case $msg = $4
$klickL = "klick"
case $msg = $5
$klickL = "klick2"
case $msg = $6
$klickL = "klick3"
case $msg = $8
$klickL = "klick4"
EndSelect
;=
;If $klickR = "klick" or "klick2" or "klick3" or "klick4" And $klickL = "klick" or "klick2" or "klick3" or "klick4" Then
;
; msgbox(0,"","Häh?")
;
;EndIf
If $klickR = "klick2" or "klick3" or "klick4" And $klickL = "klick" Then
$ergebnis = $klickR & $klickL
MsgBox(0,"",$ergebnis)
$klickL = 1
$klickR = 1
EndIf
If $klickR = "klick" or "klick3" or "klick4" And $klickL = "klick2" Then
$ergebnis = $klickR & $klickL
MsgBox(0,"",$ergebnis)
$klickL = 1
$klickR = 1
EndIf
If $klickR = "klick" or "klick2" or "klick4" And $klickL = "klick3" Then
$ergebnis = $klickR & $klickL
MsgBox(0,"",$ergebnis)
$klickL = 1
$klickR = 1
EndIf
If $klickR = "klick" or "klick2" or "klick3" And $klickL = "klick4" Then
$ergebnis = $klickR & $klickL
MsgBox(0,"",$ergebnis)
$klickL = 1
$klickR = 1
EndIf
Wend
Meiner Meinung nach, habe ich das Script so programmiert, dass alle Buttons ,die auf der gleichen Ebene stehen, nicht miteinander kombiniert werden können.
Aber irgendwie geht das doch. Warum versteh ich nicht.
Meine Schlussfolgerung war, dass man "or" also nur einmal verwenden kann!??
Wie kann man sowas jetz trotzdem realisieren?( ohne mega viel Schreibarbeit versteht sich:) )
PS: Ich weiß dass Links und Rechts vertauscht ist. War nur zu faul es zu ändern^^
Gruß