none
Timer erstellen? RRS feed

  • Frage

  • hallo, wir arbeiten derzeit an einem Diplomarbeitsprojekt und kennen uns bei C# leider nicht so gut aus. 

    Mittlerweile haben wir es geschafft, dass Daten von einer Webseite in eine MySQL mittels dem C# programm übertragen werden können.

    Momentan starten wir das C# programm jedes mal aufs neue (für die Datenübertragung) per Mausklick...wollen dies aber ganz automatisch haben. Sodass z.B. jede halbe minute eine Datenübertragung stattfindet.

    Wir haben uns versucht übers Internet schlau zu machen und sind auf den Timer gekommen.

    Jedoch haben wie keinen Plan....

    1) wie schaut die Struktur eines Timer jetzt wirklich aus?

    2) wo wird das hingeschrieben? In ein eigenes Programm, in das Hauptprogramm, am Anfang am Ende...

    3) Brauchen wir dann zusätzlich noch eine Schleife, dass der Timer immer wieder neu gestartet wird??

    Ich hoffe auf baldige Antworten...:(

    Dienstag, 5. März 2013 10:16

Antworten

  • Hallo,

    es gibt verschiedene Timer-Klassen. Was für ein Projekttyp habt Ihr denn? Konsole/WinForms/WPF?

    WPF kennt den DispatcherTimer
    WindForms den Timer
    und Konsoel den Timer

    Egal welchen Ihr nun benutzt, muss man das Interval festlegen, steht auf den Verlinkten Seiten unter Eigenschaften. Dieses müsst Ihr nun auf 0,5 Minuten, 30 Sekunden oder 30000 Millisekunden festlegen, je nachdem was Ihr wollt/benutzt.

    Das Tick(Ellapsed)-Event wird ausgelöst wenn die angegebene Zeit vorbei ist. Dieses müsst Ihr abonnieren. (VS sollte da was als Tooltip vorschlagen). In dem Eventhandler muss nun der Auszuführende Code hinein. Starten könnt Ihr den Timer mit der jeweiligen Start-Methode. Passt aber auf das auch jedes mal schon alles durchgelaufen ist, bevor Tick wieder ausgeführt wird.

    Ich gehe davon aus, das dir unsere Antworten ngeholfen haben.


    Koopakiller [kuːpakɪllɐ] | Webseite | Code Beispiele | Facebook | Snippets


    Dienstag, 5. März 2013 10:26
    Moderator
  • Für das beschriebene Szenario gibt es noch eine Alternative zum Timer. Ihr könnt den Thread, der für die Übertragung zuständig ist, für die halbe Minute schlafen (Thread.Sleep) schicken und dann die nächste Übertragung starten. Es ist allerdings nicht garantiert, dass der Thread nach der per Thread.Sleep mitgeteilten Zeit sofort weiterläuft.


    - Florian

    Dienstag, 5. März 2013 12:07

Alle Antworten

  • Hallo,

    es gibt verschiedene Timer-Klassen. Was für ein Projekttyp habt Ihr denn? Konsole/WinForms/WPF?

    WPF kennt den DispatcherTimer
    WindForms den Timer
    und Konsoel den Timer

    Egal welchen Ihr nun benutzt, muss man das Interval festlegen, steht auf den Verlinkten Seiten unter Eigenschaften. Dieses müsst Ihr nun auf 0,5 Minuten, 30 Sekunden oder 30000 Millisekunden festlegen, je nachdem was Ihr wollt/benutzt.

    Das Tick(Ellapsed)-Event wird ausgelöst wenn die angegebene Zeit vorbei ist. Dieses müsst Ihr abonnieren. (VS sollte da was als Tooltip vorschlagen). In dem Eventhandler muss nun der Auszuführende Code hinein. Starten könnt Ihr den Timer mit der jeweiligen Start-Methode. Passt aber auf das auch jedes mal schon alles durchgelaufen ist, bevor Tick wieder ausgeführt wird.

    Ich gehe davon aus, das dir unsere Antworten ngeholfen haben.


    Koopakiller [kuːpakɪllɐ] | Webseite | Code Beispiele | Facebook | Snippets


    Dienstag, 5. März 2013 10:26
    Moderator
  • Für das beschriebene Szenario gibt es noch eine Alternative zum Timer. Ihr könnt den Thread, der für die Übertragung zuständig ist, für die halbe Minute schlafen (Thread.Sleep) schicken und dann die nächste Übertragung starten. Es ist allerdings nicht garantiert, dass der Thread nach der per Thread.Sleep mitgeteilten Zeit sofort weiterläuft.


    - Florian

    Dienstag, 5. März 2013 12:07