#1 13. Dezember 2007 Hi.... Wie mache ich in C# am besten ne "Stoppuhr"... ICh stell mir das so vor am Anfang von der schleife starte sie und am ende stoppt sie! Das ich sehen kann wie lang es gebraucht hat ..... BW für hilfreiche Antwort... + Multi-Zitat Zitieren
#2 13. Dezember 2007 AW: [C#] Timer \ Stoppuhr Hi, es gibt in .NET eine Timer-Klasse, mit der lässt sich sicherlich was Anfangen. Schau einfach mal danach in deiner Toolbox Gruß meckes + Multi-Zitat Zitieren
#3 13. Dezember 2007 AW: [C#] Timer \ Stoppuhr Hoi, hab in einem Projekt von mir auch mal so eine Timer-Klasse gebraucht. Das ist sie: Frubar Paste Verwenden is ganz einfach: Code: HiPerfTimer tmr = new HiPerfTimer(); tmr.Start(); // Irgendwas langes machen tmr.Stop(); Console.WriteLine("Dauer: {0:#####} msec", tmr.Duration * 1000); Wie man sieht, gibt die Klasse Sekunden zurück, du musst also noch *1000 rechnen für ms. edit: Das Timer-Objekt von der Toolbox kann man glaub ich nur brauchen, wnen man ne bestimmte Aktion in bestimmten Intervallen wiederholen möchte. + Multi-Zitat Zitieren
#4 13. Dezember 2007 AW: [C#] Timer \ Stoppuhr Wie beispielsweise das Programmieren einer "Stoppuhr": Timer, bspw. auf Interval 50 erstellen, und bei jedem Tick eine Int-/Longvar um 50 erhöhen. Am Ende hast Milisekunden. (Ich schreibe das, da ich die zeitliche Auflösung des Timers nicht allzu schön finde... 1sec? sehr genau ^^) Ansonsten 2 Timestamps (Datetime/Date?) "Start" und "Ende" erstellen, am Anfang Start = Now setzen, am Ende Ende = Now, und die Differenz ausrechnen. Einer der beiden Ansätze müsste auf jeden Fall umsetzbar sein Greetz Roog + Multi-Zitat Zitieren
#5 13. Dezember 2007 AW: [C#] Timer \ Stoppuhr Naja, die Anzahl der Sekunden die da rauskommt is ja ein double, d.h. mit Nachkommastellen. D.h. wenn die Sekundenanzahl 1,234 war, dann kriegst du auch 1234 ms Das mit DateTime ist jedoch auch ne gute Möglichkeit. Da gibts glaub ich .Ticks, mit der du ms kriegst. edit: Nen Timer+Variable erhöhen halte ich für ne schlechte Idee, da man da wieder ne zusätzliche Event-Funktion etc. braucht, die man eigentlich vermeiden könnte (mit einer der beiden oberen Möglichkeiten) + Multi-Zitat Zitieren
#6 14. Dezember 2007 AW: [C#] Timer \ Stoppuhr Hast recht, ausserdem funktioniert der Timer a) nur ab Zahlen von rund 25ms, und b) frisst er bei solchen Abständen mit den Events/Handlern etc so viel ressourcen, dass es sich ned lohnt. Und das mit den Sekunden hab ich leider missverstanden.... dachte das Ding produziert "nur" Sekunden Greetz Roog + Multi-Zitat Zitieren
#7 15. Dezember 2007 AW: [C#] Timer \ Stoppuhr hi! kombiniere doch die intervall-methode mit der systemzeit. wie Roogley schon sagte, holst du dir den TimeStamp wann der Timer abgelaufen ist(bei 5 sekunden: Systemzeit + 5000) und dann benutzt du ne schleife: Pseudocode: Code: endtime=time()+5000; solange time()<endTime{ warte(25ms); } ALARM(); so bekommst du auf jeden fall nach 5 sekunden(+-25ms) deinen Alarm. mfg - Idefix! + Multi-Zitat Zitieren