Speicherbelegung mit Progress ?

  • Hallo,

    in dem angefügten Beispiel habe ich die Speicherbelegung mit Progress in Prozent ausgeben lassen. Es funktioniert (nennt man wohl Klickprozedur ?).

    • Was muss ich machen um eine dynamische ständige Anzeige zu erhalten ?
      Das es mit For, ProgressOn,-Set und -Off irgendwie geht ist mir schon klar, über ein Beispiel würde ich mich sehr freuen (zB Vervollständigung des anliegenden Beispiels).
    • Wie groß ist die Last bei dieser dynamischen ständigen Anzeige (Überwachung), oder sollte ich lieber nach abarbeiten des Hauptprozesses die Klickprozedur erneut aufrufen ?
    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>

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

    $TOTAL = DriveSpaceTotal("C:\")
    $FREE = DriveSpaceFree("C:\")
    $i = Round(($TOTAL - $FREE) / ($TOTAL / 100), 2)

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

    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\XP-Home\Eigene Dateien\My AutoIT-Projekte\Test-Progress\ProgressTEST_3.kxf
    $Form2 = GUICreate("ProgressTEST", 316, 239, 350, 250, $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS)
    GUISetIcon("D:\002.ico")
    $GroupBox1 = GUICtrlCreateGroup("", 8, 1, 297, 193)
    $Group1 = GUICtrlCreateGroup("", 16, 112, 281, 73)
    $Progress1 = GUICtrlCreateProgress(24, 128, 265, 17)
    GuiCtrlSetData(-1, $i)
    $Label1 = GUICtrlCreateLabel($i & " % Speicher belegt", 24, 160, 265, 17, $SS_CENTER)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Button1 = GUICtrlCreateButton("&OK", 70, 203, 75, 25, 0)
    $Button2 = GUICtrlCreateButton("&Cancel", 149, 204, 75, 25, 0)
    $Button3 = GUICtrlCreateButton("&Help", 229, 204, 75, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

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


    Danke
    Euer Ritzelrocker04

  • Ich würds mit ADLIBEnable alle 5mins oder so aufrufen. Öfter braucht man das ja net, denk ich

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    $TOTAL = DriveSpaceTotal("C:\")
    $FREE = DriveSpaceFree("C:\")
    $i = Round(($TOTAL - $FREE) / ($TOTAL / 100), 2)

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

    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\XP-Home\Eigene Dateien\My

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

    AutoIT-Projekte\Test-Progress\ProgressTEST_3.kxf
    $Form2 = GUICreate("ProgressTEST", 316, 239, 350, 250, $WS_OVERLAPPEDWINDOW + $WS_VISIBLE +

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

    $WS_CLIPSIBLINGS)
    GUISetIcon("D:\002.ico")
    $GroupBox1 = GUICtrlCreateGroup("", 8, 1, 297, 193)
    $Group1 = GUICtrlCreateGroup("", 16, 112, 281, 73)
    $Progress1 = GUICtrlCreateProgress(24, 128, 265, 17)
    GuiCtrlSetData(-1, $i)
    $Label1 = GUICtrlCreateLabel($i & " % Speicher belegt", 24, 160, 265, 17, $SS_CENTER)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Button1 = GUICtrlCreateButton("&OK", 70, 203, 75, 25, 0)
    $Button2 = GUICtrlCreateButton("&Cancel", 149, 204, 75, 25, 0)
    $Button3 = GUICtrlCreateButton("&Help", 229, 204, 75, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    AdlibEnable("_Update",500000)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

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

    Func _Update()
    $TOTAL = DriveSpaceTotal("C:\")
    $FREE = DriveSpaceFree("C:\")
    $i = Round(($TOTAL - $FREE) / ($TOTAL / 100), 2)
    GUICtrlSetData($Progress1,$i)

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

    EndFunc

    [/autoit]
  • Hallo Progandy,
    nun meine Vollzugmeldung:
    Es hat Funktioniert, bei meinem Probe-Kopieren konnte ich sogar den Balkenfortschritt erkennen. Leider musste ich feststellen, dass die Prozentzahl im Label sich nicht veränderte. Nun habe ich es mal ergänzt und lege es in den Spoiler .

    Spoiler anzeigen
    [autoit]


    ; by Progandy
    #include <GUIConstants.au3>

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

    $TOTAL = DriveSpaceTotal("D:\")
    $FREE = DriveSpaceFree("D:\")
    $i = Round(($TOTAL - $FREE) / ($TOTAL / 100), 2)

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

    $Form2 = GUICreate("ProgressTEST", 316, 239, 350, 250, $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS)
    $GroupBox1 = GUICtrlCreateGroup("", 8, 1, 297, 193)
    $Group1 = GUICtrlCreateGroup("", 16, 112, 281, 73)
    $Progress1 = GUICtrlCreateProgress(24, 128, 265, 17)
    GuiCtrlSetData(-1, $i)
    $Label1 = GUICtrlCreateLabel($i & " % Speicher belegt", 24, 160, 265, 17, $SS_CENTER)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Button1 = GUICtrlCreateButton("&OK", 70, 203, 75, 25, 0)
    $Button2 = GUICtrlCreateButton("&Cancel", 149, 204, 75, 25, 0)
    $Button3 = GUICtrlCreateButton("&Help", 229, 204, 75, 25, 0)
    GUISetState(@SW_SHOW)
    ; starten _Updaten alle 1min
    AdlibEnable("_Update",100000)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd
    ; _Update Func
    Func _Update()
    $TOTAL = DriveSpaceTotal("D:\")
    $FREE = DriveSpaceFree("D:\")
    $i = Round(($TOTAL - $FREE) / ($TOTAL / 100), 2)
    GUICtrlSetData($Progress1, $i)
    GUICtrlSetData($Label1, $i & " % Speicher belegt")

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

    EndFunc ; ==> AdlibEnable("_Update",100000)

    [/autoit]


    Nochmals herzlichen Dank
    Euer Ritzelrocker04