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. Websven

Beiträge von Websven

  • Countdown mit Minuten:Sekunden

    • Websven
    • 14. März 2018 um 20:01

    Hallo Ihr Beiden,

    Danke für die Rückmeldungen und "Blumen" - momentan fehlt mir ein wenig die Zeit "zum spielen" - werde es aber mal im Auge behalten.

    Grüße

  • Countdown mit Minuten:Sekunden

    • Websven
    • 4. März 2018 um 14:58

    Öhm - wenn ich wüsste wie ... wie oben erwähnt bin ich absolut "unerfahren".

    Ziel ist es, die EXE dann über die Aufgabenplanung zu einem Zeitpunkt zu starten. Bisher hatte ich den normalen windows-Shutdownbefehl genutzt - so ist es "hübscher" - und man kann auch anhalten, wenn die Arbeit in 5min noch nicht fertig ist ;)

  • Countdown mit Minuten:Sekunden

    • Websven
    • 4. März 2018 um 13:08

    So - ich denke so lasse ich das Skript erstmal - vielen Dank nochmal an Oscar.

    Hier jetzt der Code - gegen Verbesserungsvorschläge habe ich natürlich nix 8o

    AutoIt
    #cs ----------------------------------------------------------------------------
    
     AutoIt Version: 3.3.14.3
     Author:         myName
    
     Script Function:
        Shutdown-Timer 5min mit Anhalten, Weiterlaufen und Abbruch
    
    #ce ----------------------------------------------------------------------------
    
    ; Script Start - Add your code below here
    
    #include <AutoItConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <ButtonConstants.au3>
    #include <ColorConstants.au3>
    
    
    Global $iSeconds = 60 * 5
    Global $hGui = GUICreate('Shutdown-Timer', 385, 200, 192, 124, BitOR($WS_CAPTION,$WS_POPUP,$WS_BORDER,$WS_CLIPSIBLINGS))
    
    Global $Label1 = GUICtrlCreateLabel('Der PC fährt in', 20, 10, 125, 20)
    GUICtrlSetFont(-1, 14, 400, 0, 'Arial')
    Global $idTime = GUICtrlCreateLabel('', 150, 6, 70, 40)
    GUICtrlSetFont(-1, 18, 700, 0, 'Arial')
    GUICtrlSetColor(-1, $COLOR_RED)
    Global $Label2 = GUICtrlCreateLabel('Minuten runter ...', 220, 10, 205, 20)
    GUICtrlSetFont(-1, 14, 400, 0, 'Arial')
    Global $ButStop = GUICtrlCreateButton(" Shutdown Timer anhalten  ",20, 45, 340,35)
    GUICtrlSetFont(-1, 10, 700, 0, 'Arial')
    GUICtrlSetColor(-1, 0x00008B)
    GUICtrlSetBkColor(-1, 0x87cefa)
    Global $ButWeiter = GUICtrlCreateButton(" Timer weiterlaufen lassen ", 20, 90, 340, 35)
    GUICtrlSetFont(-1, 10, 700, 0, 'Arial')
    GUICtrlSetColor(-1, 0x006400)
    GUICtrlSetBkColor(-1, 0x90EE90)
    ;Global $ButClose = GUICtrlCreateButton(@lf & " Programm abbrechen " & @lf & "und Fenster schließen", 170, 35, 180, 70)
    ;GUICtrlSetStyle($ButClose, BitOR($WS_TABSTOP, $BS_NOTIFY, $BS_OWNERDRAW, $BS_MULTILINE)) ; Set the ownerdrawn flag
    Global $ButClose = GUICtrlCreateButton(" Programm abbrechen und Fenster schließen ", 20, 135, 340, 40)
    GUICtrlSetFont(-1, 11, 700, 0, 'Arial')
    GUICtrlSetColor(-1, $COLOR_Yellow)
    GUICtrlSetBkColor(-1, $COLOR_Red)
    
    
    AdlibRegister('_CountDown', 1000)
    _CountDown()
    GUISetState(@SW_SHOW)
    
    While True
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                Exit
            Case $ButStop
                AdlibUnRegister('_CountDown')
             Case $ButWeiter
                AdlibRegister('_Countdown', 1000)
             Case $ButClose
                Exit
        EndSwitch
    WEnd
    
    
    Func _CountDown()
        Local $iMin, $iSec
        $iSeconds -= 1
        If $iSeconds < 0 Then
    ;~         Shutdown($SD_SHUTDOWN) ; Rechner herunterfahren
                MsgBox(0,"Test","JEtzt würde der PC runterfahren",10)
            Exit ; Programm beenden
        EndIf
    
    
        $iMin = Int($iSeconds / 60)
        $iSec = Mod($iSeconds, 60)
        GUICtrlSetData($idTime, StringFormat('%02i:%02i', $iMin, $iSec))
    EndFunc
    Alles anzeigen

    Grüße

  • Countdown mit Minuten:Sekunden

    • Websven
    • 4. März 2018 um 10:24

    :thumbup::/:S

  • Countdown mit Minuten:Sekunden

    • Websven
    • 3. März 2018 um 23:03

    Im Post4 ist aber doch eine Lösung enthalten:

    Mit den Zeilen hab es sogar ich mit Schrift- und Hintergrundfarbe hinbekommen :party::klatschen:

    AutoIt
    Global $ButClose = GUICtrlCreateButton(@lf & "Programm abbrechen " & @lf & "und Fenster schließen", 170, 35, 175, 70)
    GUICtrlSetStyle($ButClose, BitOR($WS_TABSTOP, $BS_NOTIFY, $BS_OWNERDRAW, $BS_MULTILINE)) ; Set the ownerdrawn flag
    ;Global $ButClose = GUICtrlCreateButton(" Programm abbrechen und Fenster schließen ", 170, 35, 160, 60, $BS_MULTILINE )
    GUICtrlSetFont(-1, 11, 700, 0, 'Arial')
    GUICtrlSetColor(-1, $COLOR_RED)
    GUICtrlSetBkColor(-1, $COLOR_Yellow)

    Der Text wird jetzt zwar nicht automatisch zentriert und es ist ein wenig "gefummel" - für mich jedenfalls. Aber es geht.

    Ob ich es so lasse oder die Buttons generell lieber einzeilig lasse, weis ich noch nicht - ich wollte es ja auch einfach nur "wissen". :S:D

    Evtl. geht es ja auch noch eleganter ...

    Grüße Sven

  • Countdown mit Minuten:Sekunden

    • Websven
    • 3. März 2018 um 20:07

    Dank Oscars Hilfe funktioniert es jetzt eigentlich ganz gut - nur bin ich jetzt auf das nächste Problem gestoßen und finde keine Lösung. :/

    Das Färben der "normalen" Buttons funktioniert wie es soll. Jetzt habe ich aber einen Butten mit "Zeilenumbruch" - der Zeilenumbruch funktioniert solange bis ich die Farbe ändern will - dann schreibt er den Text in eine Zeile. Hier mein bisheriger Code - Zeile 25 soll die Schriftfarbe oder Hintergrundfarbe ändern, machts aber nicht ;(

    AutoIt
    #include <AutoItConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <ButtonConstants.au3>
    #include <ColorConstants.au3>
    
    
    Global $iSeconds = 30 * 1
    Global $hGui = GUICreate('Zeitgesteuertes Ausschalten', 365,125, 192, 124, BitOR($WS_CAPTION,$WS_POPUP,$WS_BORDER,$WS_CLIPSIBLINGS))
    
    Global $Label1 = GUICtrlCreateLabel('Der PC fährt in', 20, 10, 105, 20)
    GUICtrlSetFont(-1, 12, 400, 0, 'Arial')
    Global $idTime = GUICtrlCreateLabel('', 140, 6, 70, 40)
    GUICtrlSetFont(-1, 16, 700, 0, 'Arial')
    Global $Label2 = GUICtrlCreateLabel('Minuten runter ...', 210, 10, 205, 20)
    GUICtrlSetFont(-1, 12, 400, 0, 'Arial')
    Global $ButStop = GUICtrlCreateButton(" Zeit anhalten  ",20, 35, 130)
    GUICtrlSetFont(-1, 8.5, 700, 0, 'Arial')
    GUICtrlSetColor(-1, $COLOR_Yellow)
    GUICtrlSetBkColor(-1, $COLOR_RED)
    Global $ButWeiter = GUICtrlCreateButton(" Zeit weiterlaufen lassen ", 20, 70, 130)
    Global $ButClose = GUICtrlCreateButton(" Programm abbrechen und Fenster schließen ", 190, 35, 160, 60, $BS_MULTILINE )
    GUICtrlSetFont(-1, 11, 700, 0, 'Arial')
    ;GUICtrlSetColor(-1, $COLOR_RED)
    
    ; Setzt die Hintergrundfarbe des Label-Controls.
    
    ; Setzt die Schriftbarbe
    ;GUICtrlSetColor ( $ButClose, 0xFF00FF  )
    
    AdlibRegister('_CountDown', 1000)
    _CountDown()
    GUISetState(@SW_SHOW)
    
    While True
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                Exit
            Case $ButStop
                AdlibUnRegister('_CountDown')
             Case $ButWeiter
                AdlibRegister('_Countdown', 1000)
             Case $ButClose
                Exit
        EndSwitch
    WEnd
    
    
    Func _CountDown()
        Local $iMin, $iSec
        $iSeconds -= 1
        If $iSeconds < 0 Then
    ;~         Shutdown($SD_SHUTDOWN) ; Rechner herunterfahren
                MsgBox(0,"Test","JEtzt würde der PC runterfahren",10)
            Exit ; Programm beenden
        EndIf
    
    
        $iMin = Int($iSeconds / 60)
        $iSec = Mod($iSeconds, 60)
        GUICtrlSetData($idTime, StringFormat('%02i:%02i', $iMin, $iSec))
    EndFunc
    Alles anzeigen
  • Countdown mit Minuten:Sekunden

    • Websven
    • 3. März 2018 um 14:52

    Du bist so gut zu mir :thumbup::)

    Ich habe jetzt eine Schaltfläche eingefügt, die beim anklicken den Countdown beenden soll - weis jetzt aber nicht so recht, wo bzw. wie ich diese Schaltfläche "abprüfen" kann - wäre schön, wenn Du mir hier auch "auf die Sprünge" helfen könntest - hier mein bisheriger code:

    AutoIt
    #include <AutoItConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    
    
    Global $iSeconds = 20 * 1
    Global $hGui = GUICreate('Zeitgesteuertes Ausschalten', 365,75, 192, 124, BitOR($WS_CAPTION,$WS_POPUP,$WS_BORDER,$WS_CLIPSIBLINGS))
    
    Global $Label1 = GUICtrlCreateLabel('Der PC fährt in', 20, 10, 105, 20)
    GUICtrlSetFont(-1, 12, 400, 0, 'Arial')
    Global $idTime = GUICtrlCreateLabel('', 140, 6, 70, 40)
    GUICtrlSetFont(-1, 16, 700, 0, 'Arial')
    Global $Label2 = GUICtrlCreateLabel('Minuten runter ...', 210, 10, 205, 20)
    GUICtrlSetFont(-1, 12, 400, 0, 'Arial')
    $Button1 = GUICtrlCreateButton("  automatischen ausschalten abbrechen  ",20, 35)
    
    AdlibRegister('_CountDown', 1000)
    _CountDown()
    GUISetState(@SW_SHOW)
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    
    
    
    Func _CountDown()
        Local $iMin, $iSec
        $iSeconds -= 1
        If $iSeconds < 0 Then
    ;~         Shutdown($SD_SHUTDOWN) ; Rechner herunterfahren
            Exit ; Programm beenden
        EndIf
        $iMin = Int($iSeconds / 60)
        $iSec = Mod($iSeconds, 60)
        GUICtrlSetData($idTime, StringFormat('%02i:%02i', $iMin, $iSec))
    EndFunc
    Alles anzeigen

    Vielen herzlichen Dank auch

    Sven

  • Countdown mit Minuten:Sekunden

    • Websven
    • 3. März 2018 um 13:59

    Danke für die Erklärung ...

  • Countdown mit Minuten:Sekunden

    • Websven
    • 2. März 2018 um 18:34

    Hallo Oscar,

    vielen Dank für die schnelle Antwort :thumbup::thumbup:

    Da kann ich dann "weiterbasteln" - bis zum nächsten Problem oder so ?(:rolleyes:

    Grüße

    Sven

  • Countdown mit Minuten:Sekunden

    • Websven
    • 2. März 2018 um 16:46

    Hallo Forum,

    ich bin neu was Autoit angeht und auch mit Skripten habe ich nicht viel Erfahrung.

    Ich möchte gern ein Countdown-Fenster, der nach z.B. 5 min ein Programm aufruft oder den PC runterfährt.....

    Gefunden habe ich dieses Beispiel, mit dem es eigentlich geht - nur zählt er halt "nur" Sekunden runter - ich hätte aber gern mm:ss .... ich hab zwar noch jede Menge Beispiele gefunden, die aber zu umfangreich sind und ich verstehe diese auch nicht wirklich, um den "passenden Teil" zu übernehmen. ;(

    Hier der Code mit "reinen Sekunden":

    AutoIt
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    
    $Form1 = GUICreate("Form1", 223, 53, 192, 124)
    $Label1 = GUICtrlCreateLabel("computer wird in ", 8, 14, 84, 17)
    $Label2 = GUICtrlCreateLabel("Label2", 92, 14, 124, 17)
    GUISetState(@SW_SHOW)
    
    
    For $i = 160 To 0 Step -1
        GUICtrlSetData($Label2, $i & " sek heruntergefahren")
        If $i = 0 Then MsgBox(0, "Ausschalten", "Der PC fährt gleich runter ....")
        Sleep(1000)
    Next
    ;Shutdown(1)
    
    msgbox (1, "Aus","jetzt würde der PC runterfahren ....")
    Alles anzeigen

    Ich würde gern statt der Sekunden die Anzeige in mm:ss - ohne viel drum rum usw. - so schwer kann es doch wohl nicht sein - leider bin ich zu unerfahren.:(

    Vielen Dank schon mal und Grüße

    Sven

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™