<?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[TTimer als globale clock]]></title><description><![CDATA[<p>hi</p>
<p>möchte den TTimer als clock nutzen, um verschiedene funktionen zu timen, ohne die aber alle im OnTimer event aufzulisten, da die zum teil auch privat bleiben sollen.<br />
geht das? wie?</p>
<p>hab mal folgendes im OnTimer event</p>
<pre><code class="language-cpp">void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
	if( Timer1-&gt;Enabled )
		Timer1-&gt;Enabled = false;
	else if( !Timer1-&gt;Enabled )
		Timer1-&gt;Enabled = True;
}
</code></pre>
<p>dh er läuft immer 1000ms und dann 1000ms nicht mehr.</p>
<pre><code class="language-cpp">void my_object::on_clock()
{
    while( Form1-&gt;Timer1-&gt; Enabled )
    {
        // tu dies..
    }
}
</code></pre>
<p>wenn ich das abfrage, läuft meine schlaufe eben auch in dem rhytmus, ist aber nach 1s schon durch. will aber jede sekunde nur ein durchlauf.<br />
nur wie <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>würd lieber ne art clocksignal an die objekte schicken<br />
aber irgendwie raff ichs nicht</p>
<p>wär für hilfe dankbar</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/142340/ttimer-als-globale-clock</link><generator>RSS for Node</generator><lastBuildDate>Tue, 04 Aug 2026 05:35:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/142340.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Mar 2006 16:12:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to TTimer als globale clock on Wed, 29 Mar 2006 16:12:38 GMT]]></title><description><![CDATA[<p>hi</p>
<p>möchte den TTimer als clock nutzen, um verschiedene funktionen zu timen, ohne die aber alle im OnTimer event aufzulisten, da die zum teil auch privat bleiben sollen.<br />
geht das? wie?</p>
<p>hab mal folgendes im OnTimer event</p>
<pre><code class="language-cpp">void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
	if( Timer1-&gt;Enabled )
		Timer1-&gt;Enabled = false;
	else if( !Timer1-&gt;Enabled )
		Timer1-&gt;Enabled = True;
}
</code></pre>
<p>dh er läuft immer 1000ms und dann 1000ms nicht mehr.</p>
<pre><code class="language-cpp">void my_object::on_clock()
{
    while( Form1-&gt;Timer1-&gt; Enabled )
    {
        // tu dies..
    }
}
</code></pre>
<p>wenn ich das abfrage, läuft meine schlaufe eben auch in dem rhytmus, ist aber nach 1s schon durch. will aber jede sekunde nur ein durchlauf.<br />
nur wie <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>würd lieber ne art clocksignal an die objekte schicken<br />
aber irgendwie raff ichs nicht</p>
<p>wär für hilfe dankbar</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1026645</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1026645</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Wed, 29 Mar 2006 16:12:38 GMT</pubDate></item><item><title><![CDATA[Reply to TTimer als globale clock on Wed, 29 Mar 2006 17:02:07 GMT]]></title><description><![CDATA[<p>Richtig klar wird nicht, was du genau vorhast.<br />
In deinem Beispiel läuft der Timmer auf jeden Fall nur einmal und dann nie wieder. Denn wenn er disabled ist wird kein OnTimer ausgelöst, in dem er wieder enabled werden könnte.</p>
<p>Der Timer sollte konstant laufen und im OnTimer lediglich ein Flag hinundherschalten, dieses Flag kannst du dann in deinen Schleifen auswerten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1026695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1026695</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Wed, 29 Mar 2006 17:02:07 GMT</pubDate></item><item><title><![CDATA[Reply to TTimer als globale clock on Wed, 29 Mar 2006 17:05:14 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
	if( Timer1-&gt;Enabled )
		Timer1-&gt;Enabled = false;
	else if( !Timer1-&gt;Enabled )
		Timer1-&gt;Enabled = True;
}
</code></pre>
<p>Hi,<br />
kann mir einer das zusätzliche if erklären?<br />
Was kann denn da noch rauskommen? gibt es seit neustem trlse? <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>
<p>MfG</p>
<p>Alexander Sulfrian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1026701</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1026701</guid><dc:creator><![CDATA[Alexander Sulfrian]]></dc:creator><pubDate>Wed, 29 Mar 2006 17:05:14 GMT</pubDate></item><item><title><![CDATA[Reply to TTimer als globale clock on Wed, 29 Mar 2006 17:12:34 GMT]]></title><description><![CDATA[<p>hmtja etwas verwirrt wohl ich bin. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>was ich eigentlich wollte ist, dass meine funktionen aus der schlaufe jede sekunde einmal abgearbeitet werden.<br />
die sollen aber nicht vom timer aufgerufen werden, wegen der zugriffsrechte.</p>
<p>..hm geht wohl nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1026708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1026708</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Wed, 29 Mar 2006 17:12:34 GMT</pubDate></item><item><title><![CDATA[Reply to TTimer als globale clock on Wed, 29 Mar 2006 19:19:32 GMT]]></title><description><![CDATA[<p>Hi,<br />
evtl. so:</p>
<pre><code class="language-cpp">void my_object::on_clock()
{
    while (true) {
        for (int i = 0; i &lt; 10; i++)
        {
            Application-&gt;ProcessMessages();
            Sleep(100);
        }

        //tu was
    }
}
</code></pre>
<p>*ungetestet da Linux und keinen Builder zur Hand*<br />
Evtl. noch die while mit ner Bedingung versehen, damit das nich für immer und ewig jede Sekunde ausgeführt wird.</p>
<p>MfG</p>
<p>Alexander Sulfrian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1026767</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1026767</guid><dc:creator><![CDATA[Alexander Sulfrian]]></dc:creator><pubDate>Wed, 29 Mar 2006 19:19:32 GMT</pubDate></item><item><title><![CDATA[Reply to TTimer als globale clock on Wed, 29 Mar 2006 19:28:47 GMT]]></title><description><![CDATA[<p>Was habt ihr mit dieser while-Schlaufe?</p>
<pre><code class="language-cpp">void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
    switch(Timer1-&gt;Tag)
    {
        case 0:
                // tu was...
            break;
        case 1:
                // tu was zum zweiten...
            break;
        case 2:
                // tu was zum dritten...
            break;

    }
    Timer1-&gt;Tag++;
}
</code></pre>
<pre><code class="language-cpp">void TForm1::Button1Click()
{
    Timer1-&gt;Intervall = 1000;
    Timer1-&gt;Enabled = true;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1026778</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1026778</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Wed, 29 Mar 2006 19:28:47 GMT</pubDate></item><item><title><![CDATA[Reply to TTimer als globale clock on Wed, 29 Mar 2006 20:08:19 GMT]]></title><description><![CDATA[<p>1310-Logik schrieb:</p>
<blockquote>
<p>die sollen aber nicht vom timer aufgerufen werden, wegen der zugriffsrechte.</p>
</blockquote>
<p>Mhh auch wenns ein Designfehler is wünscht er es so...</p>
<p>MfG</p>
<p>Alexander Sulfrian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1026820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1026820</guid><dc:creator><![CDATA[Alexander Sulfrian]]></dc:creator><pubDate>Wed, 29 Mar 2006 20:08:19 GMT</pubDate></item><item><title><![CDATA[Reply to TTimer als globale clock on Wed, 29 Mar 2006 20:18:43 GMT]]></title><description><![CDATA[<p>[quote=&quot;BigNeal&quot;]Was habt ihr mit dieser while-Schlaufe?</p>
<pre><code class="language-cpp">void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
    switch(Timer1-&gt;Tag)
    {
        case 0:
                // tu was...
            break;
        case 1:
                // tu was zum zweiten...
            break;
        case 2:
                // tu was zum dritten...
            break;

   }

    Timer1-&gt;Tag++;
}
</code></pre>
<pre><code class="language-cpp">case 213874312:
                //tu was zum 213 millionsten mal???
</code></pre>
<p>wie soll das denn gehn??</p>
<p>habs jetzt so gelöst</p>
<pre><code class="language-cpp">void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
	a_manager-&gt;cycle();
}
</code></pre>
<p>die manager class hat nen container aller zu verarbeitenden items, wobei die methoden der items trotzdem noch public sein müssen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /><br />
aber das geht wohl nicht anders <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>mach ich das eigentlich zu kompliziert? denk halt dass das schöne oop ist oder nich'? effizient is es nich..<br />
will die form von der rechnerei trennen. dabei muss ich die *form1 als parameter bei der konstruktion des managers übergeben.<br />
wie macht ihr profis sowas?</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18157">@Alexander</a> Sulfrian<br />
das mit den windows messages ist noch interessant, wollt am liebsten ne meldung vom timer aufn bus jagen, und die objekte holen sich dann die wieder..<br />
aber das brächt wohl schon mehr aufwand (multithread?)</p>
<blockquote>
<p>Mhh auch wenns ein Designfehler is wünscht er es so...</p>
</blockquote>
<p>wieso wo ist der fehler?? wünsche es gern richtig zu machen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
bin da noch nicht so bewandt mit ood/oop oder wie auch immer..</p>
<p>na ich danke mal vorerst,<br />
weitere ideen nehm ich gern auf</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1026823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1026823</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Wed, 29 Mar 2006 20:18:43 GMT</pubDate></item><item><title><![CDATA[Reply to TTimer als globale clock on Thu, 30 Mar 2006 05:17:32 GMT]]></title><description><![CDATA[<p>1310-Logik schrieb:</p>
<blockquote>
<pre><code class="language-cpp">case 213874312:
                //tu was zum 213 millionsten mal???
</code></pre>
<p>wie soll das denn gehn??</p>
</blockquote>
<p>Der Tag muss natürlich wieder auf 0 gesetzt werden. Hier wohl beim dritten Durchlauf.</p>
<p>Wo ist denn genau dein Problem? Dass du von außen nicht auf private-Methoden zugreifen kannst? Das wäre nämlich ziemlich logisch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1026877</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1026877</guid><dc:creator><![CDATA[HEZ]]></dc:creator><pubDate>Thu, 30 Mar 2006 05:17:32 GMT</pubDate></item><item><title><![CDATA[Reply to TTimer als globale clock on Thu, 30 Mar 2006 07:12:00 GMT]]></title><description><![CDATA[<p>HEZ schrieb:</p>
<blockquote>
<p>Wo ist denn genau dein Problem? Dass du von außen nicht auf private-Methoden zugreifen kannst? Das wäre nämlich ziemlich logisch.</p>
</blockquote>
<p>das ist mir auch klar, dass es nicht geht, aber ich will das eigentlich nicht, wieso weis ich auch nicht..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1026921</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1026921</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 30 Mar 2006 07:12:00 GMT</pubDate></item><item><title><![CDATA[Reply to TTimer als globale clock on Thu, 30 Mar 2006 07:25:49 GMT]]></title><description><![CDATA[<p>was willst du nicht?<br />
nach dem Prinzip der oop programmieren?</p>
<p>du kannst es ja auch so lösen</p>
<pre><code class="language-cpp">while(1)
{
    Sleep(1000);    // 1 sek pause
    // Tu irgendwas 
}
</code></pre>
<p><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/1026925</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1026925</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Thu, 30 Mar 2006 07:25:49 GMT</pubDate></item><item><title><![CDATA[Reply to TTimer als globale clock on Thu, 30 Mar 2006 10:18:51 GMT]]></title><description><![CDATA[<p>1310-Logik schrieb:</p>
<blockquote>
<pre><code class="language-cpp">void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
	if( Timer1-&gt;Enabled )
		Timer1-&gt;Enabled = false;
	else if( !Timer1-&gt;Enabled )
		Timer1-&gt;Enabled = True;
}
</code></pre>
</blockquote>
<p>// ich würde das so schreiben...</p>
<pre><code class="language-cpp">Timer1-&gt;Enabled = !Timer1-&gt;Enabled;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1027021</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1027021</guid><dc:creator><![CDATA[Sunday]]></dc:creator><pubDate>Thu, 30 Mar 2006 10:18:51 GMT</pubDate></item><item><title><![CDATA[Reply to TTimer als globale clock on Thu, 30 Mar 2006 10:25:29 GMT]]></title><description><![CDATA[<p>ich würde das so schreiben:</p>
<pre><code class="language-cpp">Timer1-&gt;Enabled = false;
</code></pre>
<p>irgendwie macht es für mich keinen Sinn, den OnTimer-Event aufzurufen, wenn <em>Timer-&gt;Enabled == false</em> ist</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1027023</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1027023</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Thu, 30 Mar 2006 10:25:29 GMT</pubDate></item><item><title><![CDATA[Reply to TTimer als globale clock on Thu, 30 Mar 2006 10:37:55 GMT]]></title><description><![CDATA[<p>jaja inzwischen is mir klar, dass die if abfragerei reichlich müll war, die mach ich ja auch nich mehr.</p>
<p>will oop machen aber wie?<br />
mein problem:</p>
<p>ich wollt alle 1000ms einige methoden von objekten verschiedener klassen aufrufen.<br />
diese methoden will ich aber vor anderen zugriffen schützen. darum nicht public<br />
die form1 will ich aber auch nicht als friend haben (die stinkt)</p>
<p>ists völlig blöd was ich will?<br />
hab ichs prinzip nicht kapiert oder wie?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1027027</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1027027</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 30 Mar 2006 10:37:55 GMT</pubDate></item><item><title><![CDATA[Reply to TTimer als globale clock on Thu, 30 Mar 2006 10:49:59 GMT]]></title><description><![CDATA[<p>da du so komische ansprüche hast..</p>
<ul>
<li>du fügst ein Objekt von TTimer als Member in deine Klasse ein</li>
<li>du stellst die nötigen schnittstellen im public bereich für dein Klassen zur verfügung</li>
<li>du zeigst mit dem Funktions-pointer TTimer::OnTimer auf eine Member-Methode deiner Klasse.</li>
<li>du erstellst eine Klasse die als friend deklariert ist und den Timer kapselt</li>
</ul>
]]></description><link>https://www.c-plusplus.net/forum/post/1027032</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1027032</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Thu, 30 Mar 2006 10:49:59 GMT</pubDate></item><item><title><![CDATA[Reply to TTimer als globale clock on Thu, 30 Mar 2006 11:34:11 GMT]]></title><description><![CDATA[<p>Sunday schrieb:</p>
<blockquote>
<p>// ich würde das so schreiben...</p>
<p>Timer1-&gt;Enabled = !Timer1-&gt;Enabled;</p>
</blockquote>
<p>Warum denn?? Bitte erklär das mal</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1027047</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1027047</guid><dc:creator><![CDATA[Zero01]]></dc:creator><pubDate>Thu, 30 Mar 2006 11:34:11 GMT</pubDate></item><item><title><![CDATA[Reply to TTimer als globale clock on Thu, 30 Mar 2006 11:44:15 GMT]]></title><description><![CDATA[<p>bitte erklärt mir mal wie man das den &quot;richtig&quot; macht, ohne meine komischen ansprüche..<br />
bin echt nicht sicher was richtig ist, da anfänger..<br />
hab nur mal gelesen, sowenig wie möglcich public zu machen wär n dogma <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1027055</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1027055</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 30 Mar 2006 11:44:15 GMT</pubDate></item></channel></rss>