Guten Morgen Wecker

  • Da ich in letzter Zeit immer öfter auf den 'Snooze' Button meines Weckers drücke und somit des Öfteren zu spät aufstehe, dachte ich mir gestern Abend : ' Mein Computer soll mich wecken!'

    Das ist dabei rausgekommen:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <windowsconstants.au3>
    #include <Sound.au3>
    #Include <File.au3>
    #Include <Array.au3>

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

    GUICreate('Guten Morgen',220,35,Default,Default,Default, $WS_EX_TOPMOST) ; Anwendungsfenster
    $term_btn = GUICtrlCreateButton('Ich stehe jetzt auf!',10,5,200) ; Schließen_Btn
    GUISetBkColor(0xA5A79C) ; Hintergrundfarbe
    GUISetState() ; Fenster anzeigen

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

    $homepage = IniRead(@ScriptDir & "\Option.ini", "Firefox", 'Startseite', "") ; Startseite
    $pfad = @ScriptDir & "\Sounds" ; Pfad zum Ornder
    $lautst = IniRead(@ScriptDir & "\Option.ini", "Lautstaerke", 'Maximal', "") ; Lautstärke zum aufstehen
    $lautnorm = IniRead(@ScriptDir & "\Option.ini", "Lautstaerke", 'Normal', "") ; Grundeinstellung
    $ms = IniRead(@ScriptDir & "\Option.ini", "Lautstaerke", 'Regelgeschwindigkeit', "") ; Regelgeschwindigkeit

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

    dim $FileList =_FileListToArray($pfad) ; Array
    dim $songlist =_FileListToArray($pfad) ; Songliste
    dim $song,$sound,$x ; Sound Variable, Index

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

    Browser_starten() ; Startseite öffnen
    Auflisten() ; Ornerinhalt auflisten
    Filtern () ; Mp3 Dateien rausfiltern

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

    While 1 ; Main
    $msg = GUIGetMsg()
    Select
    case $msg = $term_btn ; schließen
    terminate()
    Case $msg = $GUI_EVENT_CLOSE ; schließen
    terminate()
    EndSelect
    WEnd

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

    func Auflisten() ; Ordnerinhalt auflisten

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

    If @Error=1 Then
    MsgBox (0,"","Ordner nicht gefunden.")
    Exit
    EndIf
    If @Error=4 Then
    MsgBox (0,"","Keine Mp3 Datei gefunden.")
    Exit
    EndIf
    EndFunc

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

    func Filtern() ; Mp3 Dateien rausfiltern

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

    $x = 1 ; Index des Arrays

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

    for $i = 1 to $FileList[0] step 1

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

    $split = StringSplit($FileList[$i],'') ; Dateiname wird gesplittet
    $j = $split[0] ; letzte Position im Array

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

    if $split[$j] = 3 Then
    $songlist[$x] = $FileList[$i] ; Mp3 Datei in Songliste eintragen
    $x = $x + 1
    EndIf

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

    next

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

    Titel_abspielen()

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

    EndFunc

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

    Func Titel_abspielen() ; Titel abspielen

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

    $j = Random(1,$x,1) ; Zufall_Index
    for $i = 1 to $x step 1 ; Titel generieren

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

    if $j = $i Then ; Titel generieren
    $song = $songlist[$j]
    ExitLoop
    EndIf

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

    Next

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

    $sound = _SoundOpen($pfad&'\'&$song) ; Datei öffnen
    SoundSetWaveVolume(0) ; Lautstärke auf 0 setzen
    _SoundPlay($sound) ; Titel abspielen
    TrayTip('Guten Morgen Sound:',$song,10) ; Anzeigen
    Lautstaerke_erhoehen() ; Lautstärke erhöhen

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

    EndFunc

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

    Func Lautstaerke_erhoehen() ; Lautstärke erhöhen

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

    for $i = 1 to $lautst step 1
    SoundSetWaveVolume($i)
    sleep($ms)
    next

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

    EndFunc

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

    Func Browser_starten() ; Startseite öffnen
    ShellExecute('firefox.exe', $homepage)
    EndFunc

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

    Func Terminate() ; Programm schließen

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

    for $i = $lautst to 0 step -1
    SoundSetWaveVolume($i)
    sleep(100)
    next

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

    _SoundStop($sound) ; Sound schließen
    SoundSetWaveVolume($lautnorm) ; Grundeinstellung wiederherstellen
    Exit
    EndFunc

    [/autoit]


    Man muss nur ein paar Mp3-Dateien in den 'Sounds'-Ordner kopieren und jeden Morgen wird man dann mit einem zufälligen Lied aus diesem Ordner geweckt.
    Dabei kann man einstellen, wie 'schnell' man geweckt werden möchte.
    Da ich morgens gerne auf den neuesten Stand gebracht werden möchte, wird außerdem eine Homepage deiner Wahl geöffnet.

    Einstellungen kann man dann unter Optionen ändern:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>

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

    GUICreate('Optionen',220,260) ; Anwendungsfenster
    GUISetState()

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

    $homepage = IniRead(@ScriptDir & "\Option.ini", "Firefox", 'Startseite', "") ; Startseite
    $lautst = IniRead(@ScriptDir & "\Option.ini", "Lautstaerke", 'Maximal', "") ; Lautstärke zum aufstehen
    $lautnorm = IniRead(@ScriptDir & "\Option.ini", "Lautstaerke", 'Normal', "") ; Grundeinstellung
    $ms = IniRead(@ScriptDir & "\Option.ini", "Lautstaerke", 'Regelgeschwindigkeit', "") ; Regelgeschwindigkeit

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

    $save_btn = GUICtrlCreateButton("Speichern",10,220,200) ; Speichern_btn

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

    GUICtrlCreateLabel('Lautsärke: ',10,60,200,20)
    $vol = GUICtrlCreateSlider(10, 80, 200, 20)
    GUICtrlSetLimit(-1, 100, 0) ; Lautstärke regeln
    $vol_lab = GUICtrlCreateLabel('',65,60,200,20)
    GUICtrlSetData($vol,$lautst)

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

    GUICtrlCreateLabel('Standard Lautstärke: ',10,110,200,20)
    $vol_ges = GUICtrlCreateSlider(10, 130, 200, 20)
    GUICtrlSetLimit(-1, 100, 0) ; Standard Lautstärke
    $ges_lab = GUICtrlCreateLabel('',115,110,200,20)
    GUICtrlSetData($vol_ges,$lautnorm)

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

    GUICtrlCreateLabel('Regelgeschwindigkeit: ',10,160,200,20) ; Regelgeschwindigkeit
    $regel = GUICtrlCreateSlider(10, 180, 200, 20)
    GUICtrlSetLimit(-1, 5000, 0)
    $reg_lab = GUICtrlCreateLabel('',125,160,200,20)
    GUICtrlSetData($regel,$ms)

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

    GUICtrlCreateLabel('Startseite: ',10,10,200,20)
    $input = GUICtrlCreateInput($homepage,10,30,200)

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

    While 1

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

    GUICtrlSetData($ges_lab, GUICtrlRead($vol_ges)) ;Aktualisieren
    GUICtrlSetData($vol_lab, GUICtrlRead($vol))
    GUICtrlSetData($reg_lab, GUICtrlRead($regel))

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

    $msg = GUIGetMsg()

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

    Select

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

    case $msg = $save_btn ; speichern und schließen
    save()

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

    case $msg = $GUI_EVENT_CLOSE ; schließen
    Exit

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

    EndSelect

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

    Sleep(50)

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

    Wend

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

    Func save()

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

    IniWrite(@ScriptDir & "\Option.ini", "Firefox", 'Startseite', GUICtrlRead($input)) ; Startseite speichern
    IniWrite(@ScriptDir & "\Option.ini", "Lautstaerke", 'Maximal', GUICtrlRead($vol)) ; Lautstärke zum aufstehen speichern
    IniWrite(@ScriptDir & "\Option.ini", "Lautstaerke", 'Normal', GUICtrlRead($vol_ges)) ; Standardlautsrärke speichern
    IniWrite(@ScriptDir & "\Option.ini", "Lautstaerke", 'Regelgeschwindigkeit', GUICtrlRead($regel)) ; Regelgeschwindigkeitspeichern

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

    Exit

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

    EndFunc

    [/autoit]


    PS: Computer muss sich im StandBy Modus befinden!
    Unter Systemprogramme>>Geplante Tasks ... sollte die Exe-Datei mit gewünschter 'Weckzeit' ausgeführt werden.
    Dabei: 'Computer zum Ausführen des Tasks reaktivieren' anklicken

    Vielleicht hat jemand dafür Verwendung:

    autoit.de/wcf/attachment/9657/

    Ich zumindest wurde heute Morgen angenehm geweckt :)

  • Naja mein Pc befindet sich im Ruhezustand. Der geht also automatisch an... siehe Anleitung ;)

  • Du kannst ihn natürlich auch auf StandBy stellen. Dann klappt es auf jeden Fall. Und soviel Strom wird ja im StandBy-Modus eig nicht gefressen.

  • Da ich in letzter Zeit immer öfter auf den 'Snooze' Button meines Weckers drücke und somit des Öfteren zu spät aufstehe, dachte ich mir gestern Abend : ' Mein Computer soll mich wecken!'

    Schöne Idee, da kann man in Anlehnung an deine Sig nur hoffen, dass du jetzt den Computer nicht an die Wand wirfst weil du noch weiter schlafen möchtest,

    mfg (Auto)Bert