<?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[Komponenten sortieren]]></title><description><![CDATA[<p>Hallo,<br />
ich würde gern die Komponenten in meinem Formular sortieren,<br />
so dass meine eigenen Komponenten beim Ansprechen mittels -&gt;Components[i]<br />
immer ab 0 liegen,<br />
Hat jemand eine Idee ??<br />
Hintergrund ist folgender: Ich muss diese Komponenten regelmäßig durchgehen, um<br />
irgendwas zu prüfen, speichern oder ähnliches und löse das im Moment mit dieser<br />
Schleife:</p>
<pre><code>for (int i=0;  i&lt;frmmeinFormular-&gt;ComponentCount; i++)
  {
    if (frmmeinFormular-&gt;Components[i]-&gt;ClassNameIs(&quot;TmeineKlasse&quot;) )
    {
      if (frmmeinFormular-&gt;Components[i]-&gt;Name == &quot;einName&quot;)
      {
        ....
      }
    }
  }
</code></pre>
<p>Wenn ich eine spezielle Komponente bearbeiten will, muss ich alle durchdackeln<br />
und den Namen abfragen. Da wäre es doch einfacher, die Komponenten zu Beginn des<br />
Programms zu sortieren und anschließend über einen Index zuzugreifen .</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/207406/komponenten-sortieren</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 03:43:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/207406.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 07 Mar 2008 09:26:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Komponenten sortieren on Fri, 07 Mar 2008 09:26:29 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich würde gern die Komponenten in meinem Formular sortieren,<br />
so dass meine eigenen Komponenten beim Ansprechen mittels -&gt;Components[i]<br />
immer ab 0 liegen,<br />
Hat jemand eine Idee ??<br />
Hintergrund ist folgender: Ich muss diese Komponenten regelmäßig durchgehen, um<br />
irgendwas zu prüfen, speichern oder ähnliches und löse das im Moment mit dieser<br />
Schleife:</p>
<pre><code>for (int i=0;  i&lt;frmmeinFormular-&gt;ComponentCount; i++)
  {
    if (frmmeinFormular-&gt;Components[i]-&gt;ClassNameIs(&quot;TmeineKlasse&quot;) )
    {
      if (frmmeinFormular-&gt;Components[i]-&gt;Name == &quot;einName&quot;)
      {
        ....
      }
    }
  }
</code></pre>
<p>Wenn ich eine spezielle Komponente bearbeiten will, muss ich alle durchdackeln<br />
und den Namen abfragen. Da wäre es doch einfacher, die Komponenten zu Beginn des<br />
Programms zu sortieren und anschließend über einen Index zuzugreifen .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1469845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1469845</guid><dc:creator><![CDATA[Mecki]]></dc:creator><pubDate>Fri, 07 Mar 2008 09:26:29 GMT</pubDate></item><item><title><![CDATA[Reply to Komponenten sortieren on Fri, 07 Mar 2008 09:32:06 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Du kannst dir doch ein separates Array deiner Komponenten beim ersten Durchlauf bilden und dann immer das abfragen.<br />
Etaw so</p>
<pre><code class="language-cpp">std::vector&lt;TmeineKlasse*&gt; myclasses;
// Dann im Konstruktor oder so
  for (int i=0;  i&lt;frmmeinFormular-&gt;ComponentCount; i++)
  {
    TmeineKlasse* myclass = dynamic_cast&lt;TmeineKlasse*&gt;(frmmeinFormular-&gt;Components[i]);    
    if (myclass != 0 )
       myclasses.push_back(myclass);
  }
</code></pre>
<p>Hier brauchst du bei allen späteren Aufrufen nur noch myclasses durchzugehen. Wenn du dynamisch Komponenten hinzufügst oder löschst musst du den vectur natürlich updaten. Ich verwende dynamic_cast statt ClassNameIs weil es standardkonformer und schneller ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1469850</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1469850</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 07 Mar 2008 09:32:06 GMT</pubDate></item><item><title><![CDATA[Reply to Komponenten sortieren on Fri, 07 Mar 2008 12:12:29 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich kenn mich insgesamt nicht so gut aus, daher hab' ich immer nur simple Lösungsansätze: (Fast?) jede VCL-Komponente hat doch die &quot;Tag&quot;-Eigenschaft. Reicht das nicht einfach, um dein Vorhaben zu realisieren?</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1469958</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1469958</guid><dc:creator><![CDATA[Kolumbus]]></dc:creator><pubDate>Fri, 07 Mar 2008 12:12:29 GMT</pubDate></item></channel></rss>