Anschlage Zähler

  • Hey leute,

    ich wollte ein kleines Programm haben das mit die Anschläge zählt die ich in einer Minute schreibe.
    Wichtig dabei ist, das es meiner vorlage nicht abweicht.
    Wer könnte mir soetwas schnell machen?
    Wenn möglich heute noch...!

    Es sollen die anschläge gezehlt werden die man eingibt nicht in einem besonderem feld.

    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Anschläge pro Minute", 292, 126, 192, 124)
    $Input1 = GUICtrlCreateInput("Input1", 8, 8, 105, 21)
    $Label1 = GUICtrlCreateLabel("Countdown bitte eintragen.", 8, 32, 131, 17)
    $Label2 = GUICtrlCreateLabel("Minuten", 120, 10, 42, 17)
    $Button1 = GUICtrlCreateButton("Starten", 200, 96, 75, 25)
    $Checkbox1 = GUICtrlCreateCheckbox("In 2 Sekunden", 192, 8, 97, 17)
    $Checkbox2 = GUICtrlCreateCheckbox("In 5 Sekunden", 192, 32, 97, 17)
    $Checkbox3 = GUICtrlCreateCheckbox("In 10 Sekunden", 192, 56, 97, 17)
    $Label3 = GUICtrlCreateLabel("Ihre Anschläge pro Minute beträgt:", 8, 56, 167, 17)
    $Label4 = GUICtrlCreateLabel("18000", 56, 80, 49, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Checkbox4 = GUICtrlCreateCheckbox("Start u. Schluss Ton", 168, 80, 121, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]

    Einmal editiert, zuletzt von Zero2q (25. Mai 2010 um 22:37)

  • ganz einfach wenn ich z.B. eine taste dauerhaft drücke zählt es und das nicht immer nur eins solltest mal nachschauen es zählt tausende.

    Weil ich keine lust und zeit habe es selber zu machen wende ich mich ja an die Jobbörse und ich glaube dafür ist diese auch da wenn nicht würde ich mal den Untertitel am Thera änderen ;)


    Edit:

    Ich habe eins im Netz gefunden...

    Einmal editiert, zuletzt von Zero2q (25. Mai 2010 um 22:31)

  • Naja auch wenn du jetzt einen gefunden hast :D.

    Spoiler anzeigen
    [autoit]

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

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

    Opt("GUIOnEventMode", 1)

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

    $hWnd = GUICreate("Anschläge", 200, 150)
    $cLabel1 = GUICtrlCreateLabel("Gesamt:", 5, 5, 50, 15)
    $cLabel2 = GUICtrlCreateLabel("Pro Minute:", 5, 25, 60, 15)
    $cCounter = GUICtrlCreateLabel(0, 100, 5, 90, 15)
    $cKeysPerMinute = GUICtrlCreateLabel(0, 100, 25, 90, 15)
    $cEdit = GUICtrlCreateEdit("", 5, 45, 190, 100)
    GUISetState()

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

    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")

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

    Dim $aKeys[43]
    For $i = 0 To 42
    $aKeys[$i] = False
    Next

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

    $vUser32DLL = DllOpen("User32.dll")
    $iKeysPressed = 0
    $Timer = TimerInit()

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

    While Sleep(10)
    For $i = 48 To 90
    If _IsPressed(Hex($i, 2), $vUser32DLL) Then
    If $aKeys[$i - 48] = False Then
    $aKeys[$i - 48] = True
    $iKeysPressed += 1
    _Update()
    EndIf
    Else
    $aKeys[$i - 48] = False
    EndIf
    Next
    WEnd

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

    Func _Update()
    $KeysPerMinute = $iKeysPressed / (TimerDiff($Timer) / 60)
    GUICtrlSetData($cCounter, $iKeysPressed)
    GUICtrlSetData($cKeysPerMinute, Round($KeysPerMinute, 2))
    EndFunc ;==>_Update

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

    Func _Exit()
    Exit
    EndFunc ;==>_Exit

    [/autoit]