Neuer Progress typ

  • Hi mir war Langweilig darum habe ich weil der Gui Progress Langweilig ist, mir ein selber geScriptet ;)
    Hir Mein include:

    [autoit]

    #include <GdiPlus.au3>
    #include <WindowsConstants.au3>
    ; script by xXxProGamerxXx

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

    ;Beispiel

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

    #cs

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

    #include <Progress_v1.au3>

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

    $Progress = _Progress_ON("my Progress",0,0x00FF00,0xFF996633)

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

    For $i = 1 to 100
    Sleep(2)
    _Progress_Data($Progress,$i)
    Next

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

    Sleep(5000)

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

    _Progress_Exit()
    Exit

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

    ///// \\\\\\
    ///// 2 \\\\\\
    ///// _Beispiel 2 _ \\\\\\
    \\\\\ 2 /////
    \\\\\ /////

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

    #include <Progress_v1.au3>

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

    $Progress = _Progress_ON("my Progress",0,0x00FF00,0xFF996633)
    For $i = 1 to 100
    Sleep(40)
    _Progress_Data($Progress,$i)
    Next

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

    Sleep(500)
    _Progress_End()

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

    _Progress_New_ON(0)
    For $e = 1 to 100
    Sleep(20)
    _Progress_Data($Progress,$e)
    Next

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

    Sleep(500)
    _Progress_Exit()
    Exit

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

    #ce

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

    ;$Progress = _Progress_ON([GuiName] , [Bei wieviel % er starten soll, sollte 0 sein sons können fehler auftauchen] , [color der Gui,Color des Progressbalken´s] )
    Func _Progress_ON($GuiNamen,$Startdata,$GuiColor,$ProgressColor)
    $i = 623
    $u = 66
    $l = 16
    $s = 16
    Global Const $Progressgui_Gui = GUICreate($GuiNamen, 650, 80, -1, -1, $WS_POPUPWINDOW, $WS_EX_TOPMOST )
    GUISetBkColor($GuiColor)
    GUICtrlSetData(-1, "Edit1")
    $hWnd = WinGetHandle($Progressgui_Gui)
    GUISetState(@SW_SHOW)
    _GDIPlus_Startup()
    Global Const $hGraphics_gdi = _GDIPlus_GraphicsCreateFromHWND($hWnd)
    $progressColorSetup = _GDIPlus_BrushCreateSolid($Progresscolor)
    _GDIPlus_GraphicsDrawLine($hGraphics_gdi, $s, $l, $i, $l)
    _GDIPlus_GraphicsDrawLine($hGraphics_gdi, $s, $u, $i, $u)
    _GDIPlus_GraphicsDrawLine($hGraphics_gdi, $s, $l, $s, $u)
    _GDIPlus_GraphicsDrawLine($hGraphics_gdi, $i, $l, $i, $u)
    $x = $Startdata * 6
    _GDIPlus_GraphicsFillRect($hGraphics_gdi, 20, 20 ,$x, 43,$progressColorSetup)
    Return $progressColorSetup
    EndFunc

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

    ; Setzt den wert für den Progressbalken
    ; _Progress_Data($Progress, [Bei wieviel % der progress ist] [> z.B 50 dann ist der progressbalken bei der helfte] )
    Func _Progress_Data($Progress,$ProgressData)
    $x = $ProgressData * 6
    _GDIPlus_GraphicsFillRect($hGraphics_gdi, 20, 20 ,$x, 43,$Progress)
    EndFunc

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

    ;Wenn man mehrere Progresse haben will sollte man erst den nehmen und erst wenn man kein progress mehr brauch am ende _Progress_Exit() nehmen
    Func _Progress_End()
    GUISetState(@SW_HIDE, $Progressgui_Gui)
    EndFunc

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

    ;Schließt den/die progress/e
    Func _Progress_Exit()
    _GDIPlus_GraphicsDispose($hGraphics_gdi)
    GUISetState(@SW_HIDE, $Progressgui_Gui)
    _GDIPlus_Shutdown()
    EndFunc

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

    ;Nach dem man _Progress_ON genommen hat und noch ein progress haben will sollte man den nehmen stat _Progress_ON weil sons Fehler kommen
    ;Voher _Progress_End() Nehmen !
    Func _Progress_New_ON($Startdata2)
    $i = 623
    $u = 66
    $l = 16
    $s = 16
    GUISetState(@SW_SHOW, $Progressgui_Gui)
    $x = $Startdata2 * 6
    _GDIPlus_GraphicsDrawLine($hGraphics_gdi, $s, $l, $i, $l)
    _GDIPlus_GraphicsDrawLine($hGraphics_gdi, $s, $u, $i, $u)
    _GDIPlus_GraphicsDrawLine($hGraphics_gdi, $s, $l, $s, $u)
    _GDIPlus_GraphicsDrawLine($hGraphics_gdi, $i, $l, $i, $u)
    _GDIPlus_GraphicsFillRect($hGraphics_gdi, 20, 20 ,$x, 43,$Progress)
    EndFunc

    [/autoit]

    Viel Spaß xD

    Sind TV-Quizfragen zu einfach? A) Ja B) Harry Potter

    Spoiler anzeigen

    Ich gebe zu dieser Post hat wahrscheinlich nicht viel geholfen,
    aber ich versuche wenigstens zu helfen :rolleyes:

  • Nice geworden.

    Aber

    Aber das lässt sich verhindern indem du

    [autoit]

    Global $hGraphics_gdi,$Progressgui_Gui

    [/autoit]


    an den Anfang setz

    und in der Funktion _Progress_ON verändere mal

    [autoit]


    Global Const $Progressgui_Gui = GUICreate($GuiNamen, 650, 80, -1, -1, $WS_POPUPWINDOW, $WS_EX_TOPMOST )
    Global Const $hGraphics_gdi = _GDIPlus_GraphicsCreateFromHWND($hWnd)

    [/autoit]

    in

    [autoit]


    $Progressgui_Gui = GUICreate($GuiNamen, 650, 80, -1, -1, $WS_POPUPWINDOW, $WS_EX_TOPMOST )
    $hGraphics_gdi = _GDIPlus_GraphicsCreateFromHWND($hWnd)

    [/autoit]

    dann kommen keine errors mehr

    und setze mal deinen Code in ['spoiler][/spoiler] (Später dann ohne ' ) Tags damit mann sich keinen Wolf dreht beim scrollen

  • Danke das du mein script verbessert hast^^ bei mir kammen zwar keine fehler aber vlt liegt es an unterschiedlichen autoit visionen... egal
    so funktioniert es auch bei anderen.

    Sind TV-Quizfragen zu einfach? A) Ja B) Harry Potter

    Spoiler anzeigen

    Ich gebe zu dieser Post hat wahrscheinlich nicht viel geholfen,
    aber ich versuche wenigstens zu helfen :rolleyes: