Lösungansatz für ein Stoppuhrfunktion unter C#

Hallo,

ich weiß zwar nicht ob ich hier ganz richtig bin, wenn nicht tut leid :wink:

Ich möchte gerne unter C# eine Art Stoppuhr basteln, um die Arbeitszeit festzuhalten die ich für einen Verein mache.

So sollte es funktionieren:

Wenn ich auf Start drücke sollte ein Timer mitlaufen, wenn ich dann wieder auf Stopp drücke sollte das ganze in eine Datenbank sichern, bzw in eine Exceldatei.

Wie würdet ihr das mit dem Timer am besten lösen?
Das speichern in die Datenbank ist kein Problem das kann ich, nur ich komme irgendwie nicht auf ne ordentliche Lösung mit dem Timer…

Danke im Vorraus für eure Hilfe

lg
lausi

Hallo,

ich weiß zwar nicht ob ich hier ganz richtig bin, wenn nicht
tut leid :wink:

Ich möchte gerne unter C# eine Art Stoppuhr basteln, um die
Arbeitszeit festzuhalten die ich für einen Verein mache.

So sollte es funktionieren:

Wenn ich auf Start drücke sollte ein Timer mitlaufen, wenn ich
dann wieder auf Stopp drücke sollte das ganze in eine
Datenbank sichern, bzw in eine Exceldatei.

Wie würdet ihr das mit dem Timer am besten lösen?
Das speichern in die Datenbank ist kein Problem das kann ich,
nur ich komme irgendwie nicht auf ne ordentliche Lösung mit
dem Timer…

was macht dir den schwierigkeiten ?? und was nutzt du als programmier umgebung…

Danke im Vorraus für eure Hilfe

lg
lausi

Hi,
was ist das Problem?
Du ziehst dir aus der Toolbox ein Timer (System.Windows.Forms.Timer) auf dein Formular, gibst ihm einen Namen und und mit DeinTimerName.Start() und DeinTimerName.Stop()
misst du die Zeit.

Oder willst was anderes?

Gruss
Joey

Hallo!
Einen Timer brauchst Du dafür nicht - der Timer benachrichtigt Dich ja, wenn ein bestimmtes Zeitintervall verstrichen ist, Du möchtest aber das Intervall zwischen 2* Knopf drücken bestimmen.
Beim Klick auf Start merkst Du Dir einfach die aktuelle Zeit (DateTime.Now), beim Klick auf Stop auch wieder.
Indem Du dann die Stopzeit von der Startzeit subtrahierst, erhältst Du die verstrichene Zeit.

Gruß,
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Danke !
Das hat mir geholfen hatte nur ein bisschen die falsche Sichtweise …

Jetzt hätte ich noch eine Frage :S

Ich möchte jetzt gerne das lable auf dem ich die Zeit ausgib alle Sekunden aktualisieren, wie kann ich das am besten lösen mit einer while Schleife?

Wenn ich auf Stop drücke möchte ich gerne die Zeit in die Datenbank eintragen, soweit kein Problem bin connectet und habe Zugriff, habe ein Feld angelegt mit Dauer mit dem Typ Date, aber wenn ich die Zeit eintragen lassen kommt immer 00:00:00, an was kann das liegen???

Entwicklungsumgebung benutze ich Visual Studio 2008 Team Developer !

Nochmal danke für eure Hilfe !

Stopwatch + int als Datentyp in der Datenbank
Hi,

es gibt auch ne Stpouhr als Klasse.

System.Diagnostic.Stopwatch.

Der hat .start, .stop und .reset als Funktion und mit .Elapsed bzw. .ElapsedMiliseconds liest du die Zeit ab.
Dann brauchst du nix rechnen.

In die Datenbank für ich nicht Date eintragen sondern einen int Wert.
Und dann die Zeit in Sekunden, Millisekunden oder Minuten.
Kommt auf die üblichen Zeiten an.

mfg
Martin