timer tickt

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    timer tickt

    Hey,
    ich wollte eigentlich nur was Simples wissen.
    Google hat mir leider nicht viel gebracht, genauso wenig wie Bing oder Yahoo^^

    Tickt der Timer nur wenn der PC an ist? Ich meine, er kann ja schlecht ticken wenn der PC komplett aus ist oder?
    Und wenn ja, wird er immer neugestartet, wenn das Programm im Autostart ist und der PC runter- und wieder hochgefahren wird?

    Zum Beispiel:
    Mein Timer tickt 1000 minuten. Sagen wir nach 50 Minuten wird der Computer aber ausgeschaltet und irgendwann wieder hochgefahren.

    Geht der Timer wieder von 0 los oder wird er bei 50 Minuten weiter machen bis die 1000 Minuten um sind?


    Vielen Dank für alle Antworten im Voraus.
    Der Timer tickt, wenn dein Programm läuft, in dem er instanziiert und gestartet ist.
    Die Systemuhr läuft, solange der Akku genügend Saft hat.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Das Timer-Interval wird in Milisekunden - also tausendstel Sekunden - angegeben. Ein Interval von 1000 entspricht somit einer Sekunde. Wenn der Computer ausgeschaltet ist kann kein Code ausgeführt werden - somit existiert der Timer auch nichtmehr.
    Wenn du über Solche Zeiträume hinaus agieren willst musst du den Zeitpunkt zudem iwas passieren soll speichern (21.12.2012 24:00:00) und abfragen ob der entsprechende Tag + Uhrzeit ist... Wenn ja, dann soll iwas ausgeführt werden. Und ja, auch dafür muss der Recher an sein^^

    Edit: Ja, wenn du das Programm neustartest wird auch der Timer "neugestartet"

    FreakJNS schrieb:

    Das Timer-Interval wird in Milisekunden - also tausendstel Sekunden - angegeben. Ein Interval von 1000 entspricht somit einer Sekunde. Wenn der Computer ausgeschaltet ist kann kein Code ausgeführt werden - somit existiert der Timer auch nichtmehr.
    Wenn du über Solche Zeiträume hinaus agieren willst musst du den Zeitpunkt zudem iwas passieren soll speichern (21.12.2012 24:00:00) und abfragen ob der entsprechende Tag + Uhrzeit ist... Wenn ja, dann soll iwas ausgeführt werden. Und ja, auch dafür muss der Recher an sein^^

    Edit: Ja, wenn du das Programm neustartest wird auch der Timer "neugestartet"


    Also könnte man es machen, dass wenn ich den Computer ausschalten will, er die Zeit speichert, dann ausschaltet und beim nächsten Start von dort wieder weiter macht?
    Ich denke mal folgendes:
    Hol Dir mit

    VB.NET-Quellcode

    1. Dim start As DateTime = DateTime.Now
    die Startzeit.
    Berechne mit

    VB.NET-Quellcode

    1. Dim ende As DateTime = start.AddDays(17)
    die Endzeit.
    Teste im Timer-Tick-Ereignis, ob die aktuelle Zeit jenseits des endes liegt:

    VB.NET-Quellcode

    1. If DateTime.Now >= ende Then
    2. ' Wecker
    3. End If
    Die Ende-Zeit packst Du Dir in My.Settings, speichere sie, wenn das Programm beendet wird, lade sie, wenn das Programm neu gestartet wird (dann allerdings nicht das Ende neu berechnen) und fertig.
    Wenn Du dann das Programm 1 Woche nach Ende nach Deinem Urlaub wieder startet, sagt er Dir, dass die Weckzeit erreicht ist. :thumbsup:
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!