<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Probleme mit Timer]]></title><description><![CDATA[<p>Hi!</p>
<p>Ich habe mir für mein Programm einen Timer gemacht, welcher im Sekundentakt erhöht wird und nur Sekunden und Minuten ausgibt.<br />
Der Timer läuft in einem eigenen Thread und sieht so aus:</p>
<pre><code class="language-cpp">if ((::timeGetTime() - dwTime) &gt; 1000)
		{
		dwTime = ::timeGetTime();
            if (view-&gt;GetSeconds() &lt; 59)
                  view-&gt;SetSeconds(view-&gt;GetSeconds() + 1);
            else if (view-&gt;GetSeconds() &gt;= 59)
		{
                view-&gt;SetSeconds(0);

                if (view-&gt;GetMinutes() &lt; 59)
                        view-&gt;SetMinutes(view-&gt;GetMinutes() + 1);
                else if (view-&gt;GetMinutes() &gt;= 59)
                {
                    view-&gt;SetMinutes(0);

                    if (view-&gt;GetHours() &lt; 23)
                        view-&gt;SetHours(view-&gt;GetHours() + 1);
                    else if (view-&gt;GetHours() &gt;= 23)
                        view-&gt;SetHours(0);
                }
			}
			//Zeit wird ausgegeben
</code></pre>
<p>Das Problem: timeGetTime() scheint sehr ungenau zu sein. Schon nach einer Minute<br />
beträgt die Abweichung fast 2 Sekunden. Wisst ihr zufällig warum bzw. ob's da was besseres gibt?</p>
<p>mfg enne</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/160441/probleme-mit-timer</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Jul 2026 19:46:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/160441.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 25 Sep 2006 20:35:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme mit Timer on Mon, 25 Sep 2006 20:36:25 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Ich habe mir für mein Programm einen Timer gemacht, welcher im Sekundentakt erhöht wird und nur Sekunden und Minuten ausgibt.<br />
Der Timer läuft in einem eigenen Thread und sieht so aus:</p>
<pre><code class="language-cpp">if ((::timeGetTime() - dwTime) &gt; 1000)
		{
		dwTime = ::timeGetTime();
            if (view-&gt;GetSeconds() &lt; 59)
                  view-&gt;SetSeconds(view-&gt;GetSeconds() + 1);
            else if (view-&gt;GetSeconds() &gt;= 59)
		{
                view-&gt;SetSeconds(0);

                if (view-&gt;GetMinutes() &lt; 59)
                        view-&gt;SetMinutes(view-&gt;GetMinutes() + 1);
                else if (view-&gt;GetMinutes() &gt;= 59)
                {
                    view-&gt;SetMinutes(0);

                    if (view-&gt;GetHours() &lt; 23)
                        view-&gt;SetHours(view-&gt;GetHours() + 1);
                    else if (view-&gt;GetHours() &gt;= 23)
                        view-&gt;SetHours(0);
                }
			}
			//Zeit wird ausgegeben
</code></pre>
<p>Das Problem: timeGetTime() scheint sehr ungenau zu sein. Schon nach einer Minute<br />
beträgt die Abweichung fast 2 Sekunden. Wisst ihr zufällig warum bzw. ob's da was besseres gibt?</p>
<p>mfg enne</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1144329</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1144329</guid><dc:creator><![CDATA[enne87]]></dc:creator><pubDate>Mon, 25 Sep 2006 20:36:25 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Timer on Mon, 25 Sep 2006 23:11:17 GMT]]></title><description><![CDATA[<p>warum so kompliziert? Wenn Du einen Timer hast, dann löst der doch bestimmt einmal in der Sekunde aus, und dann setzt du deine Zeit, etwa so:</p>
<pre><code class="language-cpp">CTime CurrTime = CTime::GetCurrentTime();
view-&gt;SetSeconds(CurrTime.GetSecond()); 
view-&gt;SetMinutes(CurrTime.GetMinute()); 
view-&gt;SetHours(CurrTime.GetHour()); 
//Zeit wird ausgegeben
</code></pre>
<p>oder hab ich da was falsch verstanden?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1144370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1144370</guid><dc:creator><![CDATA[CTecS]]></dc:creator><pubDate>Mon, 25 Sep 2006 23:11:17 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Timer on Tue, 26 Sep 2006 03:03:16 GMT]]></title><description><![CDATA[<p>Probiers mal damit:</p>
<pre><code class="language-cpp">SYSTEMTIME now;

GetSystemTime(&amp;now);

long millsek= now.wMilliseconds;
long sek= now.wSecond;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1144380</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1144380</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Tue, 26 Sep 2006 03:03:16 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Timer on Tue, 26 Sep 2006 06:14:23 GMT]]></title><description><![CDATA[<p>Soweit ich das sehe, hole ich mit GetCurrentTime() bzw. GetSystemTime() die aktuelle Zeit aus, ich brauche aber einen Timer, der von Null anfängt zu zählen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1144412</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1144412</guid><dc:creator><![CDATA[enne87]]></dc:creator><pubDate>Tue, 26 Sep 2006 06:14:23 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Timer on Tue, 26 Sep 2006 09:25:10 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">SYSTEMTIME start,now;

start.wMilliseconds=0;

Thread schleife{

  TimeGetTime(&amp;now);

  long lElapsedTime= now.wMilliseconds- start.Milliseconds;
  long Seconds= lElapsedTime/1000;

  Seconds= SEKUNDEN VERGANGEN

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1144419</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1144419</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Tue, 26 Sep 2006 09:25:10 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Timer on Tue, 26 Sep 2006 07:22:26 GMT]]></title><description><![CDATA[<p>Zu der Abweichung:<br />
Echtzeitbetriebssystem:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-127079.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-127079.html</a><br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-119192.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-119192.html</a><br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-113316.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-113316.html</a><br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-79326.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-79326.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1144455</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1144455</guid><dc:creator><![CDATA[isabeau]]></dc:creator><pubDate>Tue, 26 Sep 2006 07:22:26 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Timer on Tue, 26 Sep 2006 17:52:54 GMT]]></title><description><![CDATA[<p>Danke für die vielen guten Lösungsvorschläge und Links, leider wird die Abweichung trotzdem nicht kleiner. Ich hab mir alle Beiträge durchgelesen, blöderweise steht da nur dasselbe: Dass Windows kein Echtzeitbetriebssystem ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1144993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1144993</guid><dc:creator><![CDATA[enne87]]></dc:creator><pubDate>Tue, 26 Sep 2006 17:52:54 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Timer on Tue, 26 Sep 2006 18:35:54 GMT]]></title><description><![CDATA[<p>Ich versteh einfach nicht, wie die Systemuhr in Windows so genau laufen kann, obwohl da nebenher noch viele andere Prozesse laufen. Kann man das nicht irgendwie übernehmen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1145032</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1145032</guid><dc:creator><![CDATA[enne87]]></dc:creator><pubDate>Tue, 26 Sep 2006 18:35:54 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Timer on Tue, 26 Sep 2006 19:38:48 GMT]]></title><description><![CDATA[<p>enne87 schrieb:</p>
<blockquote>
<p>Ich versteh einfach nicht, wie die Systemuhr in Windows so genau laufen kann, obwohl da nebenher noch viele andere Prozesse laufen. Kann man das nicht irgendwie übernehmen?</p>
</blockquote>
<p>Die Systemuhr wird durch einen (Hardware-) Interrupt gesteuert und hat somit mit Threads/Prozessen gar nichts zu tun.</p>
<p>PS: Warum verwendest Du nicht &quot;GetTickCount&quot;? Das beginnt nach dem Einschalten des Rechners bei 0. Läuft halt nach 48 Tagen über, aber das sollte man abfangen können.</p>
<p>PPS: Was ist denn Dein eigentliches Ziel?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1145088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1145088</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Tue, 26 Sep 2006 19:38:48 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Timer on Tue, 26 Sep 2006 20:08:59 GMT]]></title><description><![CDATA[<p>Bevor ich ::timeGetTime()verwendet habe, hab ich GetTickCount() verwendet, ich habs danach nur mit timeGetTime() ersetzt weil ich dachte, das wäre sehr ungenau. Mittlwerweile weiß ich, dass timeGetTime() auch nicht genauer ist.</p>
<p>Mein Ziel ist es, in meine Oberfläche einen Zähler zu implementieren, welcher sich sekündlich erhöht und die Form hh<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f1f2-1f1f2.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--myanmar_burma_"
      title=":mm:"
      alt="🇲🇲"
    />ss besitzt. Ich will anzeigen, wie lange die Applikation läuft, nachdem ich mein Programm kompiliert habe. Der Timer läuft in einem separaten Thread.</p>
<p>Warum ich nach einer Minute bereits eine Abweichung von 2 Sekunden habe, ist mir schleierhaft.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1145104</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1145104</guid><dc:creator><![CDATA[enne87]]></dc:creator><pubDate>Tue, 26 Sep 2006 20:08:59 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Timer on Wed, 27 Sep 2006 03:03:58 GMT]]></title><description><![CDATA[<p>mach in deine Anwendung nen (Hauptfenster) ein timer</p>
<p>SetTimer, KillTimer, OnTimer etc. mit intervall von 200 millsekunden</p>
<p>da frägst jedes mal die aktuelle zeit ab mit SYSTEMZEIT now; TimeGetTime(&amp;now)</p>
<p>und ziehst das now (wSekudnen, wMillisekunden, wMinuten ,usw.) und errechnetst so die veragngen zeit in dem du bei mstadt deiens programmes im kosntruktor noch ne start varaibel setzt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1145189</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1145189</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 27 Sep 2006 03:03:58 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Timer on Wed, 27 Sep 2006 13:20:44 GMT]]></title><description><![CDATA[<p>Ok danke Boris, könntest du mir bitte noch die Headerdatei sagen, in der ich TimeGetTime() finden kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1145408</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1145408</guid><dc:creator><![CDATA[enne87]]></dc:creator><pubDate>Wed, 27 Sep 2006 13:20:44 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Timer on Wed, 27 Sep 2006 13:26:52 GMT]]></title><description><![CDATA[<p>gib mal TimeGetTime ein klck drauf rechte maustaste &quot;Gehe zu definition&quot; die header die sich dan öfnet musst einbinden;)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1145413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1145413</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 27 Sep 2006 13:26:52 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Timer on Wed, 27 Sep 2006 14:12:00 GMT]]></title><description><![CDATA[<p>Super, funktioniert tadellos, vielen dank, speziell Boris <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1145450</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1145450</guid><dc:creator><![CDATA[enne87]]></dc:creator><pubDate>Wed, 27 Sep 2006 14:12:00 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Timer on Wed, 27 Sep 2006 15:17:57 GMT]]></title><description><![CDATA[<p>Ein kleines Problem ist da noch: Ich schreibe die Zeit mit SetWindowTextW() in ein statisches Feld, jedoch flackert das ziemlich. Liegt daran, dass die Zeit dauernd neu geschrieben werden muss.<br />
Kann man da noch was machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1145505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1145505</guid><dc:creator><![CDATA[enne87]]></dc:creator><pubDate>Wed, 27 Sep 2006 15:17:57 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Timer on Wed, 27 Sep 2006 17:09:11 GMT]]></title><description><![CDATA[<p>ja das lieg am weil du die zeit sicher mehrmals pro sekunde in das feld schreibst oder?<br />
merk dir den wert in dem feld noch extra in einer variable, und nur wenn sich der wert er höh als eine sekunde mehr soll er das feld aktualisieren! denke wenn du das feld dann nur jede sekunde aktualisierst drüfte es nich mehr flackern</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1145577</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1145577</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 27 Sep 2006 17:09:11 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Timer on Thu, 28 Sep 2006 18:08:28 GMT]]></title><description><![CDATA[<p>Ok, vielen Dank Boris <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1146106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1146106</guid><dc:creator><![CDATA[enne87]]></dc:creator><pubDate>Thu, 28 Sep 2006 18:08:28 GMT</pubDate></item></channel></rss>