1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Schnuffel

Beiträge von Schnuffel

  • Suche Hilfe für ein script

    • Schnuffel
    • 1. Juni 2008 um 22:35

    Hallo Keltenkreuz,

    erstmal dazu:

    Zitat

    Ich suche jemanden der mir hilft ein script oder frame erstellt

    den wirst Du in der Form hier nicht finden.

    Ich fürchte Du hast eine Einstellung mit der Du lange suchen musst. :thumbdown:
    Hier wird jedem geholfen, der interessiert und willens ist, sich mit der Sache "AutoIt" auseinanderzusetzen.

    Dein Anspruch auf "wer erstellt mir mal eben ein Script" ist etwas hoch gegriffen.
    Auch in einer Zeit von "Geiz ist Geil". :pinch:

    Am Besten Du versuchst Dich erstmal selbst an Deiner Aufgabenstellung
    ( auf der linken Seite ist eine Box mit Downloads unter anderem der deutschen Hilfe ) :!:

    wenn Du dann nicht weiter kommst, kannst Du Deinen bisherigen Code hier posten.
    Ich bin mir sicher Du erhälst dann sofortige Hilfe. :rock:

  • Digitaluhr mit Graphic-Controls (Anzeige flackert)

    • Schnuffel
    • 1. Juni 2008 um 19:33

    hey, kein Prob.
    ich hab mich angagiert, weil mich das Thema auch schon beschäftigt hat.
    Dabei kann man immer was lernen.
    Und wenn es ist, dass manches halt mit AutoIt nicht immer ganz so geht... ?(

    Ich würde es an Deiner Stelle genauso handhaben :thumbup:

  • Digitaluhr mit Graphic-Controls (Anzeige flackert)

    • Schnuffel
    • 1. Juni 2008 um 19:02

    ich denke der Bug liegt im GuiCtrlCreateGraphic.

    Ich hab mich nochmal versucht, aber trotz Aufwand ist das Ergebnis nicht 100%.
    Ich hab sowas mal mit Javascript gemacht, dass war weniger Code und sah gleich gut aus (ohne flackern...)

    Na ja, wir haben es versucht.

    Kannst ja mal schauen, was ich verändert habe. Vielleicht reicht Dir ja das Ergebnis 8)

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    #include <StaticConstants.au3>

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

    Opt('MustDeclareVars', 1)
    Opt('GUIOnEventMode', 1)

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

    Global $gui_digit[6], $dColor = 0xff2222, $eColor = 0x000000, $bgColor = 0xdddddd;0xc0c0c0
    Global $s = -1, $m = -1, $h = -1, $lh, $rh, $lm, $rm, $ls, $rs, $my_s

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

    GUICreate('test', 340, 100, -1, -1, $WS_POPUP);, BitOr($WS_EX_TOOLWINDOW, $WS_EX_LAYERED))
    GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, '_MoveWindow')
    GUISetOnEvent($GUI_EVENT_CLOSE,'_End')
    GUISetBKColor($bgColor) ; Hintergrundfarbe setzen

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

    $gui_digit[0] = GUICtrlCreateGraphic(20, 20, 32, 56)
    GUICtrlSetBkColor(-1, $bgColor)
    GuiCtrlSetState(-1,$GUI_DISABLE)
    $gui_digit[1] = GUICtrlCreateGraphic(60, 20, 32, 56)
    GUICtrlSetBkColor(-1, $bgColor)
    GuiCtrlSetState(-1,$GUI_DISABLE)
    _Colon(103, 20)
    $gui_digit[2] = GUICtrlCreateGraphic(120, 20, 32, 56)
    GUICtrlSetBkColor(-1, $bgColor)
    GuiCtrlSetState(-1,$GUI_DISABLE)
    $gui_digit[3] = GUICtrlCreateGraphic(160, 20, 32, 56)
    GUICtrlSetBkColor(-1, $bgColor)
    GuiCtrlSetState(-1,$GUI_DISABLE)
    _Colon(203, 20)
    $gui_digit[4] = GUICtrlCreateGraphic(220, 20, 32, 56)
    GUICtrlSetBkColor(-1, $bgColor)
    GuiCtrlSetState(-1,$GUI_DISABLE)
    $gui_digit[5] = GUICtrlCreateGraphic(260, 20, 32, 56)
    GUICtrlSetBkColor(-1, $bgColor)
    GuiCtrlSetState(-1,$GUI_DISABLE)

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

    _TimeChanged()
    GUICtrlCreatePic(@ScriptDir & '\nicht loeschen.gif', 0, 0, 1, 1) ; wird für die Transparenz benötigt (nicht löschen)
    GUISetState()

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

    While 1
    If @SEC <> $my_s Then
    $my_s = @SEC
    _TimeChanged()
    EndIf
    sleep(1)
    WEnd

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

    Func _TimeChanged()
    $lh = StringLeft(@HOUR, 1)
    $rh = StringRight(@HOUR, 1)
    If $h = -1 Or $lh <> StringLeft($h, 1) Then
    GuiCtrlDelete($gui_digit[0])
    sleep(1)
    $gui_digit[0] = GUICtrlCreateGraphic(20, 20, 32, 56)
    GUICtrlSetBkColor(-1, $bgColor)
    _DigitShow($gui_digit[0], $lh)
    GuiCtrlDelete($gui_digit[1])
    sleep(1)
    $gui_digit[1] = GUICtrlCreateGraphic(60, 20, 32, 56)
    GUICtrlSetBkColor(-1, $bgColor)
    _DigitShow($gui_digit[1], $rh)
    $h = @HOUR
    ElseIf $h <> @HOUR Then
    GuiCtrlDelete($gui_digit[1])
    sleep(1)
    $gui_digit[1] = GUICtrlCreateGraphic(60, 20, 32, 56)
    GUICtrlSetBkColor(-1, $bgColor)
    _DigitShow($gui_digit[1], $rh)
    $h = @HOUR
    EndIf
    $lm = StringLeft(@MIN, 1)
    $rm = StringRight(@MIN, 1)
    If $m = -1 Or $lm <> StringLeft($m, 1) Then
    GuiCtrlDelete($gui_digit[2])
    sleep(1)
    $gui_digit[2] = GUICtrlCreateGraphic(120, 20, 32, 56)
    GUICtrlSetBkColor(-1, $bgColor)
    _DigitShow($gui_digit[2], $lm)
    GuiCtrlDelete($gui_digit[3])
    sleep(1)
    $gui_digit[3] = GUICtrlCreateGraphic(160, 20, 32, 56)
    GUICtrlSetBkColor(-1, $bgColor)
    _DigitShow($gui_digit[3], $rm)
    $m = @MIN
    ElseIf $m <> @MIN Then
    GuiCtrlDelete($gui_digit[3])
    sleep(1)
    $gui_digit[3] = GUICtrlCreateGraphic(160, 20, 32, 56)
    GUICtrlSetBkColor(-1, $bgColor)
    _DigitShow($gui_digit[3], $rm)
    $m = @MIN
    EndIf

    $ls = StringLeft(@SEC, 1)
    $rs = StringRight(@SEC, 1)
    If $s = -1 Or $ls <> StringLeft($s, 1) Then
    GuiCtrlDelete($gui_digit[4])
    sleep(1)
    $gui_digit[4] = GUICtrlCreateGraphic(220, 20, 32, 56)
    GUICtrlSetBkColor(-1, $bgColor)
    _DigitShow($gui_digit[4], $ls)
    GuiCtrlDelete($gui_digit[5])
    sleep(1)
    $gui_digit[5] = GUICtrlCreateGraphic(260, 20, 32, 56)
    GUICtrlSetBkColor(-1, $bgColor)
    _DigitShow($gui_digit[5], $rs)
    $s = @SEC
    ElseIf $s <> @SEC Then
    GuiCtrlDelete($gui_digit[5])
    sleep(1)
    $gui_digit[5] = GUICtrlCreateGraphic(260, 20, 32, 56)
    GUICtrlSetBkColor(-1, $bgColor)
    _DigitShow($gui_digit[5], $rs)
    $s = @SEC
    EndIf
    EndFunc

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

    Func _Colon($PosX, $PosY)
    GUICtrlCreateGraphic($PosX, $PosY, 10, 56)
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, $eColor, $dColor)
    GUICtrlSetGraphic(-1, $GUI_GR_ELLIPSE, 0, 12, 10, 10)
    GUICtrlSetGraphic(-1, $GUI_GR_ELLIPSE, 0, 36, 10, 10)
    EndFunc
    Func _DigitShow($digit, $number)
    Switch $number
    Case 0
    str_o($digit)
    str_ol($digit)
    str_or($digit)
    str_ul($digit)
    str_ur($digit)
    str_u($digit)
    Case 1
    str_or($digit)
    str_ur($digit)
    Case 2
    str_o($digit)
    str_or($digit)
    str_m($digit)
    str_ul($digit)
    str_u($digit)
    Case 3
    str_o($digit)
    str_or($digit)
    str_m($digit)
    str_ur($digit)
    str_u($digit)
    Case 4
    str_ol($digit)
    str_or($digit)
    str_m($digit)
    str_ur($digit)
    Case 5
    str_o($digit)
    str_ol($digit)
    str_m($digit)
    str_ur($digit)
    str_u($digit)
    Case 6
    str_ol($digit)
    str_m($digit)
    str_ul($digit)
    str_ur($digit)
    str_u($digit)
    Case 7
    str_o($digit)
    str_or($digit)
    str_ur($digit)
    Case 8
    str_o($digit)
    str_ol($digit)
    str_or($digit)
    str_m($digit)
    str_ul($digit)
    str_ur($digit)
    str_u($digit)
    Case 9
    str_o($digit)
    str_ol($digit)
    str_or($digit)
    str_m($digit)
    str_ur($digit)
    str_u($digit)
    EndSwitch
    GUICtrlSetGraphic($digit, $GUI_GR_REFRESH)
    EndFunc
    Func str_o($digit)
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $eColor, $dColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 0, 0)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 8)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 24, 8)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 32, 0)
    EndFunc
    Func str_ol($digit)
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $eColor, $dColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 0, 0)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 8)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 24)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 0, 28)
    EndFunc
    Func str_or($digit)
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $eColor, $dColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 32, 0)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 24, 8)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 24, 24)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 32, 28)
    EndFunc
    Func str_m($digit)
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $eColor, $dColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 0, 28)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 24)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 24, 24)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 32, 28)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 24, 32)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 32)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 0, 28)
    EndFunc
    Func str_ur($digit)
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $eColor, $dColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 32, 28)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 24, 32)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 24, 48)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 32, 56)
    EndFunc
    Func str_ul($digit)
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $eColor, $dColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 0, 28)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 32)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 48)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 0, 56)
    EndFunc
    Func str_u($digit)
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $eColor, $dColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 0, 56)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 48)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 24, 48)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 32, 56)
    EndFunc
    Func _MoveWindow()
    Local $DifX, $DifY, $MouseData = GUIGetCursorInfo(@GUI_WinHandle)
    Local $WinPos = WinGetPos(@GUI_WinHandle)
    Local $MPos = MouseGetPos()
    $DifX = $MPos[0] - $WinPos[0]
    $DifY = $MPos[1] - $WinPos[1]
    Do
    Sleep(15)
    $MPos = MouseGetPos()
    $MouseData = GUIGetCursorInfo(@GUI_WinHandle)
    Until ($WinPos[0] <> ($MPos[0] - $DifX)) Or ($WinPos[1] <> ($MPos[1] - $DifY)) Or (Not $MouseData[2])
    While $MouseData[2]
    $MPos = MouseGetPos()
    $WinPos = WinGetPos(@GUI_WinHandle)
    If ($WinPos[0] <> ($MPos[0] - $DifX)) Or ($WinPos[1] <> ($MPos[1] - $DifY)) Then
    WinMove(@GUI_WinHandle, '', $MPos[0] - $DifX, $MPos[1] - $DifY)
    EndIf
    Sleep(15)
    $MouseData = GUIGetCursorInfo(@GUI_WinHandle)
    WEnd
    EndFunc
    Func _End()
    Exit
    EndFunc

    [/autoit]
  • Digitaluhr mit Graphic-Controls (Anzeige flackert)

    • Schnuffel
    • 1. Juni 2008 um 16:01

    schade...
    das engl. Forum gibt auch nicht's befriedigendes her:
    http://www.autoitscript.com/forum/index.php?showtopic=70430&hl=guictrlsetgraphic
    müsstest für jede Ziffer an jeder Stelle eine child-Gui basteln. ( 60Stk.) Diese könntest Du dann hiden :thumbdown:

    Jetzt gehen mir dann so langsam auch die Ideen aus...
    Bleiben wohl doch nur deine gif's :rolleyes:

    Da fäält mir noch was ein.....
    Wie wäre es, wenn Du vor jedem neuzeichnen einer Zahl für diese GuiCtrlDelete ausführst. Dann kann der Speicher nicht in die Höhe.

  • Digitaluhr mit Graphic-Controls (Anzeige flackert)

    • Schnuffel
    • 1. Juni 2008 um 15:39

    Oscar, versuch mal meinen Ansatz, CPU-Last 0-2%

  • Digitaluhr mit Graphic-Controls (Anzeige flackert)

    • Schnuffel
    • 1. Juni 2008 um 14:53

    sorry, hab ich nicht ganz zu Ende gedacht :huh:

    Vielleicht hilft Dir ja mein Ansatz ein Stück weiter.
    Ich vertrau der "sleep" Geschichte nicht so ganz ;)

  • Digitaluhr mit Graphic-Controls (Anzeige flackert)

    • Schnuffel
    • 1. Juni 2008 um 14:12

    ich hab mal ein bisschen rumgespielt an Deinem Script.

    Hatte das Problem auch schon mal und das nur mit der Zeitdarstellung mit einem Font....

    mein erster Denkansatz war:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    #include <StaticConstants.au3>

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

    Opt('MustDeclareVars', 1)
    Opt('GUIOnEventMode', 1)

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

    Global $gui_digit[6], $dColor = 0xff2222, $eColor = 0x000000, $bgColor = 0xc0c0c0
    Global $s = -1, $m = -1, $h = -1, $ls, $rs, $lm, $rm, $lh, $rh

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

    GUICreate('test', 340, 100, -1, -1, $WS_POPUP);, BitOr($WS_EX_TOOLWINDOW, $WS_EX_LAYERED))
    GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, '_MoveWindow')
    GUISetOnEvent($GUI_EVENT_CLOSE,'_End')
    GUISetBKColor($bgColor) ; Hintergrundfarbe setzen

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

    $gui_digit[0] = GUICtrlCreateGraphic(20, 20, 32, 56)
    GUICtrlSetBkColor(-1, $bgColor)
    $gui_digit[1] = GUICtrlCreateGraphic(60, 20, 32, 56)
    GUICtrlSetBkColor(-1, $bgColor)
    _Colon(103, 20)
    $gui_digit[2] = GUICtrlCreateGraphic(120, 20, 32, 56)
    GUICtrlSetBkColor(-1, $bgColor)
    $gui_digit[3] = GUICtrlCreateGraphic(160, 20, 32, 56)
    GUICtrlSetBkColor(-1, $bgColor)
    _Colon(203, 20)
    $gui_digit[4] = GUICtrlCreateGraphic(220, 20, 32, 56)
    GUICtrlSetBkColor(-1, $bgColor)
    $gui_digit[5] = GUICtrlCreateGraphic(260, 20, 32, 56)
    GUICtrlSetBkColor(-1, $bgColor)

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

    GUICtrlCreatePic(@ScriptDir & '\nicht loeschen.gif', 0, 0, 1, 1) ; wird für die Transparenz benötigt (nicht löschen)
    time_changed()
    GUISetState()
    AdlibEnable("time_changed",1000)
    While 1
    sleep(1)
    WEnd
    Func time_changed()
    If @HOUR <> $h Then
    $lh = StringLeft(@HOUR, 1)
    $rh = StringRight(@HOUR, 1)
    If $h = -1 Then
    _DigitShow($gui_digit[0], $lh)
    _DigitShow($gui_digit[1], $rh)
    $h = @HOUR
    EndIf
    If $rh > 0 Then
    _DigitShow($gui_digit[0], $lh)
    $h = @HOUR
    Else
    _DigitShow($gui_digit[0], $lh)
    _DigitShow($gui_digit[1], $rh)
    $h = @HOUR
    EndIf
    EndIf
    If @MIN <> $m Then
    $lm = StringLeft(@MIN, 1)
    $rm = StringRight(@MIN, 1)
    If $m = -1 Then
    _DigitShow($gui_digit[2], $lm)
    _DigitShow($gui_digit[3], $rm)
    $m = @MIN
    EndIf
    If $rm > 0 Then
    _DigitShow($gui_digit[2], $lm)
    $m = @MIN
    Else
    _DigitShow($gui_digit[2], $lm)
    _DigitShow($gui_digit[3], $rm)
    $m = @MIN
    EndIf
    EndIf
    If @SEC <> $s Then
    $ls = StringLeft(@SEC, 1)
    $rs = StringRight(@SEC, 1)
    If $s = -1 Then
    _DigitShow($gui_digit[4], $ls)
    _DigitShow($gui_digit[5], $rs)
    $s = @SEC
    EndIf

    If $rs > 0 Then
    _DigitShow($gui_digit[5], $rs)
    $s = @SEC
    Else
    _DigitShow($gui_digit[4], $ls)
    _DigitShow($gui_digit[5], $rs)
    $s = @SEC
    EndIf
    EndIf
    EndFunc

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

    Func _Colon($PosX, $PosY)
    GUICtrlCreateGraphic($PosX, $PosY, 10, 56)
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, $eColor, $dColor)
    GUICtrlSetGraphic(-1, $GUI_GR_ELLIPSE, 0, 12, 10, 10)
    GUICtrlSetGraphic(-1, $GUI_GR_ELLIPSE, 0, 36, 10, 10)
    EndFunc

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

    Func _DigitShow($digit, $number)
    Switch $number ; g
    Case 2, 3, 4, 5, 6, 8, 9
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $eColor, $dColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 0, 28)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 24)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 24, 24)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 32, 28)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 24, 32)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 32)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 0, 28)
    Case 0, 1, 7
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $bgColor, $bgColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 2, 28)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 9, 24)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 23, 24)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 30, 28)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 23, 32)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 9, 32)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 2, 28)
    EndSwitch
    Switch $number ; a
    Case 0, 2, 3, 5, 6, 7, 8, 9
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $eColor, $dColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 0, 0)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 8)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 24, 8)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 32, 0)
    Case 1, 4
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $bgColor, $bgColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 1, 0)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 9, 8)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 23, 8)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 31, 0)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 1, 0)
    EndSwitch
    Switch $number ; b
    Case 0, 1, 2, 3, 4, 7, 8, 9
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $eColor, $dColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 32, 0)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 24, 8)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 24, 24)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 32, 28)
    Case 5, 6
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $bgColor, $bgColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 32, 1)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 24, 9)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 24, 23)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 32, 27)
    EndSwitch
    Switch $number ; c
    Case 0, 1, 3, 4, 5, 6, 7, 8, 9
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $eColor, $dColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 32, 28)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 24, 32)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 24, 48)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 32, 56)
    Case 2
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $bgColor, $bgColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 32, 29)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 24, 33)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 24, 48)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 32, 55)
    EndSwitch
    Switch $number ; d
    Case 0, 2, 3, 5, 6, 8, 9
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $eColor, $dColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 0, 56)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 48)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 24, 48)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 32, 56)
    Case 1, 4, 7
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $bgColor, $bgColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 1, 56)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 9, 48)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 23, 48)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 31, 56)
    EndSwitch
    Switch $number ; e
    Case 0, 2, 6, 8
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $eColor, $dColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 0, 28)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 32)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 48)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 0, 56)
    Case 1, 3, 4, 5, 7, 9
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $bgColor, $bgColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 0, 29)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 33)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 47)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 0, 55)
    EndSwitch
    Switch $number ; f
    Case 0, 4, 5, 6, 8, 9
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $eColor, $dColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 0, 0)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 8)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 24)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 0, 28)
    Case 1, 2, 3, 7
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $bgColor, $bgColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 0, 1)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 9)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 23)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 0, 27)
    EndSwitch
    Switch $Number
    Case 1
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $bgColor, $bgColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 0, 0)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 0)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 56)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 0, 56)
    Case 4
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $bgColor, $bgColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 0, 33)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 33)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 56)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 0, 56)
    Case 7
    GUICtrlSetGraphic($digit, $GUI_GR_COLOR, $bgColor, $bgColor)
    GUICtrlSetGraphic($digit, $GUI_GR_MOVE, 0, 9)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 9)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 8, 56)
    GUICtrlSetGraphic($digit, $GUI_GR_LINE, 0, 56)
    EndSwitch
    GUICtrlSetGraphic($digit, $GUI_GR_REFRESH)
    EndFunc

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

    Func _MoveWindow()
    Local $DifX, $DifY, $MouseData = GUIGetCursorInfo(@GUI_WinHandle)
    Local $WinPos = WinGetPos(@GUI_WinHandle)
    Local $MPos = MouseGetPos()
    $DifX = $MPos[0] - $WinPos[0]
    $DifY = $MPos[1] - $WinPos[1]
    Do
    Sleep(15)
    $MPos = MouseGetPos()
    $MouseData = GUIGetCursorInfo(@GUI_WinHandle)
    Until ($WinPos[0] <> ($MPos[0] - $DifX)) Or ($WinPos[1] <> ($MPos[1] - $DifY)) Or (Not $MouseData[2])
    While $MouseData[2]
    $MPos = MouseGetPos()
    $WinPos = WinGetPos(@GUI_WinHandle)
    If ($WinPos[0] <> ($MPos[0] - $DifX)) Or ($WinPos[1] <> ($MPos[1] - $DifY)) Then
    WinMove(@GUI_WinHandle, '', $MPos[0] - $DifX, $MPos[1] - $DifY)
    EndIf
    Sleep(15)
    $MouseData = GUIGetCursorInfo(@GUI_WinHandle)
    WEnd
    EndFunc

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

    Func _End()
    Exit
    EndFunc

    [/autoit]


    Hat mir aber nicht wirklich weiter geholfen.

    Ich glaube, dass das flackern "Interferenzen" sind, die beim Errechnen des zu "zeichnenden" Objektes entstehen.
    Außerdem faßt Du mit Deiner Routine bei jedem Lauf (1x pro Sek.) alle Zahlen an

    Mein Vorschlag wäre, alle Zahlen als "8" initial zu zeichnen und dann nur noch mit einem zweiten Satz initial gezeichneter Segmente in bgcolor
    die notwendigen Segmente über GuiSetState auf Show/Hide zu setzen.
    Dabei mit einer Routine überprüfen, wieviele und welche Zahlen sich geändert haben...
    Ich denke dann wäre das flackern auch vorbei...

  • farben und kordinaten des bildes

    • Schnuffel
    • 31. Mai 2008 um 20:11

    Das klappt über den Reiter Mouse im aktuellen AutoItWindowInfo
    3. Zeile Color.
    Wenn Du etwas anderes benötigst, dann musst Du schon etwas genauer beschreiben,
    was Du möchtest, wie du bisher in AutoIt ran gegangen bist, und wobei wir Dir helfen können....
    :D

  • autoit v3 window info

    • Schnuffel
    • 31. Mai 2008 um 20:06

    bitte nicht für ein und die selbe Frage 2 Threads aufmachen.
    Warte halt einfach, bis Dir jemand antwortet ;)

  • Wie bekomme ich beide checkboxen gleichzeitig zum laufen

    • Schnuffel
    • 31. Mai 2008 um 18:55

    Dein Script tut genau das, was es soll :D
    Du hast gecodet, dass bei aktiver Checkbox21 das Script solange Pause machen soll nach erledigung von : ControlSend("Unbenannt - Editor","",15,"1")

    Spoiler anzeigen
    [autoit]

    sleep(GUICtrlRead($input1))

    [/autoit]


    und bei aktiver Checkbox22 wird nach erledigung dieses Befehls ( ControlSend("Unbenannt - Editor","",15,"2") ) solange Pause gemacht:

    Spoiler anzeigen
    [autoit]

    sleep(GUICtrlRead($input2))

    [/autoit]


    PAUSE heißt: in der Zeit wird nichts getan.
    D.h. Dein Ansatz ist in der Form verkehrt. Das wirst Du mit sleep nicht lösen können.

    Versuch doch mal eine Variable hochzuzählen innerhalb Deiner If-Then Schleife......

  • @OSBuild welche Antworten möglich??

    • Schnuffel
    • 31. Mai 2008 um 15:27

    @ Tweaky
    ich habe noch einen anderen Ansatz gefunden:
    Davon ausgehend, dass eigentlich jeder moderne Laptop einen PCMCIA-Port hat kannst Du prüfen, ob folgender Reg-Schlüssel existiert.
    Da schreibt Windows Treiberinformationen rein. Der Unterschlüssel '0000' existiert nur, wenn Hardware vorhanden ;)

    Spoiler anzeigen

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E977-E325-11CE-BFC1-08002BE10318}\0000]

  • Ich glaube ich drehe Durch, kann ja überhaupt nichts mehr... Update funktion

    • Schnuffel
    • 31. Mai 2008 um 09:32

    ich hab Dir mal die ganzen If's für den Progress gekürzt...

    Spoiler anzeigen
    [autoit]

    #include<Array.au3>
    #include<File.au3>
    #NoTrayIcon

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

    Global $txt2

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

    $Ip2 = ("http://127.0.0.1/yourhost.com/updater")
    InetGet($Ip2 &"/UpdateVersion.txt",@ScriptDir &"\UpdateVersion.txt")
    Sleep(200)

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

    If FileExists("C:\UpdateVersion.txt") Then
    _FileReadToArray("C:\UpdateVersion.txt", $txt2)
    Else
    FileWrite("C:\UpdateVersion.txt", "1")
    Sleep(500)
    _FileReadToArray("C:\UpdateVersion.txt", $txt2)
    EndIf

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

    $txt1 = FileRead("UpdateVersion.txt") ;
    ;Prüfung
    If $txt1 <> $txt2 Then _Func () ;

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

    Func _Func ()
    FileMove("UpdateVersion.txt", "C:\UpdateVersion.txt")
    $Ip = ("http://127.0.0.1/yourhost.com/updater")
    Local $meinarray
    InetGet($Ip &"/file.list",@ScriptDir &"\file.list")
    $filename = (@ScriptDir &"\file.list")
    $FILEPATH = (@ScriptDir &"\file.txt")
    $hFile = FileOpen($filename,0)
    _FilereadToArray($filename, $meinarray)
    _FileWriteFromArray($FILEPATH, $meinarray)
    $split = StringRegExp(FileRead(FileOpen(@ScriptDir & '\file.txt', 0)), '(?<=\n|\A).*(?=,)', 3)
    $file = FileOpen("UpdInf.txt",2)
    For $i = 0 To Ubound($split) -1
    FileWrite("UpdInf.txt", $split[$i] & @crlf)
    Next
    $filename1 = @ScriptDir & '\UpdInf.txt'
    $filename2 = @ScriptDir & '\UpdInf2.txt'
    Local $meinarray1
    Local $nLfd
    _FileReadToArray($filename1,$meinarray1)
    For $nLfd = 1 To $meinarray1[0]
    $meinarray1[$nLfd] = StringRegExpReplace($meinarray1[$nLfd],'\\','\/')
    $meinarray1[$nLfd] = StringRegExpReplace($meinarray1[$nLfd],'\./','/')
    Next
    _FileWriteFromArray($filename1,$meinarray1,1,$meinarray1[0])
    $filename1 = @ScriptDir & '\UpdInf.txt'
    $filename2 = @ScriptDir & '\UpdInf2.txt'
    Local $meinarray1
    Local $nLfd
    _FileReadToArray($filename1,$meinarray1)
    For $nLfd = 1 To $meinarray1[0]
    $meinarray1[$nLfd] = StringRegExpReplace($meinarray1[$nLfd],'\/','\\')
    $meinarray1[$nLfd] = StringRegExpReplace($meinarray1[$nLfd],'\.\','\\')
    Next
    _FileWriteFromArray($filename2,$meinarray1,1,$meinarray1[0])
    ProgressOn("Updating KalOnline", "KalOnline-Update in Progress", "Update")
    $filename0 = FileOpen("UpdInf.txt",0)
    $filename3 = FileOpen("UpdInf2.txt",0)
    ProgressSet(0,"0%")
    for $i = 20 to 2000 Step 20
    $1 = FileReadLine($filename0,$i)
    $2 = FileReadLine($filename3,$i)
    Inetget($Ip&$1,@ScriptDir &$2)
    ProgressSet($i/20,$i/20&" %")
    Next
    ProgressSet(100,"100 %")
    Sleep(200)
    ProgressOff()
    MsgBox(0,"Updates", "All Updates Finished", 1)
    EndFunc

    [/autoit]
  • Wie bekomme ich beide checkboxen gleichzeitig zum laufen

    • Schnuffel
    • 30. Mai 2008 um 22:06

    bau mal darauf auf...

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    GUICreate("test",700,400)
    $tab = GUICtrlCreateTab ( 10, 10, 680, 350)
    $tabitem = GUICtrlCreateTabItem ("TestTabItem")
    $button1 = GUICtrlCreateButton ("Notizen",640,370)
    $checkbox1 = GUICtrlCreateCheckbox ( "Checkbox1", 100,50)
    $checkbox2 = GUICtrlCreateCheckbox ("Checkbox2",300,50)
    $btn1 = GUICtrlCreateButton ("Notepad an", 200,200,80,20)
    $btn2 = GUICtrlCreateButton ("Notepad aus", 400,200,80,20)
    GUISetState(@SW_SHOW)

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

    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop

    If GUICtrlRead($checkbox1) = 1 Then
    WinActivate("Unbenannt - Editor")
    Send("1")
    EndIf
    If GUICtrlRead($checkbox2) = 1 Then
    WinActivate("Unbenannt - Editor")
    Send("2")
    EndIf
    If $msg = $btn1 Then
    If WinActive("notepad.exe") Then
    WinActivate("Unbenannt - Editor")
    Else
    Run("notepad.exe")
    EndIf
    EndIf
    If $msg = $btn2 Then
    WinClose("Unbenannt - Editor")
    EndIf
    WEnd
    Exit

    [/autoit]


    aber wie gesagt, ich möchte in Zukunft Deine eigenen Denkansätze sehen..........

  • Seit Autoti Update ?

    • Schnuffel
    • 30. Mai 2008 um 18:50

    Du kannst anstatt der Konstanten (WS_POPUP) auch direkt den jeweiligen Hex-Wert angeben z.B.
    für WS_POPUP 0x80000000.
    macht die Lesbarkeit halt nicht unbedingt übersichtlicher :)

  • Symbol ändern

    • Schnuffel
    • 30. Mai 2008 um 17:51

    siehe Options:
    http://www.autoit.de/index.php?page=Attachment&attachmentID=2334&h=d32712017c453e8b69816f103727b1cdfd2f8ded
    options.jpg

    Dateien

    options.jpg 115,15 kB – 0 Downloads
  • Anfänger Problem FileExisting ?

    • Schnuffel
    • 30. Mai 2008 um 17:26

    oder auch auf deutsch:
    http://www.autoit.de/index.php?page=Attachment&attachmentID=2333&h=079b8c8606194ef45214345ce941d0e95017d80d
    fileexist.jpg

    Dateien

    fileexist.jpg 292,78 kB – 0 Downloads
  • Ich glaube ich drehe Durch, kann ja überhaupt nichts mehr... Update funktion

    • Schnuffel
    • 30. Mai 2008 um 17:14

    @ Eisteee:

    $i/20 = ...% ;)

  • Wie bekomme ich beide checkboxen gleichzeitig zum laufen

    • Schnuffel
    • 30. Mai 2008 um 16:50

    mit **heul** wird es auch nicht besser.
    Ich denke, was den Leuten hier im Forum fehlt, ist zu sehen, dass Du daran interessiert bist etwas zu lernen.
    Dazu gehört auch mal seinen eigenen Kopf etwas anzustrengen und eine Weile rumzuprobieren.
    Wenn Du dann immer noch nicht weiter kommst, dann kannst Du Deinen Code posten.
    Und wenn die Leute hier sehen, dass Du dich bemüht hast und nicht bloß eine Zeile von einem verherigen Post reinkopiert hast,
    um Deine geistigen Anstrengungen zu zeigen, dann wird Dir sicherlich in kürzester Zeit geholfen.

    Sowas nennt man Hilfe zur Selbsthilfe... :rock:

  • Wie bekomme ich beide checkboxen gleichzeitig zum laufen

    • Schnuffel
    • 29. Mai 2008 um 23:13

    ich hab den Code bei mir laufen lassen und keine Probleme finden können.

    funzt net ist halt ein bisschen wenig zur Fehlersuche ;)

  • Wie bekomme ich beide checkboxen gleichzeitig zum laufen

    • Schnuffel
    • 29. Mai 2008 um 22:52

    probier's mal so:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    GUICreate("My GUI Fenster" ,750, 400)
    $tab=GUICtrlCreateTab (10,10,735,300)
    $tab1=GUICtrlCreateTabitem ("TestItemTab")
    $checkCN0 = GUICtrlCreateCheckbox ("3", 200, 50)
    $checkCN1 = GUICtrlCreateCheckbox ("4", 250, 50)
    GUICtrlCreateTabItem("") ; brauchst Du als "Abschluß der GuiCtrlCreateItem
    GUISetState(@SW_SHOW)
    Run("notepad.exe")
    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    If GuiCtrlRead($checkCN0) = 1 Then
    WinActivate("Unbenannt - Editor")
    Send("1")
    EndIf
    If GuiCtrlRead($checkCN1) = 1 Then
    WinActivate("Unbenannt - Editor")
    Send("2")
    EndIf
    Wend
    WinClose("Unbenannt - Editor")
    Exit

    [/autoit]

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™