Richtig mit If umgehen

  • Moin Leute irgenwie komm ich nicht weiter mit meinem Script !
    Und zwar möchte ich eine Art Tastatur-Klavier coden.
    Nun möchte ich einbauen das ich bei einem bestimmten Tastenanschlag einen bestimmten beep ausgibt !
    (Das mit dem Tastenanschlag wollt ich mit ispressed einbauem)
    Wie soll ich das mit if jetzt in eine schleife einbauen ?
    Mein SCript bisher:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt('MustDeclareVars', 1)

    [/autoit] [autoit][/autoit] [autoit]

    _Main()

    [/autoit] [autoit][/autoit] [autoit]

    Func _Main()
    Local $AboutID, $BeepID, $msg

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate("TaKla (Tastaturklavier) coded and rights by mongobongo",483,380)
    GUICtrlCreateLabel("Viel Spaß mit dem TaKla v1.0" ,150,5)
    GUICtrlCreatePic("Klavier2.jpg",0,20,476,326)

    [/autoit] [autoit][/autoit] [autoit]

    $AboutID = Guictrlcreatebutton("About", 200, 350 , 75,20)

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()

    Select
    Case $msg = $Gui_Event_Close
    Exit
    Case $msg = $AboutID
    MsgBox(0,"About","coded and rigths by mongobongo" & @CRLF & "visit ...")
    EndSelect
    WEnd
    Endfunc

    [/autoit]

    mongobongo

  • Erst If iund dann immer Elseif. Also ca. so:

    Spoiler anzeigen
    [autoit]

    If _IsPressed($sHexKey1,'user32.dll') then
    Beep()
    ElseIf _IsPressed($sHexKey2, $vDLL = 'user32.dll') then
    Beep()
    ElseIf _IsPressed($sHexKey3, $vDLL = 'user32.dll') then
    Beep()
    ElseIf _IsPressed($sHexKey4, $vDLL = 'user32.dll') then
    Beep()

    [/autoit]

    ......
    Die UDF kannste dir ja mal auch angucken!

    MfG
    Conan (Nur Mitlesend)
    Schon lange dabei

  • Besser mit Select:

    [autoit]


    Select
    Case _IsPressed($sHexKey1,'user32.dll')
    Beep()
    Case _IsPressed($sHexKey2, $vDLL = 'user32.dll')
    Beep()
    Case _IsPressed($sHexKey3, $vDLL = 'user32.dll')
    Beep()
    Case _IsPressed($sHexKey4, $vDLL = 'user32.dll')
    Beep()
    EndSelect

    [/autoit]

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.

  • Mein SCript sieht jetzte so aus :

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <Misc.au3>

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Opt('MustDeclareVars', 1)

    [/autoit] [autoit][/autoit] [autoit]

    _Main()

    [/autoit] [autoit][/autoit] [autoit]

    Func _Main()
    Local $AboutID, $BeepID, $msg

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate("TaKla (Tastaturklavier) coded and rights by mongobongo",476,265)
    GUICtrlCreateLabel("Viel Spaß mit dem TaKla v1.0" ,150,5)
    GUICtrlCreatePic("Klavierbild.jpg",0,20,476,216)

    [/autoit] [autoit][/autoit] [autoit]

    $AboutID = Guictrlcreatebutton("About",200,241,75,20)

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()

    Select
    Case $msg = $Gui_Event_Close
    Exit
    Case $msg = $AboutID
    MsgBox(0,"About","coded and rigths by mongobongo" & @CRLF & "")
    Case _IsPressed(44)
    Beep(130.813)
    Case _IsPressed(46)
    Beep(146.832)
    Case _IsPressed(47)
    Beep(164.814)
    Case _IsPressed(48)
    Beep(174.614)
    Case _IsPressed(4A)
    Beep(195.998)
    Case _IsPressed(4B)
    Beep(220.000)
    Case _IsPressed(4C)
    Beep(246.942)
    Case _IsPressed(52)
    Beep(138.591)
    Case _IsPressed(54)
    Beep(155.563)
    Case _IsPressed(55)
    Beep(184.997)
    Case _IsPressed(49)
    Beep(207.652)
    Case _IsPressed(40)
    Beep(233.082)
    EndSelect
    WEnd
    Endfunc

    [/autoit]

    Doch irgendwie funzt es nich !
    Woran liegts ?