Programm Zeit

  • Ich weiß nicht ob ich in der richtigen Section bin aber ich frag jezz einfach mal hier:

    Könnte jemand mir nen Script schreiben welches Kontrolliert ob und wie lange ein bestimmtes Fenster
    aktiv ist? :)

    Ich würds ja selber machen aber ich kapier es einfach nicht mit der Timers.au3!


    Danke...

    Mfg Tro

    • Offizieller Beitrag

    Die Timers.au3 brauchst du doch gar nicht. TimerInit und TimerDiff brauchst du und WinExists. Dazu noch eine Schleife und du hast alles was du brauchst. Schau dir die Befehle mal in der Hilfe an. Wir sind kein schreib mir mal das Script-Forum. Oder poste in der Jobbörse.

  • [autoit]

    $1 = 1

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

    While 1
    If WinActive("Unbenannt - Editor") = 1 Then
    $start=Timerinit()
    Do

    $bisher=Timerdiff($Start)

    If $1 = 0 Then
    $gesamt = $gesamt + $bisher
    EndIf
    If $1 = 1 Then
    $gesamt = $bisher
    $1 = 0

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

    EndIf

    $gesamt = $gesamt /1000
    $gesamt = Round($gesamt, 0)
    ToolTip(""& $gesamt &"",0,0)
    Until WinActive("Unbenannt - Editor") = 0

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

    EndIf
    WEnd

    [/autoit]

    Ich habs jetzt aber jetzt kommt in der Anzeige immer wieder 0 wenn ich Editor deaktiviere und wieder aktiviere!
    Steh momentan ziemlich auf der Leitung!
    Pls schnelle hilfe! ;D

  • Spoiler anzeigen
    [autoit]

    $1 = TimerInit ()
    $Gesamt = 0
    $Old = 0
    $TIme = 0
    While 1
    If WinActive ("Unbenannt - Editor") and Round (TimerDiff ($1) /1000) <> $Old Then
    $Time = Round (TimerDiff ($1) /1000)
    $Old = $Time
    ToolTip ($Time + $Gesamt)
    ElseIf Not WinActive ("Unbenannt - Editor") Then
    $Gesamt += $Time
    $Time = 0
    ToolTip ($Gesamt)
    WinWaitActive ("Unbenannt - Editor")
    $1 = TimerInit()
    EndIf
    Sleep (10)
    Wend

    [/autoit]

    mfg. Jam00

  • Hi, da du ja immer den Timer neu startest, und damit auch $gesamt überschreibst, muss du die bisherigen Sekunden in einer anderen Variablen speichern und bei der Ausgabe mit dazu zählen.


    Quelltext
    [autoit]


    Local $gesamt, $old = 0, $1 = 1

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

    While 1
    If WinActive("Unbenannt - Editor") = 1 Then
    $start = TimerInit()
    Do

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

    $bisher = TimerDiff($start)

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

    If $1 = 0 Then
    $gesamt = $gesamt + $bisher
    EndIf
    If $1 = 1 Then
    $gesamt = $bisher
    $1 = 0

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

    EndIf

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

    $gesamt = $gesamt / 1000
    $gesamt = Round($gesamt, 0)
    ToolTip("" & $gesamt + $old & "", 0, 0) ;Hier wird $old wieder dazugezählt.
    Until WinActive("Unbenannt - Editor") = 0
    $old += $gesamt ; Schreibe die bisherigen Sekunden in $old
    EndIf
    WEnd

    [/autoit]

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)