Stoppuhren [ERLEDIGT]

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Stoppuhren [ERLEDIGT]

Beitrag von Manfred »

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?
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!!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Stoppuhren

Beitrag von brandelh »

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.
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Stoppuhren

Beitrag von Manfred »

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.
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!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Stoppuhren

Beitrag von Tom »

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").
Herzlich,
Tom
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Stoppuhren

Beitrag von ramses »

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
Valar Morghulis

Gruss Carlo
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Stoppuhren

Beitrag von Manfred »

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.
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!!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Stoppuhren

Beitrag von brandelh »

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) ...
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Stoppuhren

Beitrag von Manfred »

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. :D
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!!
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
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

Beitrag von Herbert »

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. :D
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.

Aber, Manfred, wieder mal ein tolles Schmankerl von dir. :sunny:
Grüsse Herbert
Immer in Bewegung...
Antworten