Benutzer mit den meisten Antworten
Timer erstellen?

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...:(
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 TimerEgal 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
- Als Antwort vorgeschlagen Tom Lambert (Koopakiller)Moderator Mittwoch, 17. April 2013 13:59
- Als Antwort markiert Tom Lambert (Koopakiller)Moderator Montag, 24. Juni 2013 15:05
- Bearbeitet Tom Lambert (Koopakiller)Moderator Montag, 24. Juni 2013 15:05 Ergänzung
-
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
- Als Antwort markiert Tom Lambert (Koopakiller)Moderator Montag, 24. Juni 2013 15:05
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 TimerEgal 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
- Als Antwort vorgeschlagen Tom Lambert (Koopakiller)Moderator Mittwoch, 17. April 2013 13:59
- Als Antwort markiert Tom Lambert (Koopakiller)Moderator Montag, 24. Juni 2013 15:05
- Bearbeitet Tom Lambert (Koopakiller)Moderator Montag, 24. Juni 2013 15:05 Ergänzung
-
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
- Als Antwort markiert Tom Lambert (Koopakiller)Moderator Montag, 24. Juni 2013 15:05