<?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[AnsiCompare richtig einsetzen]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe folgendes Probelm,</p>
<p>ich habe in meinem StringGrid folgende Werte stehen.</p>
<p>X7.1<br />
X7.10<br />
X7.11<br />
X7.12<br />
X7.13<br />
X7.2<br />
X7.3<br />
X7.4<br />
X7.5<br />
X7.6<br />
X7.7<br />
X7.8<br />
X7.9</p>
<p>Jetzt muss ich diese so sortieren, dass sich nach X7. nach Rehnfolge geht. So muss es aussehen.</p>
<p>X7.1<br />
X7.2<br />
X7.3<br />
X7.4<br />
X7.5<br />
X7.6<br />
X7.7<br />
X7.8<br />
X7.9<br />
X7.10<br />
X7.11<br />
X7.12<br />
X7.13</p>
<p>folgender Maße bin ich bisher vorgegengen mit Buble-Prinzip.</p>
<pre><code class="language-cpp">strg_old_list-&gt;Cells[iCol][iRow].AnsiCompare (strg_old_list-&gt;Cells[iCol][iRow+1]) &gt; 0 )
</code></pre>
<p>Leider sortiert er mir nur so wie oben gezeigt ohne richtige Reihnfolge! Ich habe eigetlich bei AnsiCompare erwartet, dass er mir alles richtig sortiert. Da String X7.10 größer wie X7.9 unf X7.2 usw.</p>
<p>warum sortiert er falsch?</p>
<p>Habt Ihr vielleicht andere Ideen wie ich mein Problem lössen kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/209108/ansicompare-richtig-einsetzen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 10:25:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/209108.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 26 Mar 2008 19:04:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to AnsiCompare richtig einsetzen on Wed, 26 Mar 2008 19:04:02 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe folgendes Probelm,</p>
<p>ich habe in meinem StringGrid folgende Werte stehen.</p>
<p>X7.1<br />
X7.10<br />
X7.11<br />
X7.12<br />
X7.13<br />
X7.2<br />
X7.3<br />
X7.4<br />
X7.5<br />
X7.6<br />
X7.7<br />
X7.8<br />
X7.9</p>
<p>Jetzt muss ich diese so sortieren, dass sich nach X7. nach Rehnfolge geht. So muss es aussehen.</p>
<p>X7.1<br />
X7.2<br />
X7.3<br />
X7.4<br />
X7.5<br />
X7.6<br />
X7.7<br />
X7.8<br />
X7.9<br />
X7.10<br />
X7.11<br />
X7.12<br />
X7.13</p>
<p>folgender Maße bin ich bisher vorgegengen mit Buble-Prinzip.</p>
<pre><code class="language-cpp">strg_old_list-&gt;Cells[iCol][iRow].AnsiCompare (strg_old_list-&gt;Cells[iCol][iRow+1]) &gt; 0 )
</code></pre>
<p>Leider sortiert er mir nur so wie oben gezeigt ohne richtige Reihnfolge! Ich habe eigetlich bei AnsiCompare erwartet, dass er mir alles richtig sortiert. Da String X7.10 größer wie X7.9 unf X7.2 usw.</p>
<p>warum sortiert er falsch?</p>
<p>Habt Ihr vielleicht andere Ideen wie ich mein Problem lössen kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1480906</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1480906</guid><dc:creator><![CDATA[swunder]]></dc:creator><pubDate>Wed, 26 Mar 2008 19:04:02 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiCompare richtig einsetzen on Wed, 26 Mar 2008 19:25:31 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">bool scompare(String a,String b)
{
   return a.Length()&lt;b.Length()||a&lt;b;
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   vector &lt;String&gt; liste;
   liste.push_back(&quot;X7.1&quot;);
   liste.push_back(&quot;X7.10&quot;);
   liste.push_back(&quot;X7.12&quot;);
   liste.push_back(&quot;X7.13&quot;);
   liste.push_back(&quot;X7.11&quot;);
   liste.push_back(&quot;X7.9&quot;);
   liste.push_back(&quot;X7.8&quot;);
   liste.push_back(&quot;X7.7&quot;);
   liste.push_back(&quot;X7.6&quot;);
   liste.push_back(&quot;X7.5&quot;);
   liste.push_back(&quot;X7.4&quot;);
   liste.push_back(&quot;X7.3&quot;);
   liste.push_back(&quot;X7.2&quot;);
   StringGrid1-&gt;RowCount = liste.size();
   sort(liste.begin(),liste.end(),scompare);
   for(unsigned int i=0;i&lt;liste.size();i++)
   {
      StringGrid1-&gt;Cells [0][i] = liste[i];
   }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1480932</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1480932</guid><dc:creator><![CDATA[comparat]]></dc:creator><pubDate>Wed, 26 Mar 2008 19:25:31 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiCompare richtig einsetzen on Wed, 26 Mar 2008 21:37:31 GMT]]></title><description><![CDATA[<p>swunder schrieb:</p>
<blockquote>
<p>Ich habe eigetlich bei AnsiCompare erwartet, dass er mir alles richtig sortiert. Da String X7.10 größer wie X7.9 unf X7.2 usw.</p>
</blockquote>
<p>Seit wann ist 1 grösser als 2 oder 9? AnsiCompare vergleicht zeichenweise von links nach rechts.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1481026</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1481026</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Wed, 26 Mar 2008 21:37:31 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiCompare richtig einsetzen on Thu, 27 Mar 2008 12:10:13 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/52">@Jansen</a><br />
Oh dann habe ich was falsch verstanden bei AnsiCompare!</p>
<p>@comparat<br />
Danke, aber das ist nicht das was ich suche! Da ich machmal eine Liste von ca. 1000 Werte habe. Dann wäre diese Vorgehensweise wirklich komplex!</p>
<p>Habt Ihr vielleicht mal Ideen wie man das sonst lösen kann?<br />
Weil mir fällt nichts ein!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1481303</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1481303</guid><dc:creator><![CDATA[swunder]]></dc:creator><pubDate>Thu, 27 Mar 2008 12:10:13 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiCompare richtig einsetzen on Thu, 27 Mar 2008 12:17:03 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ist vielleicht ne andere Nummerierung möglich? X71A, X71B usw? Vielleicht gehts dann besser?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1481308</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1481308</guid><dc:creator><![CDATA[Kolumbus]]></dc:creator><pubDate>Thu, 27 Mar 2008 12:17:03 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiCompare richtig einsetzen on Thu, 27 Mar 2008 12:34:13 GMT]]></title><description><![CDATA[<p>swunder schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/52">@Jansen</a><br />
Oh dann habe ich was falsch verstanden bei AnsiCompare!</p>
<p>@comparat<br />
Danke, aber das ist nicht das was ich suche! Da ich machmal eine Liste von ca. 1000 Werte habe. Dann wäre diese Vorgehensweise wirklich komplex!</p>
<p>Habt Ihr vielleicht mal Ideen wie man das sonst lösen kann?<br />
Weil mir fällt nichts ein!</p>
</blockquote>
<p>Na gerade wenn du eine große Liste hast, dann ist diese Lösung extrem vorteilhafter.<br />
Und von der Performance gegenüber einer Sortierung direkt im Grid sowieso extrem besser.<br />
Du solltest ein Grid niemals als Container zur Speicherung deiner Daten verwenden, sondern nur zweckgemäß für die Anzeige verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1481330</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1481330</guid><dc:creator><![CDATA[comparat]]></dc:creator><pubDate>Thu, 27 Mar 2008 12:34:13 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiCompare richtig einsetzen on Thu, 27 Mar 2008 12:58:22 GMT]]></title><description><![CDATA[<p>Hab trotzdem jetzt mal mit Bubble Sort die Sortierung vom Grid gemacht.</p>
<p>Ungetestet</p>
<pre><code class="language-cpp">for(unsigned int i=0;i&lt;13;i++)
   {
      for(unsigned int j=i+1;j&lt;13;j++)
      {
         String b=StringGrid1-&gt;Cells [0][i];
         String a=StringGrid1-&gt;Cells [0][j];
         if(a.Length()&lt;b.Length()||a&lt;b)
         {
            StringGrid1-&gt;Cells [0][i]=a;
            StringGrid1-&gt;Cells [0][j]=b;
         }
      }
   }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1481359</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1481359</guid><dc:creator><![CDATA[comparat]]></dc:creator><pubDate>Thu, 27 Mar 2008 12:58:22 GMT</pubDate></item></channel></rss>