<?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[Buttonstatus]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich mach derzeit eine Fortschrittsanzeige..über eine einfache for anweisung lass ich hochzählen .etc</p>
<p>nun möchte ich das ganze durch einen &quot;buttonklick&quot; anhalten und hab mir gedacht das ich das mit do..while mache<br />
allerdings weiss ich nich wie ich den button status abfrage</p>
<p>mal kurz</p>
<pre><code class="language-cpp">do
{
   for(i.....)
   {
   ....
   }
}
while(&quot;und hier soll quasi rein : wenn button gedrückt wird soll es nicht weiter hochzählen&quot;);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/166430/buttonstatus</link><generator>RSS for Node</generator><lastBuildDate>Sat, 02 May 2026 04:08:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/166430.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Nov 2006 07:53:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Buttonstatus on Wed, 29 Nov 2006 07:53:44 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich mach derzeit eine Fortschrittsanzeige..über eine einfache for anweisung lass ich hochzählen .etc</p>
<p>nun möchte ich das ganze durch einen &quot;buttonklick&quot; anhalten und hab mir gedacht das ich das mit do..while mache<br />
allerdings weiss ich nich wie ich den button status abfrage</p>
<p>mal kurz</p>
<pre><code class="language-cpp">do
{
   for(i.....)
   {
   ....
   }
}
while(&quot;und hier soll quasi rein : wenn button gedrückt wird soll es nicht weiter hochzählen&quot;);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1183550</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1183550</guid><dc:creator><![CDATA[Steve (off)]]></dc:creator><pubDate>Wed, 29 Nov 2006 07:53:44 GMT</pubDate></item><item><title><![CDATA[Reply to Buttonstatus on Wed, 29 Nov 2006 08:43:08 GMT]]></title><description><![CDATA[<p>Wenn der Button gedrückt wird, schickt er normalerweise eine BN_CLICKED Nachricht - aber die wird erst abgearbeitet, wenn deine aktuelle Funktion fertig ist. Die beste Möglichkeit wäre es, die Berechnung in einen eigenen Thread auszulagern und in der OnButton()-Funktion die Abbruchbedingung zu setzen.</p>
<p>(aber achte auf korrekte Synchronisation)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1183591</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1183591</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 29 Nov 2006 08:43:08 GMT</pubDate></item><item><title><![CDATA[Reply to Buttonstatus on Wed, 29 Nov 2006 08:46:50 GMT]]></title><description><![CDATA[<p>erstell dir ne membervariable vom typ bool (m_bTorF)<br />
weis der m_bTorF beim start deines Progs einen Wert zu (m_bTorF=TRUE;)<br />
weis dem Button eine Funktion zu in dieser schreibst du</p>
<p>m_bTorF= !m_bTorF;//Ist variable True wird sie False bzw. umgekehrt</p>
<p>dann hast du da einen Denkfehler da die do/while schleife aufhört zu zählen sobald du sie beendest. bzw ist deine Fortschrittsanzeige in der for schleife gefangen und die hört ja erst auf zu zählen wenn die einen bestimmten wert erreicht hat und das denke ich ist das ende der Fortschrittsanzeige. somit würde eigendlich wenn du die do/while nicht beendest die for schleife erneut starten &amp; die Fortschrittsanzeige wieder von vorne beginnen.</p>
<pre><code>do
{
    if(m_bTorF)//ist m_bTorF TRUE setze die Fortschrittsanzeige um eins weiter hoch
    {
        ....
    }

}while(solange bis Fortschritsanzeige am ende ist);
</code></pre>
<p>hier passiert nun folgendes die do/while schleife wiederholt sich solange bis ein bestimmter wert erreicht ist zB die Fortschrittsanzeige am ende ist. die Fortschrittsanzeige wird aber nur dann nach oben gesetzt wenn m_bTorF == TRUE ist. ist sie es nicht kommt auch die do/while schleife ihrem ende nicht näher <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/1183592</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1183592</guid><dc:creator><![CDATA[LowFly]]></dc:creator><pubDate>Wed, 29 Nov 2006 08:46:50 GMT</pubDate></item><item><title><![CDATA[Reply to Buttonstatus on Wed, 29 Nov 2006 09:44:14 GMT]]></title><description><![CDATA[<p>ich poste ma hier den Quellcode der die Status Anzeige derzeit startet</p>
<pre><code class="language-cpp">void CFort2Dlg::OnStart()
{
do
{	
for(int i=0; i&lt;=100;i++)
    {
      for(int j=0; j&lt;10000000;j++);

      m_ctlProgress.SetPos(i);
    }
}
while(a == 0);
}

void CFort2Dlg::OnStop() 
{
a=1;	
}
</code></pre>
<p>Wie zu sehn ist hab ich es mal versucht das wenn ich Stop klick a auf 1 gesetzt wird und solang a = 0 ist läuft es normal weiter ..aber so gehts nich^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1183646</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1183646</guid><dc:creator><![CDATA[Steve (off)]]></dc:creator><pubDate>Wed, 29 Nov 2006 09:44:14 GMT</pubDate></item><item><title><![CDATA[Reply to Buttonstatus on Wed, 29 Nov 2006 09:48:59 GMT]]></title><description><![CDATA[<p>Die Nachrichtenschlange wird von oben nach unten abgearbeitet. Und solange die OnStart() nicht zurückgekehrt ist, wartet der Klick auf den Stop-Button geduldig in der Warteschlange. Als Lösung könntest du die Schleife in einen eigenen Thread auslagern, der von der OnStart() angestoßen wird und dann autonom weiterläuft.</p>
<p>(oder du startest einen Timer und aktualisierst in jedem OnTimer() Aufruf den Fortschrittsanzeiger)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1183650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1183650</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 29 Nov 2006 09:48:59 GMT</pubDate></item></channel></rss>