GDI+ Summenformeln-Led Uhr

  • So

    hatte grade etwas langeweile und hab mir zum fun so ne summenformel Uhr geschrieben


    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #include <Date.au3>
    #include <GDIPlus.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    Opt("TrayMenuMode", 1)
    $Form1 = GUICreate("GDI+ Summencode-Led Uhr", 215, 250, @DesktopWidth-215, @DesktopHeight-280, $WS_POPUP, $WS_EX_TOPMOST)
    GUISetBkColor(0x000000)
    $Label1 = GUICtrlCreateLabel("", 0, 0, 215, 250, Default, $GUI_WS_EX_PARENTDRAG)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUISetState(@SW_SHOW)
    $context = GUICtrlCreateContextMenu($Label1)
    $hide = GUICtrlCreateMenuItem("Ausblenden", $context)
    GUICtrlCreateMenuItem("", $context)
    $exit = GUICtrlCreateMenuItem("Beenden", $context)
    $show = TrayCreateItem("Anzeigen")
    TrayCreateItem("")
    $exittray = TrayCreateItem("Exit")


    _GDIPlus_Startup()
    $grafik = _GDIPlus_GraphicsCreateFromHWND($Form1)
    $brushledoff = _GDIPlus_BrushCreateSolid(0xFF441A00)
    $brushledon =_GDIPlus_BrushCreateSolid(0xFFFFA100)
    For $l = 0 to 8
    _GDIPlus_GraphicsFillEllipse($grafik, 30, 40+(20*$l), 12, 12, $brushledoff)
    _GDIPlus_GraphicsFillEllipse($grafik, 50, 40+(20*$l), 12, 12, $brushledoff)
    Next
    For $l = 0 to 8
    _GDIPlus_GraphicsFillEllipse($grafik, 90, 40+(20*$l), 12, 12, $brushledoff)
    _GDIPlus_GraphicsFillEllipse($grafik, 110, 40+(20*$l), 12, 12, $brushledoff)
    Next
    For $l = 0 to 8
    _GDIPlus_GraphicsFillEllipse($grafik, 150, 40+(20*$l), 12, 12, $brushledoff)
    _GDIPlus_GraphicsFillEllipse($grafik, 170, 40+(20*$l), 12, 12, $brushledoff)
    Next

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

    Do
    $msg = GUIGetMsg()
    $tmsg = TrayGetMsg()
    Select
    Case $msg = $hide
    WinMove($Form1, "", @DesktopWidth, @DesktopHeight-280, Default, Default, 5)
    TraySetState(1)
    GUISetState(@SW_HIDE)
    Case $msg = $exit
    Exit
    Case $tmsg = $exittray
    Exit
    Case $tmsg = $show
    GUISetState(@SW_Show)
    WinMove($Form1, "", @DesktopWidth-215, @DesktopHeight-280, Default, Default, 5)
    TraySetState(2)
    EndSelect

    $stu1 = Stringmid(_Nowtime(), 1, 1)
    $stu2 = Stringmid(_Nowtime(), 2, 1)
    $min1 = Stringmid(_Nowtime(), 4, 1)
    $min2 = Stringmid(_Nowtime(), 5, 1)
    $sek1 = Stringmid(_Nowtime(), 7, 1)
    $sek2 = Stringmid(_Nowtime(), 8, 1)


    _LedColDrawActive(30, $stu1, $grafik, $brushledoff, $brushledon)
    _LedColDrawActive(50, $stu2, $grafik, $brushledoff, $brushledon)
    _LedColDrawActive(90, $min1, $grafik, $brushledoff, $brushledon)
    _LedColDrawActive(110, $min2, $grafik, $brushledoff, $brushledon)
    _LedColDrawActive(150, $sek1, $grafik, $brushledoff, $brushledon)
    _LedColDrawActive(170, $sek2, $grafik, $brushledoff, $brushledon)




    Until $msg = $GUI_EVENT_CLOSE
    Func _Update()
    $mp = WinGetPos("GDI+ Summencode-Led Uhr")
    While $mp[0] And $mp[1] < -10
    $mp = WinGetPos("GDI+ Summencode-Led Uhr")
    $stu1 = Stringmid(_Nowtime(), 1, 1)
    $stu2 = Stringmid(_Nowtime(), 2, 1)
    $min1 = Stringmid(_Nowtime(), 4, 1)
    $min2 = Stringmid(_Nowtime(), 5, 1)
    $sek1 = Stringmid(_Nowtime(), 7, 1)
    $sek2 = Stringmid(_Nowtime(), 8, 1)


    _LedColDrawActive(30, $stu1, $grafik, $brushledoff, $brushledon)
    _LedColDrawActive(50, $stu2, $grafik, $brushledoff, $brushledon)
    _LedColDrawActive(90, $min1, $grafik, $brushledoff, $brushledon)
    _LedColDrawActive(110, $min2, $grafik, $brushledoff, $brushledon)
    _LedColDrawActive(150, $sek1, $grafik, $brushledoff, $brushledon)
    _LedColDrawActive(170, $sek2, $grafik, $brushledoff, $brushledon)

    WEnd
    EndFunc
    Func _LedColDrawActive($x, $num, $hgraphic, $brushoff, $brushon)

    Switch $num
    Case 0
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*0), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*1), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*2), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*3), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*4), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*5), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*6), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*7), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*8), 12, 12, $brushoff)
    Case 1
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*0), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*1), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*2), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*3), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*4), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*5), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*6), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*7), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*8), 12, 12, $brushon)
    case 2
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*0), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*1), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*2), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*3), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*4), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*5), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*6), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*7), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*8), 12, 12, $brushon)
    case 3
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*0), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*1), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*2), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*3), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*4), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*5), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*6), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*7), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*8), 12, 12, $brushon)
    case 4
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*0), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*1), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*2), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*3), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*4), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*5), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*6), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*7), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*8), 12, 12, $brushon)
    case 5
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*0), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*1), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*2), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*3), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*4), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*5), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*6), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*7), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*8), 12, 12, $brushon)
    case 6
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*0), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*1), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*2), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*3), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*4), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*5), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*6), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*7), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*8), 12, 12, $brushon)
    case 7
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*0), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*1), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*2), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*3), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*4), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*5), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*6), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*7), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*8), 12, 12, $brushon)
    case 8
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*0), 12, 12, $brushoff)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*1), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*2), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*3), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*4), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*5), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*6), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*7), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*8), 12, 12, $brushon)
    case 9
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*0), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*1), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*2), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*3), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*4), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*5), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*6), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*7), 12, 12, $brushon)
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*8), 12, 12, $brushon)
    EndSwitch
    EndFunc

    [/autoit]
  • Coole Idee

    Ich habe das Script mal etwas gekürtzt, da ich es so übersichtlicher finde.

    Spoiler anzeigen
    [autoit]


    #NoTrayIcon
    #include <Date.au3>
    #include <GDIPlus.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    Opt("TrayMenuMode", 1)
    $Form1 = GUICreate("GDI+ Summencode-Led Uhr", 215, 250, @DesktopWidth-215, @DesktopHeight-280, $WS_POPUP, $WS_EX_TOPMOST)
    GUISetBkColor(0x000000)
    $Label1 = GUICtrlCreateLabel("", 0, 0, 215, 250, Default, $GUI_WS_EX_PARENTDRAG)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUISetState(@SW_SHOW)
    $context = GUICtrlCreateContextMenu($Label1)
    $hide = GUICtrlCreateMenuItem("Ausblenden", $context)
    GUICtrlCreateMenuItem("", $context)
    $exit = GUICtrlCreateMenuItem("Beenden", $context)
    $show = TrayCreateItem("Anzeigen")
    TrayCreateItem("")
    $exittray = TrayCreateItem("Exit")

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

    _GDIPlus_Startup()
    $grafik = _GDIPlus_GraphicsCreateFromHWND($Form1)
    $brushledoff = _GDIPlus_BrushCreateSolid(0xFF441A00)
    $brushledon =_GDIPlus_BrushCreateSolid(0xFFFFA100)

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

    For $l = 0 to 8
    _GDIPlus_GraphicsFillEllipse($grafik, 30, 40+(20*$l), 12, 12, $brushledoff)
    _GDIPlus_GraphicsFillEllipse($grafik, 50, 40+(20*$l), 12, 12, $brushledoff)
    _GDIPlus_GraphicsFillEllipse($grafik, 90, 40+(20*$l), 12, 12, $brushledoff)
    _GDIPlus_GraphicsFillEllipse($grafik, 110, 40+(20*$l), 12, 12, $brushledoff)
    _GDIPlus_GraphicsFillEllipse($grafik, 150, 40+(20*$l), 12, 12, $brushledoff)
    _GDIPlus_GraphicsFillEllipse($grafik, 170, 40+(20*$l), 12, 12, $brushledoff)
    Next

    Do
    $msg = GUIGetMsg()
    $tmsg = TrayGetMsg()
    Select
    Case $msg = $hide
    WinMove($Form1, "", @DesktopWidth, @DesktopHeight-280, Default, Default, 5)
    TraySetState(1)
    GUISetState(@SW_HIDE)
    Case $msg = $exit
    Exit
    Case $tmsg = $exittray
    Exit
    Case $tmsg = $show
    GUISetState(@SW_Show)
    WinMove($Form1, "", @DesktopWidth-215, @DesktopHeight-280, Default, Default, 5)
    TraySetState(2)
    EndSelect

    $stu1 = Stringmid(_Nowtime(), 1, 1)
    $stu2 = Stringmid(_Nowtime(), 2, 1)
    $min1 = Stringmid(_Nowtime(), 4, 1)
    $min2 = Stringmid(_Nowtime(), 5, 1)
    $sek1 = Stringmid(_Nowtime(), 7, 1)
    $sek2 = Stringmid(_Nowtime(), 8, 1)
    _LedColDrawActive(30, $stu1, $grafik, $brushledoff, $brushledon)
    _LedColDrawActive(50, $stu2, $grafik, $brushledoff, $brushledon)
    _LedColDrawActive(90, $min1, $grafik, $brushledoff, $brushledon)
    _LedColDrawActive(110, $min2, $grafik, $brushledoff, $brushledon)
    _LedColDrawActive(150, $sek1, $grafik, $brushledoff, $brushledon)
    _LedColDrawActive(170, $sek2, $grafik, $brushledoff, $brushledon)
    Until $msg = $GUI_EVENT_CLOSE

    Func _Update()
    $mp = WinGetPos("GDI+ Summencode-Led Uhr")
    While $mp[0] And $mp[1] < -10
    $mp = WinGetPos("GDI+ Summencode-Led Uhr")
    $stu1 = Stringmid(_Nowtime(), 1, 1)
    $stu2 = Stringmid(_Nowtime(), 2, 1)
    $min1 = Stringmid(_Nowtime(), 4, 1)
    $min2 = Stringmid(_Nowtime(), 5, 1)
    $sek1 = Stringmid(_Nowtime(), 7, 1)
    $sek2 = Stringmid(_Nowtime(), 8, 1)
    _LedColDrawActive(30, $stu1, $grafik, $brushledoff, $brushledon)
    _LedColDrawActive(50, $stu2, $grafik, $brushledoff, $brushledon)
    _LedColDrawActive(90, $min1, $grafik, $brushledoff, $brushledon)
    _LedColDrawActive(110, $min2, $grafik, $brushledoff, $brushledon)
    _LedColDrawActive(150, $sek1, $grafik, $brushledoff, $brushledon)
    _LedColDrawActive(170, $sek2, $grafik, $brushledoff, $brushledon)
    WEnd
    EndFunc

    Func _LedColDrawActive($x, $num, $hgraphic, $brushoff, $brushon)
    for $ii = 0 to 8 - $num
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*$ii), 12, 12, $brushoff)
    Next
    $ii2 = 8 - $num + 1
    For $ii = 8 to $ii2 Step -1
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*$ii), 12, 12, $brushon)
    Next
    EndFunc

    [/autoit]


    Gruss Roger

    Einmal editiert, zuletzt von RogerSt (2. März 2010 um 08:59)

  • Hey, wollte auch grad eine Verkürzung für den 100 Zeilen Switch posten ^^
    Mit einer For Schleife

    [autoit]


    For $i = 0 To 8
    If $i <= 8 - $num Then
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*$i), 12, 12, $brushoff)
    Else
    _GDIPlus_GraphicsFillEllipse($hgraphic, $x, 40+(20*$i), 12, 12, $brushon)
    EndIf
    Next

    [/autoit]

    Hätte ja die If Abfrage direkt im Parameter gemacht, doch leider weiß ich nicht wie das in AutoIt geht ^^
    Bei z.B. Java oder Ruby nimmt man da ja gerne dieses "x == 5 ? $bla : $blupp" Konstrukt, von welchem mir grad der Name entfallen ist :D

    EDIT: Fast vergessen: Skript gefällt mir :D

  • Ich war mal so frei und habe deinen Code etwas verkürzt!

    Spoiler anzeigen
    [autoit]


    #NoTrayIcon
    #include <Date.au3>
    #include <GDIPlus.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    Opt("TrayMenuMode", 1)
    $Form1 = GUICreate("GDI+ Summencode-Led Uhr", 215, 250, @DesktopWidth-215, @DesktopHeight-280, $WS_POPUP, $WS_EX_TOPMOST)
    GUISetBkColor(0x000000)
    $Label1 = GUICtrlCreateLabel("", 0, 0, 215, 250, Default, $GUI_WS_EX_PARENTDRAG)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUISetState(@SW_SHOW)
    $context = GUICtrlCreateContextMenu($Label1)
    $hide = GUICtrlCreateMenuItem("Ausblenden", $context)
    GUICtrlCreateMenuItem("", $context)
    $exit = GUICtrlCreateMenuItem("Beenden", $context)
    $show = TrayCreateItem("Anzeigen")
    TrayCreateItem("")
    $exittray = TrayCreateItem("Exit")

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

    _GDIPlus_Startup()
    $grafik = _GDIPlus_GraphicsCreateFromHWND($Form1)
    $brushledoff = _GDIPlus_BrushCreateSolid(0xFF441A00)
    $brushledon =_GDIPlus_BrushCreateSolid(0xFFFFA100)

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

    Do
    $msg = GUIGetMsg()
    $tmsg = TrayGetMsg()
    Select
    Case $msg = $hide
    WinMove($Form1, "", @DesktopWidth, @DesktopHeight-280, Default, Default, 5)
    TraySetState(1)
    GUISetState(@SW_HIDE)
    Case $msg = $exit
    Ende()
    Case $tmsg = $exittray
    Ende()
    Case $tmsg = $show
    GUISetState(@SW_Show)
    WinMove($Form1, "", @DesktopWidth-215, @DesktopHeight-280, Default, Default, 5)
    TraySetState(2)
    EndSelect

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

    $stu1 = Stringmid(_Nowtime(), 1, 1)
    $stu2 = Stringmid(_Nowtime(), 2, 1)
    $min1 = Stringmid(_Nowtime(), 4, 1)
    $min2 = Stringmid(_Nowtime(), 5, 1)
    $sek1 = Stringmid(_Nowtime(), 7, 1)
    $sek2 = Stringmid(_Nowtime(), 8, 1)

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

    _LedColDrawActive(30, $stu1)
    _LedColDrawActive(50, $stu2)
    _LedColDrawActive(90, $min1)
    _LedColDrawActive(110, $min2)
    _LedColDrawActive(150, $sek1)
    _LedColDrawActive(170, $sek2)

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

    Until $msg = $GUI_EVENT_CLOSE
    Ende()

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

    Func Ende()
    _GDIPlus_GraphicsDispose($grafik)
    _GDIPlus_BrushDispose($brushledoff)
    _GDIPlus_BrushDispose($brushledon)
    Exit
    EndFunc

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

    Func _Update()
    $mp = WinGetPos("GDI+ Summencode-Led Uhr")
    While $mp[0] And $mp[1] < -10
    $mp = WinGetPos("GDI+ Summencode-Led Uhr")
    $stu1 = Stringmid(_Nowtime(), 1, 1)
    $stu2 = Stringmid(_Nowtime(), 2, 1)
    $min1 = Stringmid(_Nowtime(), 4, 1)
    $min2 = Stringmid(_Nowtime(), 5, 1)
    $sek1 = Stringmid(_Nowtime(), 7, 1)
    $sek2 = Stringmid(_Nowtime(), 8, 1)

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

    _LedColDrawActive(30, $stu1)
    _LedColDrawActive(50, $stu2)
    _LedColDrawActive(90, $min1)
    _LedColDrawActive(110, $min2)
    _LedColDrawActive(150, $sek1)
    _LedColDrawActive(170, $sek2)

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

    WEnd
    EndFunc

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

    Func _LedColDrawActive($x, $num)

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

    Switch $num
    Case 0
    Zeichne_Ellipse("000000000", $x)
    Case 1
    Zeichne_Ellipse("000000001", $x)
    case 2
    Zeichne_Ellipse("000000011", $x)
    case 3
    Zeichne_Ellipse("000000111", $x)
    case 4
    Zeichne_Ellipse("000001111", $x)
    case 5
    Zeichne_Ellipse("000011111", $x)
    case 6
    Zeichne_Ellipse("000111111", $x)
    case 7
    Zeichne_Ellipse("001111111", $x)
    case 8
    Zeichne_Ellipse("011111111", $x)
    case 9
    Zeichne_Ellipse("111111111", $x)
    EndSwitch
    EndFunc

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

    Func Zeichne_Ellipse($bits, $x)
    Local $aBits = StringSplit($bits, "", 2), $c
    For $c = 0 To UBound($aBits) - 1
    If $aBits[$c] = 0 Then
    _GDIPlus_GraphicsFillEllipse($grafik, $x, 40+(20*$c), 12, 12, $brushledoff)
    Else
    _GDIPlus_GraphicsFillEllipse($grafik, $x, 40+(20*$c), 12, 12, $brushledon)
    EndIf
    Next
    EndFunc

    [/autoit]

    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Super Script.
    Wenn jetzt jemand meinen PC Hackt weiss er nicht, wieviel Uhr es ist :D
    Aber mal Spass beiseite.
    Ich find es ist gut gelungen.
    MfG. PrideRage

    Meine Projekte:
    ClipBoard Manager (beendet)
    Gutes ClipBoard Verwaltungs Programm mit nützlichen Funktionen.

    HTML Creator (beendet)
    Nützliches Tool um schnell ein eigenes HTML Dokument zu erstellen.