Energie Anzeige

  • Eine kleine Methode die eine Farbe zwischen Rot und Grün zurückgibt, wenn man ihr eine Prozentzahl (sprich eine Zahl zwischen 0 und 100) übergibt.

    (achja..in der Funktion kein Error checking..)

    Tja..5 Uhr morgens und mir ist langweilig kann ich dazu nur sagen ^^

    [autoit]

    #include <GUIConstants.au3>

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

    Global $batterieFarbe = 0x555555, $sliderpos = 0
    $gui = GUICreate("Batterie",130,200,-1,-1,BitOr($WS_CAPTION, $WS_POPUP, $WS_SYSMENU))
    $input = GUICtrlCreateInput("80",50,200-24-10,30,24,BitOr($ES_NUMBER,$ES_RIGHT))

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

    $label = GUICtrlCreateLabel("",120,50,50,100)
    GUICtrlSetBkColor($label,$batterieFarbe)

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

    GUICtrlCreateLabel("",19,49,52,102)
    GUICtrlSetBkColor(-1,$batterieFarbe)
    GUICtrlCreateLabel("",40,45,10,5)
    GUICtrlSetBkColor(-1,$batterieFarbe)

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

    $slider = GUICtrlCreateSlider(80,40,30,120,BitOr($TBS_VERT,$TBS_LEFT,$TBS_AUTOTICKS))
    GUICtrlSetLimit(-1,100,0)
    GUICtrlSetData(-1,20)

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

    _GetColorByValue(80)
    GUISetState(@SW_SHOW)

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

    While 1
    ;Damit es nicht über 100% werden..
    if StringLen(GUICtrlRead($input)) > 2 Then
    if Number(GUICtrlRead($input)) > 100 Then
    GUICtrlSetData($input,100)
    SoundPlay(@WindowsDir & "\media\Windows XP-Ping.wav",0) ;Fehlergeräusch
    EndIf
    EndIf

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

    If GUICtrlRead($slider) <> $sliderpos Then
    $sliderpos = GUICtrlRead($slider)
    GUICtrlDelete($label)
    $label = GUICtrlCreateLabel("",20,50+100-(100-GUICtrlRead($slider)),50,(100-GUICtrlRead($slider)))
    GUICtrlSetBkColor($label,_GetColorByValue(100-GUICtrlRead($slider)))
    GUICtrlSetData($input,100-GUICtrlRead($slider))
    EndIf

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

    If GUIGetMsg() = $GUI_EVENT_CLOSE Then Exit
    WEnd

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

    Func _GetColorByValue($iProzent)
    Local $hColor = 0
    if ($iProzent > 50) Then
    $hColor = "0x" & Hex((100-$iProzent)*5.1,2) & "FF00"
    Else
    $hColor = "0xFF" & Hex(($iProzent)*5.1,2) & "00"
    endIf
    return $hColor
    EndFunc

    [/autoit]

    So aber nun geh ich doch lieber schlafen bevor ich noch mit nützlichen Scripten komme ;)