Flimmern bei Labels unterdrücken

  • Ok , tut mir leid , ein einfaches

    [autoit]

    Sleep (30)

    [/autoit]

    hats gebracht.
    Thema kann somit gelöscht werden!
    Sollte kein Spamming sein.

    Einmal editiert, zuletzt von r1fLeX (25. Oktober 2008 um 18:43)

  • Das hätte auch geholfen:

    [autoit]

    While 1
    $maus = MouseGetPos()
    If GUICtrlRead($Label2) <> $maus[0] & "/" & @DesktopWidth Then GUICtrlSetData($Label2,$maus[0] & "/" & @DesktopWidth)
    If GUICtrlRead($Label4) <> $maus[1] & "/" & @DesktopHeight Then GUICtrlSetData($Label4,$maus[1] & "/" & @DesktopHeight)
    WEnd

    [/autoit]

    Threads werden hier nicht gelöscht. Einfach ersten Beitrag editieren und auf 'gelöst' stellen.

  • Da er irgendwie nur 1023 und 767 erkannt hat also immer 1 Pixel weniger als der Bildschirm breit/hoch ist. :?: 8|

  • Oh , stimmt.^^
    Naja , so siehts aber schöner aus und der User des Programmes ist nicht so verwirrt und denk sich " WTF?!?!?! IST MEIN BILDSCHIRM 1 PIXEL ZU KLEIN?!?!" :D

    • Offizieller Beitrag

    Die Startzeit entspricht deiner $Uhrzeit da du sie als erstes im Script berechnen läßt . Also frage bei Scriptende die Uhrzeit noch mal ab und lass dir die diverenz mit DateDiff anzeigen .

  • Ich will doch aber die Laufzeit in der großen GUI anzeigen lassen ;).

    [autoit]


    $Label7 = GUICtrlCreateLabel("", 303, 3, 55, 19)
    $Label8 = GUICtrlCreateLabel("Zähler", 264, 3, 34, 17)

    [/autoit]
    • Offizieller Beitrag

    Zähler soll die Laufzeit sein oder was ? Alo willst du net die Laufzeit bis Programmende ?

    • Offizieller Beitrag

    Gib mal genauer an was du brauchst willst du eine ständige anzeige der Laufzeit ? LAufzeit wenn eine Aktion durchgeführt wird z.b. Mouseclick ?

  • Ich möchte anzeigen lasen wie lange das Programm läuft.
    Also nach dem Starten soll sich halt eine Variable jede Sekunde um 1 erhöhen damit ich diese variable dann im Label anzeigen lassen kann.

    • Offizieller Beitrag

    Probier mal das hier :

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #Include <Date.au3>
    #NoTrayIcon
    Opt("TrayMenuMode", 1)

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

    $StartZeit = _Nowcalc()
    TraySetIcon("Shell32.dll", 23)
    $Form1 = GUICreate("Maus-O-Mat", 353, 19, @DesktopWidth / 2 - 150, 0, $WS_POPUP)
    $Label1 = GUICtrlCreateLabel("X:", 3, 3, 11, 17)
    $Label2 = GUICtrlCreateLabel("", 15, 3, 55, 19)
    $Label3 = GUICtrlCreateLabel("Y:", 75, 3, 11, 17)
    $Label4 = GUICtrlCreateLabel("", 87, 3, 52, 19)
    $Label5 = GUICtrlCreateLabel("Color:", 144, 3, 31, 17)
    $Label6 = GUICtrlCreateLabel("", 181, 3, 83, 19)
    $Label7 = GUICtrlCreateLabel("", 303, 3, 55, 19)
    $Label8 = GUICtrlCreateLabel("Zähler", 264, 3, 42, 17)
    GUISetState(@SW_SHOW)

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

    $Form2 = GUICreate("Form2", 353, 19, @DesktopWidth / 2 -150, 19,$WS_POPUP)
    GUISetState(@SW_SHOW)

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

    HotKeySet ( "^s","_Speichern")
    HotKeySet ( "^c","_Close")

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

    Func _Zeitdiverenz(); Zeitdiverenz berechnen
    $ZeitDiverenz = _DateDiff( 's',$StartZeit,_NowCalc())
    $Sekunden = $ZeitDiverenz - Int($ZeitDiverenz / 60) * 60
    $Stunden = Int(Int($ZeitDiverenz / 60) / 60)
    $Minuten = Int($ZeitDiverenz / 60) - $Stunden * 60
    If $Minuten < 10 Then
    $Minuten = "0" & $Minuten
    ElseIf $Minuten = 0 Then
    $Minuten = "00"
    EndIf
    If $Sekunden < 10 Then
    $Sekunden = "0" & $Sekunden
    ElseIf $Sekunden = 0 Then
    $Sekunden = "00"
    EndIf
    If $Stunden < 10 Then
    $Stunden = "0" & $Stunden
    ElseIf $Stunden = 0 Then
    $Stunden = "00"
    EndIf
    GUICtrlSetData($Label8, $Stunden & ":" & $Minuten & ":" & $Sekunden)
    EndFunc

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

    Func _Speichern()
    $uhrzeit = @HOUR & ":" & @MIN & ":" & @SEC
    $datum = @WDAY & "." & @MON & "." & @YEAR
    IniWrite( @Scriptdir & "/Maus-O-Meter.ini",$datum & " um " & $uhrzeit , "X:",$Label2)
    IniWrite( @Scriptdir & "/Maus-O-Meter.ini",$datum & " um " & $uhrzeit , "Y:",$Label4)
    IniWrite( @Scriptdir & "/Maus-O-Meter.ini",$datum & " um " & $uhrzeit , "Hex Color:",$Label6)
    IniWrite( @Scriptdir & "/Maus-O-Meter.ini",$datum & " um " & $uhrzeit , "Zähler:",$Label7)
    EndFunc

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

    Func _Close()
    Exit
    EndFunc
    AdlibEnable("_Zeitdiverenz",1000)
    While 1
    $maus = MouseGetPos()
    $farbe = PixelGetColor($maus[0], $maus[1])
    GUICtrlSetData($Label6, "0x" & Hex($farbe, 6))
    GUISetBkColor($farbe)
    If $maus[0] = 1023 Then
    Sleep(30)
    GUICtrlSetData($Label2, "1024/1024")
    ElseIf $maus[1] = 767 Then
    Sleep(30)
    GUICtrlSetData($Label4, "768/768")
    Else
    Sleep(30)
    GUICtrlSetData($Label2, $maus[0] & "/" & @DesktopWidth)
    GUICtrlSetData($Label4, $maus[1] & "/" & @DesktopHeight)
    EndIf
    WEnd

    [/autoit]

    Hab auch gleich deine Speichern Function umgeschrieben ich denk du willst des Datum und die Aktuelle Uhrzeit beim Speichern und nicht die Daten von deinem Programmstart .

    BugFix dein Countdown is cool .
    @r1fLeX dein Code ist aber viel zu lang , der ist kürzer und macht des selbe .

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #Include <Date.au3>
    #NoTrayIcon
    Opt("TrayMenuMode", 1)

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

    $StartZeit = _Nowcalc()
    TraySetIcon("Shell32.dll", 23)
    $Form1 = GUICreate("Maus-O-Mat", 353, 19, @DesktopWidth / 2 - 150, 0, $WS_POPUP)
    $Label1 = GUICtrlCreateLabel("X:", 3, 3, 11, 17)
    $Label2 = GUICtrlCreateLabel("", 15, 3, 55, 19)
    $Label3 = GUICtrlCreateLabel("Y:", 75, 3, 11, 17)
    $Label4 = GUICtrlCreateLabel("", 87, 3, 52, 19)
    $Label5 = GUICtrlCreateLabel("Color:", 144, 3, 31, 17)
    $Label6 = GUICtrlCreateLabel("", 181, 3, 83, 19)
    $Label7 = GUICtrlCreateLabel("", 303, 3, 55, 19)
    $Label8 = GUICtrlCreateLabel("Zähler", 264, 3, 42, 17)
    GUISetState(@SW_SHOW)

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

    $Form2 = GUICreate("Form2", 353, 19, @DesktopWidth / 2 -150, 19,$WS_POPUP)
    GUISetState(@SW_SHOW)

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

    HotKeySet ( "^s","_Speichern")
    HotKeySet ( "^c","_Close")

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

    Func _Zeitdiverenz(); Zeitdiverenz berechnen
    $ZeitDiverenz = _DateDiff( 's',$StartZeit,_NowCalc())
    $Sekunden = $ZeitDiverenz - Int($ZeitDiverenz / 60) * 60
    $Stunden = Int(Int($ZeitDiverenz / 60) / 60)
    $Minuten = Int($ZeitDiverenz / 60) - $Stunden * 60
    If $Minuten < 10 Then
    $Minuten = "0" & $Minuten
    ElseIf $Minuten = 0 Then
    $Minuten = "00"
    EndIf
    If $Sekunden < 10 Then
    $Sekunden = "0" & $Sekunden
    ElseIf $Sekunden = 0 Then
    $Sekunden = "00"
    EndIf
    If $Stunden < 10 Then
    $Stunden = "0" & $Stunden
    ElseIf $Stunden = 0 Then
    $Stunden = "00"
    EndIf
    GUICtrlSetData($Label8, $Stunden & ":" & $Minuten & ":" & $Sekunden)
    EndFunc

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

    Func _Speichern()
    $uhrzeit = @HOUR & ":" & @MIN & ":" & @SEC
    $datum = @WDAY & "." & @MON & "." & @YEAR
    IniWrite( @Scriptdir & "/Maus-O-Meter.ini",$datum & " um " & $uhrzeit , "X:",$Label2)
    IniWrite( @Scriptdir & "/Maus-O-Meter.ini",$datum & " um " & $uhrzeit , "Y:",$Label4)
    IniWrite( @Scriptdir & "/Maus-O-Meter.ini",$datum & " um " & $uhrzeit , "Hex Color:",$Label6)
    IniWrite( @Scriptdir & "/Maus-O-Meter.ini",$datum & " um " & $uhrzeit , "Zähler:",$Label7)
    EndFunc

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

    Func _Close()
    Exit
    EndFunc
    AdlibEnable("_Zeitdiverenz",1000)
    While 1
    $maus = MouseGetPos()
    $farbe = PixelGetColor($maus[0], $maus[1])
    GUICtrlSetData($Label6, "0x" & Hex($farbe, 6))
    GUISetBkColor($farbe)
    Sleep(50)
    GUICtrlSetData($Label2, $maus[0] +1 & "/" & @DesktopWidth)
    GUICtrlSetData($Label4, $maus[1] +1 & "/" & @DesktopHeight)
    WEnd

    [/autoit]
  • So aaaaaaalerletze Frage für heute dann geh ich weg!
    Das Script sieht so aus:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <Date.au3>
    #NoTrayIcon
    Opt("TrayMenuMode", 1)
    $einloggen = InputBox("Eingabe", "Bitte geben sie das Passwort ein!", "I dont know:(")
    If $einloggen <> "autoit.de" Then
    ElseIf $einloggen = "" Then
    MsgBox(48, "Achtung", "Du musst schon etwas eingeben")
    Exit
    EndIf

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

    $status2 = 1
    $iMsgBoxAnswer = MsgBox(52, "Maus-O-Meter", "Dieses Programm erstellt eine .ini File im Script Ordner!" & @CRLF & "Ist das in Ordnung für Sie?")
    Select
    Case $iMsgBoxAnswer = 6 ;Yes
    Case $iMsgBoxAnswer = 7 ;No
    Exit
    EndSelect

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

    $StartZeit = _NowCalc()
    TraySetIcon("Shell32.dll", 23)
    $Form1 = GUICreate("Maus-O-Mat", 353, 19, @DesktopWidth / 2 - 150, 0, $WS_POPUP)
    $Label1 = GUICtrlCreateLabel("X:", 3, 3, 11, 17)
    $Label2 = GUICtrlCreateLabel("", 15, 3, 55, 19)
    $Label3 = GUICtrlCreateLabel("Y:", 75, 3, 11, 17)
    $Label4 = GUICtrlCreateLabel("", 87, 3, 52, 19)
    $Label5 = GUICtrlCreateLabel("Color:", 144, 3, 31, 17)
    $Label6 = GUICtrlCreateLabel("", 181, 3, 83, 19)
    $Label7 = GUICtrlCreateLabel("", 303, 3, 55, 19)
    $Label8 = GUICtrlCreateLabel("Zähler", 264, 3, 42, 17)
    GUISetState(@SW_SHOW)

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

    $Form2 = GUICreate("Farb Vorschau", 353, 19, @DesktopWidth / 2 - 150, 19, $WS_POPUP)
    GUISetState(@SW_SHOW)

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

    HotKeySet("^s", "_Speichern")
    HotKeySet("^c", "_Close")
    HotKeySet("^h", "_Hide")

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

    Func _Hide()
    If $status2 = 2 Or 4 Or 6 Or 8 Or 10 Or 12 Then
    WinSetState("Farb Vorschau", "", @SW_SHOW)
    $status2 = $status2 +1
    Else
    WinSetState("Farb Vorschau", "", @SW_HIDE)
    EndIf
    EndFunc

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

    Func _Zeitdiverenz(); Zeitdiverenz berechnen
    $ZeitDiverenz = _DateDiff('s', $StartZeit, _NowCalc())
    $Sekunden = $ZeitDiverenz - Int($ZeitDiverenz / 60) * 60
    $Stunden = Int(Int($ZeitDiverenz / 60) / 60)
    $Minuten = Int($ZeitDiverenz / 60) - $Stunden * 60
    If $Minuten < 10 Then
    $Minuten = "0" & $Minuten
    ElseIf $Minuten = 0 Then
    $Minuten = "00"
    EndIf
    If $Sekunden < 10 Then
    $Sekunden = "0" & $Sekunden
    ElseIf $Sekunden = 0 Then
    $Sekunden = "00"
    EndIf
    If $Stunden < 10 Then
    $Stunden = "0" & $Stunden
    ElseIf $Stunden = 0 Then
    $Stunden = "00"
    EndIf
    GUICtrlSetData($Label8, $Stunden & ":" & $Minuten & ":" & $Sekunden)
    EndFunc ;==>_Zeitdiverenz

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

    Func _Speichern()
    $x = $maus[0] & "/1024"
    $y = $maus[1] & "/768"
    $uhrzeit = @HOUR & ":" & @MIN & ":" & @SEC
    $datum = @WDAY & "." & @MON & "." & @YEAR
    IniWrite(@ScriptDir & "/Maus-O-Meter.ini", $datum & " um " & $uhrzeit, "X:", $x)
    IniWrite(@ScriptDir & "/Maus-O-Meter.ini", $datum & " um " & $uhrzeit, "Y:", $y)
    IniWrite(@ScriptDir & "/Maus-O-Meter.ini", $datum & " um " & $uhrzeit, "Hex Color:", "0x" & Hex($farbe, 6))
    EndFunc ;==>_Speichern

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

    Func _Close()
    Exit
    EndFunc ;==>_Close
    AdlibEnable("_Zeitdiverenz", 1000)
    While 1
    $maus = MouseGetPos()
    $farbe = PixelGetColor($maus[0], $maus[1])
    GUICtrlSetData($Label6, "0x" & Hex($farbe, 6))
    GUISetBkColor($farbe)
    If $maus[0] = 1023 Then
    Sleep(30)
    GUICtrlSetData($Label2, "1024/1024")
    ElseIf $maus[1] = 767 Then
    Sleep(30)
    GUICtrlSetData($Label4, "768/768")
    Else
    Sleep(30)
    GUICtrlSetData($Label2, $maus[0] & "/" & @DesktopWidth)
    GUICtrlSetData($Label4, $maus[1] & "/" & @DesktopHeight)
    EndIf

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

    WEnd;

    [/autoit]


    Wieso klappt das mit dem HotKeySet ("^h",_Hide) nicht?