<?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[Timer]]></title><description><![CDATA[<p>Guten Morgen<br />
Ich habe ein Probelm mit einem Timer.<br />
Ich verwende den Timer vom Borland mit einem Intervall, welches einstellbar ist.<br />
Im Programm muss ich immer nach dem Intervall einen Teil ausführen.<br />
Dies soll aber erst geschehen, wenn ich auf einen Button geklickt habe.<br />
Im Detail seht dieser Programmteil so aus:</p>
<pre><code class="language-cpp">void __fastcall TForm1::Messungstarten1Click(TObject *Sender)
{

if (verbindung == 1)
{
while(wiederholung&gt;zahler)
  {
  t1 = rand()%40;
  t2 = rand()%40;
  t3 = rand()%40;
  t4 = rand()%40;
  Sensor1-&gt;Text = IntToStr(t1)+&quot; °Celsius&quot;;
  Sensor2-&gt;Text = IntToStr(t2)+&quot; °Celsius&quot;;
  Sensor3-&gt;Text = IntToStr(t3)+&quot; °Celsius&quot;;
  Sensor4-&gt;Text = IntToStr(t4)+&quot; °Celsius&quot;;

  TDateTime t=Time();
  TDateTime d=Date();

  zahler ++;
  counter++;
  Sleep(Timer2-&gt;Interval);
if(counter&lt;10)
{
  if(t1&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot;     &quot;+IntToStr(counter) + &quot;                   Sensor 1       &quot;+Sensor1-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot;     &quot;+IntToStr(counter) + &quot;                   Sensor 1       &quot;+Sensor1-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  if(t2&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot;     &quot;+IntToStr(counter) + &quot;                   Sensor 2       &quot;+Sensor2-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot;     &quot;+IntToStr(counter) + &quot;                   Sensor 2       &quot;+Sensor2-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  if(t3&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot;     &quot;+IntToStr(counter) + &quot;                   Sensor 3       &quot;+Sensor3-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot;     &quot;+IntToStr(counter) + &quot;                   Sensor 3       &quot;+Sensor3-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  if(t4&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot;     &quot;+IntToStr(counter) + &quot;                   Sensor 4       &quot;+Sensor4-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot;     &quot;+IntToStr(counter) + &quot;                   Sensor 4       &quot;+Sensor4-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  Memo1-&gt;Lines-&gt;Add(&quot;&quot;);
}
else if(counter&lt;100)
{
  if(t1&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot;   &quot;+IntToStr(counter) + &quot;                   Sensor 1       &quot;+Sensor1-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot;   &quot;+IntToStr(counter) + &quot;                   Sensor 1       &quot;+Sensor1-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  if(t2&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot;   &quot;+IntToStr(counter) + &quot;                   Sensor 2       &quot;+Sensor2-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot;   &quot;+IntToStr(counter) + &quot;                   Sensor 2       &quot;+Sensor2-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  if(t3&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot;   &quot;+IntToStr(counter) + &quot;                   Sensor 3       &quot;+Sensor3-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot;   &quot;+IntToStr(counter) + &quot;                   Sensor 3       &quot;+Sensor3-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  if(t4&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot;   &quot;+IntToStr(counter) + &quot;                   Sensor 4       &quot;+Sensor4-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot;   &quot;+IntToStr(counter) + &quot;                   Sensor 4       &quot;+Sensor4-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  Memo1-&gt;Lines-&gt;Add(&quot;&quot;);
}
else
{
  if(t1&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot; &quot;+IntToStr(counter) + &quot;                   Sensor 1       &quot;+Sensor1-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot; &quot;+IntToStr(counter) + &quot;                   Sensor 1       &quot;+Sensor1-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  if(t2&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot; &quot;+IntToStr(counter) + &quot;                   Sensor 2       &quot;+Sensor2-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot; &quot;+IntToStr(counter) + &quot;                   Sensor 2       &quot;+Sensor2-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  if(t3&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot; &quot;+IntToStr(counter) + &quot;                   Sensor 3       &quot;+Sensor3-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot; &quot;+IntToStr(counter) + &quot;                   Sensor 3       &quot;+Sensor3-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  if(t4&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot; &quot;+IntToStr(counter) + &quot;                   Sensor 4       &quot;+Sensor4-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot; &quot;+IntToStr(counter) + &quot;                   Sensor 4       &quot;+Sensor4-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  Memo1-&gt;Lines-&gt;Add(&quot;&quot;);
}

}
zahler = 0;
}
else ShowMessage(&quot;Keine Konnektivität!&quot;);
}
</code></pre>
<p>Momentan mache ich es jetzt noch mit Sleep, dann ist aber das gesamte Programm blockiert!<br />
Und das will ich genau vermeiden!<br />
Ich hoffe ihr könnt mir helfen.</p>
<p>Gruss<br />
Jürg Schweizer</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/175093/timer</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 22:58:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/175093.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 07 Mar 2007 07:24:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Timer on Wed, 07 Mar 2007 07:24:22 GMT]]></title><description><![CDATA[<p>Guten Morgen<br />
Ich habe ein Probelm mit einem Timer.<br />
Ich verwende den Timer vom Borland mit einem Intervall, welches einstellbar ist.<br />
Im Programm muss ich immer nach dem Intervall einen Teil ausführen.<br />
Dies soll aber erst geschehen, wenn ich auf einen Button geklickt habe.<br />
Im Detail seht dieser Programmteil so aus:</p>
<pre><code class="language-cpp">void __fastcall TForm1::Messungstarten1Click(TObject *Sender)
{

if (verbindung == 1)
{
while(wiederholung&gt;zahler)
  {
  t1 = rand()%40;
  t2 = rand()%40;
  t3 = rand()%40;
  t4 = rand()%40;
  Sensor1-&gt;Text = IntToStr(t1)+&quot; °Celsius&quot;;
  Sensor2-&gt;Text = IntToStr(t2)+&quot; °Celsius&quot;;
  Sensor3-&gt;Text = IntToStr(t3)+&quot; °Celsius&quot;;
  Sensor4-&gt;Text = IntToStr(t4)+&quot; °Celsius&quot;;

  TDateTime t=Time();
  TDateTime d=Date();

  zahler ++;
  counter++;
  Sleep(Timer2-&gt;Interval);
if(counter&lt;10)
{
  if(t1&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot;     &quot;+IntToStr(counter) + &quot;                   Sensor 1       &quot;+Sensor1-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot;     &quot;+IntToStr(counter) + &quot;                   Sensor 1       &quot;+Sensor1-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  if(t2&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot;     &quot;+IntToStr(counter) + &quot;                   Sensor 2       &quot;+Sensor2-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot;     &quot;+IntToStr(counter) + &quot;                   Sensor 2       &quot;+Sensor2-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  if(t3&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot;     &quot;+IntToStr(counter) + &quot;                   Sensor 3       &quot;+Sensor3-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot;     &quot;+IntToStr(counter) + &quot;                   Sensor 3       &quot;+Sensor3-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  if(t4&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot;     &quot;+IntToStr(counter) + &quot;                   Sensor 4       &quot;+Sensor4-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot;     &quot;+IntToStr(counter) + &quot;                   Sensor 4       &quot;+Sensor4-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  Memo1-&gt;Lines-&gt;Add(&quot;&quot;);
}
else if(counter&lt;100)
{
  if(t1&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot;   &quot;+IntToStr(counter) + &quot;                   Sensor 1       &quot;+Sensor1-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot;   &quot;+IntToStr(counter) + &quot;                   Sensor 1       &quot;+Sensor1-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  if(t2&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot;   &quot;+IntToStr(counter) + &quot;                   Sensor 2       &quot;+Sensor2-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot;   &quot;+IntToStr(counter) + &quot;                   Sensor 2       &quot;+Sensor2-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  if(t3&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot;   &quot;+IntToStr(counter) + &quot;                   Sensor 3       &quot;+Sensor3-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot;   &quot;+IntToStr(counter) + &quot;                   Sensor 3       &quot;+Sensor3-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  if(t4&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot;   &quot;+IntToStr(counter) + &quot;                   Sensor 4       &quot;+Sensor4-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot;   &quot;+IntToStr(counter) + &quot;                   Sensor 4       &quot;+Sensor4-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  Memo1-&gt;Lines-&gt;Add(&quot;&quot;);
}
else
{
  if(t1&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot; &quot;+IntToStr(counter) + &quot;                   Sensor 1       &quot;+Sensor1-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot; &quot;+IntToStr(counter) + &quot;                   Sensor 1       &quot;+Sensor1-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  if(t2&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot; &quot;+IntToStr(counter) + &quot;                   Sensor 2       &quot;+Sensor2-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot; &quot;+IntToStr(counter) + &quot;                   Sensor 2       &quot;+Sensor2-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  if(t3&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot; &quot;+IntToStr(counter) + &quot;                   Sensor 3       &quot;+Sensor3-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot; &quot;+IntToStr(counter) + &quot;                   Sensor 3       &quot;+Sensor3-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  if(t4&lt;10)
     Memo1-&gt;Lines-&gt;Add(&quot; &quot;+IntToStr(counter) + &quot;                   Sensor 4       &quot;+Sensor4-&gt;Text+&quot;           &quot;+d+&quot;     &quot;+t);
  else
     Memo1-&gt;Lines-&gt;Add(&quot; &quot;+IntToStr(counter) + &quot;                   Sensor 4       &quot;+Sensor4-&gt;Text+&quot;         &quot;+d+&quot;     &quot;+t);
  Memo1-&gt;Lines-&gt;Add(&quot;&quot;);
}

}
zahler = 0;
}
else ShowMessage(&quot;Keine Konnektivität!&quot;);
}
</code></pre>
<p>Momentan mache ich es jetzt noch mit Sleep, dann ist aber das gesamte Programm blockiert!<br />
Und das will ich genau vermeiden!<br />
Ich hoffe ihr könnt mir helfen.</p>
<p>Gruss<br />
Jürg Schweizer</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1240723</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1240723</guid><dc:creator><![CDATA[juergschweizer]]></dc:creator><pubDate>Wed, 07 Mar 2007 07:24:22 GMT</pubDate></item><item><title><![CDATA[Reply to Timer on Wed, 07 Mar 2007 07:34:50 GMT]]></title><description><![CDATA[<p>C++ kennt keine Timer, da mußt du dich also in deinem System umsehen nach Funktionen wie SetTimer() oder StartTimer() (bin mir nicht ganz sicher, wie die heißt). So ein Timer erzeugt idR eine &quot;normale&quot; Systemnachricht, die du genauso behandeln könntest wie z.B. Button-Clicks oder Mausbewegungen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1240726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1240726</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 07 Mar 2007 07:34:50 GMT</pubDate></item><item><title><![CDATA[Reply to Timer on Wed, 07 Mar 2007 07:36:32 GMT]]></title><description><![CDATA[<p>Erstmal kurze Frage: ist das Absicht, dass bei allen deinen Fällen das gleiche passiert oder hab ich mich da einfach verguckt?</p>
<p>Zu deiner eigentlich Frage: soll es so ablaufen, dass der Timer eine Art Interrupt auslöst und dann ein Knopf angezeigt wird, den der Benutzer anklicken kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1240728</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1240728</guid><dc:creator><![CDATA[viande]]></dc:creator><pubDate>Wed, 07 Mar 2007 07:36:32 GMT</pubDate></item><item><title><![CDATA[Reply to Timer on Wed, 07 Mar 2007 07:38:29 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Zunächst gehört das ins Builder-Subforum.<br />
Desweiteren must du den Quellcode schon stark verändern bis der von dir gewünschte Effekt eintritt. Schau in der Builder-Hilfe nach der Eigenschaft TTimer::Enabled und dem Event TTimer::OnTimer.<br />
Desweiteren solltest du die ganzen Behandlungen für die einzelnen Sensoren anstatt jeweils einzeln besser in einer Schleife mit Array-Unterstützung umsetzen.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1240730</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1240730</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 07 Mar 2007 07:38:29 GMT</pubDate></item><item><title><![CDATA[Reply to Timer on Wed, 07 Mar 2007 07:44:29 GMT]]></title><description><![CDATA[<p>Danke für eure Antworten.<br />
Dass man es kürzer machen könnte, bin ich mir bewusst, aber ich bin absolut neu in C++.Das mit em Timer ist folgendes:<br />
Wenn ich auf den Button Blicke, soll es in Abständen diesen Programmteil in der Whileschleiche Durchführen.<br />
Ich hoffe, es ist so verständlicher geschrieben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1240732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1240732</guid><dc:creator><![CDATA[juergschweizer]]></dc:creator><pubDate>Wed, 07 Mar 2007 07:44:29 GMT</pubDate></item><item><title><![CDATA[Reply to Timer on Wed, 07 Mar 2007 07:45:44 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>akari schrieb:</p>
<blockquote>
<p>Schau in der Builder-Hilfe nach der Eigenschaft TTimer::Enabled und dem Event TTimer::OnTimer.</p>
</blockquote>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1240733</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1240733</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 07 Mar 2007 07:45:44 GMT</pubDate></item><item><title><![CDATA[Reply to Timer on Wed, 07 Mar 2007 07:59:57 GMT]]></title><description><![CDATA[<p>in klartext, du legst dir eine Methode an von der Struktur</p>
<pre><code class="language-cpp">void __fastcall MyTimerEvent(TObject *Sender);
</code></pre>
<p>wenn du dann deinem Timer im ctor einfach</p>
<pre><code class="language-cpp">Timer-&gt;OnTimer = MyTimerEvent;
</code></pre>
<p>setzt, wird dein TimerEvent immer nach dem mit Interval angegebenen Wert ausgeführt.</p>
<p>Der Timer blockiert dabei überhauptnichts, wenn die Zeit gekommen ist, wird der Programmablauf &quot;unterbochen&quot; und das Event bearbeitet, vorausgesetzt du hast nicht irgendwo eine Endlosschleife laufen.</p>
<p>Und jetzt der einfache weg, wenn du eine FormularAnwendung gemacht hast, klicke im design doch einfach auf deinen Timer, gehe zu den &quot;Ereignissen&quot; im Objektinspektor und doppelklicke in das Feld für &quot;OnTimer&quot; vielleicht ersparst du dir damit schreibarbeit.</p>
<p>falls hier irgendwas zynisch ironisch oder wie n seitenhieb anhört bitte ich das zu entschuldigen ;p</p>
<p>[EDIT] Im Objektinspektor kannst du auch Timer-&gt;Enabled = false; setzen damit dein Timer nicht sofort anschlägt.<br />
In der OnExecute deines Button kannst du dann einfach Timer-&gt;Enabled = !Timer-&gt;Enabled; ausführen um den Timer zu toggeln.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1240737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1240737</guid><dc:creator><![CDATA[Ceos]]></dc:creator><pubDate>Wed, 07 Mar 2007 07:59:57 GMT</pubDate></item><item><title><![CDATA[Reply to Timer on Wed, 07 Mar 2007 09:37:19 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-403.html" rel="nofollow">HumeSikkins</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-15.html" rel="nofollow">C++</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-2.html" rel="nofollow">VCL/CLX (Borland C++ Builder)</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1240794</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1240794</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Wed, 07 Mar 2007 09:37:19 GMT</pubDate></item></channel></rss>