Stoppuhren [ERLEDIGT]
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21200
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Stoppuhren [ERLEDIGT]
wir haben hier im Forum schon über Uhren gesprochen, aber ich glaube Stoppuhren waren noch nicht dabei?
OK, also ich vermute mal, das man sowas über Threads abwickelt, besonders, wenn es mehrere parallel sein sollen. Aber was müßte man dabei alles beachten? Insbesondere, wenn sie als Countdown laufen sollen, mit Button für Pause usw. Ist sowas überhaupt möglich, das mehrere nebeneinander laufen und die Zeit richtig behalten, oder laufen die evtl. in absehbarer Zeit nicht mehr syncron mit der normalen Zeit? Also wenn ich jederm Countdown z.B. 60 Minuten gebe, ist es dann garantiert, das die auch nur 60 Minuten laufen?
OK, also ich vermute mal, das man sowas über Threads abwickelt, besonders, wenn es mehrere parallel sein sollen. Aber was müßte man dabei alles beachten? Insbesondere, wenn sie als Countdown laufen sollen, mit Button für Pause usw. Ist sowas überhaupt möglich, das mehrere nebeneinander laufen und die Zeit richtig behalten, oder laufen die evtl. in absehbarer Zeit nicht mehr syncron mit der normalen Zeit? Also wenn ich jederm Countdown z.B. 60 Minuten gebe, ist es dann garantiert, das die auch nur 60 Minuten laufen?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Stoppuhren
Windows ist KEIN Echtzeit Betriebssystem, somit kannst du nicht garantieren, dass die Stoppuhren wirklich alle exakt laufen ... wobei solange 1/10 Sekunden reichen, sollte man es schon hinbekommen können
Jeweils 1 thread ist schon nicht übel, sleep(1) um die Last zu bremsen (1/100 Sekunde) ... und wenn man immer die Funktion Seconds nimmt und den Start und Endwert vergleicht, sollte man so einigermaßen hinkommen.
Für den Hobby Gebrauch. Ansonsten nimm dein Smartphone, das hat so eine App bestimmt drauf.
Jeweils 1 thread ist schon nicht übel, sleep(1) um die Last zu bremsen (1/100 Sekunde) ... und wenn man immer die Funktion Seconds nimmt und den Start und Endwert vergleicht, sollte man so einigermaßen hinkommen.
Für den Hobby Gebrauch. Ansonsten nimm dein Smartphone, das hat so eine App bestimmt drauf.
Gruß
Hubert
Hubert
- Manfred
- Foren-Administrator
- Beiträge: 21200
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Stoppuhren
Hi Hubert,
das mit dem Smartphone hatte ich schon im Auge. Was mich aber störte war, wenn man mehrere Timer laufen läßt weiß man nicht, welcher jetzt wofür war. aber just vor ein paar Minuten habe ich das Teil gestartet und auf einmal ist mir aufgefallen, das man jedem Thread einen Namen vergeben kann. Eigentlich genau das was ich haben wollte. Und parallel laufen müssen die nun doch nicht mehr, es müssen nur mehrere verwaltet werden können, denen man Namen zuordnen kann.
das mit dem Smartphone hatte ich schon im Auge. Was mich aber störte war, wenn man mehrere Timer laufen läßt weiß man nicht, welcher jetzt wofür war. aber just vor ein paar Minuten habe ich das Teil gestartet und auf einmal ist mir aufgefallen, das man jedem Thread einen Namen vergeben kann. Eigentlich genau das was ich haben wollte. Und parallel laufen müssen die nun doch nicht mehr, es müssen nur mehrere verwaltet werden können, denen man Namen zuordnen kann.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Stoppuhren
Man hätte auch mit Hundertstelsekunden kein Problem - und man hat ohnehin keines, da z.B. "Seconds()" ja die Systemzeit verwendet. Das einzige, was sich möglicherweise etwas verzögert, ist die Darstellung, insofern es eine gibt. Aber eine Stoppuhr, die die Startzeit von der aktuellen Zeit abzieht, um die vergangene Zeit zu ermittelt, sollte immer ziemlich exakt arbeiten.
Anders gesagt: Das Messen von 60 vergangenen/vergehenden Minuten sollte immer sehr exakt funktionieren. Was möglicherweise leichte Latenzen hat, ist die Darstellung eines ggf. folgenden Ereignisses. Will sagen: Die Uhr bleibt sehr wahrscheinlich nach 60 Sekunden stehen. Ob sie es schafft, auf sich aufmerksam zu machen, hängt von der Lastsituation ab. Eine so große Lastsituation zu erzeugen, dass nichts mehr geht, ist unwahrscheinlich.
Unsere Xbase++-Apps arbeiten ja ohnehin mit diversen Threads, die darauf angewiesen sind, halbwegs hinterherzukommen - darunter der EVM-Thread und der UI-Thread. Würde das nicht verlässlich klappen, würden unsere Anwendungen überhaupt nicht laufen. Nur selten verstößt mal was gegen die 100-Millisekunden-Regel ("Keine Rückmeldung").
Anders gesagt: Das Messen von 60 vergangenen/vergehenden Minuten sollte immer sehr exakt funktionieren. Was möglicherweise leichte Latenzen hat, ist die Darstellung eines ggf. folgenden Ereignisses. Will sagen: Die Uhr bleibt sehr wahrscheinlich nach 60 Sekunden stehen. Ob sie es schafft, auf sich aufmerksam zu machen, hängt von der Lastsituation ab. Eine so große Lastsituation zu erzeugen, dass nichts mehr geht, ist unwahrscheinlich.
Unsere Xbase++-Apps arbeiten ja ohnehin mit diversen Threads, die darauf angewiesen sind, halbwegs hinterherzukommen - darunter der EVM-Thread und der UI-Thread. Würde das nicht verlässlich klappen, würden unsere Anwendungen überhaupt nicht laufen. Nur selten verstößt mal was gegen die 100-Millisekunden-Regel ("Keine Rückmeldung").
Herzlich,
Tom
Tom
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2517
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Stoppuhren
Manfred
du musst als erstes die gewünschte Genauigkeit deiner gewünschten Stop-Uhren definieren. Wenn du auf externe Signale reagieren musst ist mit den Windows-Xbase++ Mitteln/Funktionen sehr schnell "ENDE" Im ungünstigsten Fall bereits bei 0.5-1 Sekunden. Für genaue Anwendung sind Zusatzkarten für Zähl- und Zeit- und Schaltanwendung die einzige Möglichkeit zum Erfolg. Damit lassen sich dann auch Ereignisse von 1uS länge Zählen und Messen. Günstig sind diese Karten allerdings nicht .....
Cu Carlo
du musst als erstes die gewünschte Genauigkeit deiner gewünschten Stop-Uhren definieren. Wenn du auf externe Signale reagieren musst ist mit den Windows-Xbase++ Mitteln/Funktionen sehr schnell "ENDE" Im ungünstigsten Fall bereits bei 0.5-1 Sekunden. Für genaue Anwendung sind Zusatzkarten für Zähl- und Zeit- und Schaltanwendung die einzige Möglichkeit zum Erfolg. Damit lassen sich dann auch Ereignisse von 1uS länge Zählen und Messen. Günstig sind diese Karten allerdings nicht .....
Cu Carlo
Valar Morghulis
Gruss Carlo
Gruss Carlo
- Manfred
- Foren-Administrator
- Beiträge: 21200
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Stoppuhren
wenn hatte ich sowieo nur vor eine Stundenabrechnung zu machen. Mehrere Stoppuhren sollen zwar parallel laufen können, aber nicht gleichzeitig. Es ging mir eigentlich nur darum, dass ich denen Namen vergeben nhätte für den einzelnen Vorgang. Weiterhin müßten die auch nur minutengenau sein. Was natürlich schön wäre, bei Abbruch Zwischenzeit in Datei speichern, oder direkt eine komplette Abrechnung erzeugen.
Aber wie schon weiter oben geschrieben, erstmal siezht es so aus, als wenn ich das Smartphone dafür benutzen kann, weil ich da zumindest schonmal jeder Stopuhr eine Bezeichnung geben kann.
Aber wie schon weiter oben geschrieben, erstmal siezht es so aus, als wenn ich das Smartphone dafür benutzen kann, weil ich da zumindest schonmal jeder Stopuhr eine Bezeichnung geben kann.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Stoppuhren
Was meinst du mit "Mehrere Stoppuhren sollen zwar parallel laufen können, aber nicht gleichzeitig."
Für mich widerspricht sich das selbst, außer du hältst alle anderen an wenn eine aktiv ist ... dann ist aber die Berechnung Aktuelle-Seconds() - Start-Seconds() nicht möglich.
Was willst du eigentlich machen ?
Zeiten stoppen (Autorennen etc.) oder einer bestimmten Uhr zuordnen (Verteilung von Arbeitszeit auf verschiedene Projekte / Tätigkeiten) ...
Für mich widerspricht sich das selbst, außer du hältst alle anderen an wenn eine aktiv ist ... dann ist aber die Berechnung Aktuelle-Seconds() - Start-Seconds() nicht möglich.
Was willst du eigentlich machen ?
Zeiten stoppen (Autorennen etc.) oder einer bestimmten Uhr zuordnen (Verteilung von Arbeitszeit auf verschiedene Projekte / Tätigkeiten) ...
Gruß
Hubert
Hubert
- Manfred
- Foren-Administrator
- Beiträge: 21200
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Stoppuhren
Hi Hubert,
letzteres. Mehrere Stoppuhren, die aber niemals zusammen laufen dürfen/sollen. Wobei Stoppuhren sich jetzt doch ein wenig streng anhören. Nennen wir es mal Zeitmesser.
Aber wie schon erwähnt, das Problem hat sich erledigt. Es geht doch mit dem Smartphone.
letzteres. Mehrere Stoppuhren, die aber niemals zusammen laufen dürfen/sollen. Wobei Stoppuhren sich jetzt doch ein wenig streng anhören. Nennen wir es mal Zeitmesser.
Aber wie schon erwähnt, das Problem hat sich erledigt. Es geht doch mit dem Smartphone.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Herbert
- Der Entwickler von "Deep Thought"
- Beiträge: 1991
- Registriert: Do, 14. Aug 2008 0:22
- Wohnort: Gmunden am Traunsee, Österreich
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Stoppuhren
Dachte zuerst, du willst ein Zeitmanagement einbauen, habe ich, wobei da andere Regeln gelten müssen: wann arbeitest an einem Fall und wann nicht, wann switchst zu einem andern Kunden usw. Nicht ganz einfach, die Timer müssen unterbrochen werden und am Ende in die Abrechnung fliessen. Da Kunden gegenüber verrechnet wird, muss das genau sein.Manfred hat geschrieben:Hi Hubert,
letzteres. Mehrere Stoppuhren, die aber niemals zusammen laufen dürfen/sollen. Wobei Stoppuhren sich jetzt doch ein wenig streng anhören. Nennen wir es mal Zeitmesser.
Aber, Manfred, wieder mal ein tolles Schmankerl von dir.
Grüsse Herbert
Immer in Bewegung...
Immer in Bewegung...