<?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[Programm unglaublich langsam]]></title><description><![CDATA[<p>Ich habe eine Datei in diesem Format:</p>
<pre><code>Zahl#Text#Zahl#Text#Zahl...
</code></pre>
<p>Die Datei ist 500kb groß. Ich lade die Datei in einen AnsiString und habe eine Variable die bei jedem gefundenen # zwischen Zahl und Text umschaltet. Wenn dann die Zahl und der Text komplett ist, also wieder ein # kommt, schreibe ich die Daten in ein StringGrid.</p>
<pre><code class="language-cpp">for(int i=1; i&lt;IdDesc-&gt;Text.Length(); i++){
      if(IdDesc-&gt;Text[i]=='#'){
       State++;
       if(State==3){
        actid=AnsiReplaceStr(actid,&quot;\n&quot;,&quot;&quot;);
        actid=AnsiReplaceStr(actid,&quot;\r&quot;,&quot;&quot;);
        actval=AnsiReplaceStr(actval,&quot;\n&quot;,&quot;&quot;);
        actval=AnsiReplaceStr(actval,&quot;\r&quot;,&quot;&quot;);
        AddRow(actid);
        SetRow(actid,5,actval);
        State=1;
        actid=&quot;&quot;;
        actval=&quot;&quot;;
       }
      } else {
       if(State==1){
         actid+=IdDesc-&gt;Text[i];
       } else {
         actval+=IdDesc-&gt;Text[i];
       }
      }
     }
</code></pre>
<pre><code class="language-cpp">void __fastcall TMainForm::SetRow(AnsiString id, int col, AnsiString val)
{
 for(int i=1; i&lt;ItemGrid-&gt;RowCount; i++){
  if(ItemGrid-&gt;Cells[0][i]==id){
   ItemGrid-&gt;Cells[col][i]=val;
  }
 }
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::AddRow(AnsiString id)
{
 Caption=&quot;Lade Datensatz &quot;+id;
 Application-&gt;ProcessMessages();
 if(id!=&quot;&quot;){
  ItemGrid-&gt;RowCount++;
  ItemGrid-&gt;Cells[0][ItemGrid-&gt;RowCount-1]=id;
 }
}
</code></pre>
<p>aber der Code ist so schrecklich langsam, er läd ca ein Datensatz, also Zahl und Text in 5 Sekunden. Leider sind es über 2000 Stück.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/186851/programm-unglaublich-langsam</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 15:59:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/186851.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 13 Jul 2007 06:27:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Programm unglaublich langsam on Fri, 13 Jul 2007 06:27:54 GMT]]></title><description><![CDATA[<p>Ich habe eine Datei in diesem Format:</p>
<pre><code>Zahl#Text#Zahl#Text#Zahl...
</code></pre>
<p>Die Datei ist 500kb groß. Ich lade die Datei in einen AnsiString und habe eine Variable die bei jedem gefundenen # zwischen Zahl und Text umschaltet. Wenn dann die Zahl und der Text komplett ist, also wieder ein # kommt, schreibe ich die Daten in ein StringGrid.</p>
<pre><code class="language-cpp">for(int i=1; i&lt;IdDesc-&gt;Text.Length(); i++){
      if(IdDesc-&gt;Text[i]=='#'){
       State++;
       if(State==3){
        actid=AnsiReplaceStr(actid,&quot;\n&quot;,&quot;&quot;);
        actid=AnsiReplaceStr(actid,&quot;\r&quot;,&quot;&quot;);
        actval=AnsiReplaceStr(actval,&quot;\n&quot;,&quot;&quot;);
        actval=AnsiReplaceStr(actval,&quot;\r&quot;,&quot;&quot;);
        AddRow(actid);
        SetRow(actid,5,actval);
        State=1;
        actid=&quot;&quot;;
        actval=&quot;&quot;;
       }
      } else {
       if(State==1){
         actid+=IdDesc-&gt;Text[i];
       } else {
         actval+=IdDesc-&gt;Text[i];
       }
      }
     }
</code></pre>
<pre><code class="language-cpp">void __fastcall TMainForm::SetRow(AnsiString id, int col, AnsiString val)
{
 for(int i=1; i&lt;ItemGrid-&gt;RowCount; i++){
  if(ItemGrid-&gt;Cells[0][i]==id){
   ItemGrid-&gt;Cells[col][i]=val;
  }
 }
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::AddRow(AnsiString id)
{
 Caption=&quot;Lade Datensatz &quot;+id;
 Application-&gt;ProcessMessages();
 if(id!=&quot;&quot;){
  ItemGrid-&gt;RowCount++;
  ItemGrid-&gt;Cells[0][ItemGrid-&gt;RowCount-1]=id;
 }
}
</code></pre>
<p>aber der Code ist so schrecklich langsam, er läd ca ein Datensatz, also Zahl und Text in 5 Sekunden. Leider sind es über 2000 Stück.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324283</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324283</guid><dc:creator><![CDATA[Filbert]]></dc:creator><pubDate>Fri, 13 Jul 2007 06:27:54 GMT</pubDate></item><item><title><![CDATA[Reply to Programm unglaublich langsam on Fri, 13 Jul 2007 09:23:31 GMT]]></title><description><![CDATA[<p>Du hast ja auch mehrere Bremsen in deinem Code:</p>
<p>1. Du verwendest 4x AnsiReplaceStr.<br />
Hast du überhaupt '\r' oder '\n' in deinem Text drin.<br />
Wenn nein, dann entferne die Aufrufe, wenn ja dann prüfe schon beim Einfügen auf diese Zeichen, z.B.</p>
<pre><code class="language-cpp">char c = IdDesc-&gt;Text[i];
if(!isctrl(c)) // aus stdlib.h
  actid += c;
</code></pre>
<p>2. Warum durchläufst du alle Zeilen, um die Id zu finden, wenn du sie vorher mit AddRow an die letzte Zeile eingefügt hast?</p>
<p>3. Application-&gt;ProcessMessages() startet bei jeder Zeile die MessageLoop und löst z.B. ein Neuzeichnen etc. aus...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324471</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324471</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Fri, 13 Jul 2007 09:23:31 GMT</pubDate></item><item><title><![CDATA[Reply to Programm unglaublich langsam on Fri, 13 Jul 2007 10:45:01 GMT]]></title><description><![CDATA[<p>In dem Text sind jede menge \n\r das ist hauptsächlich das Problem, denn die Daten stammen nicht von mir.</p>
<p>Es müssen später noch mehr Werte in die Tabelle, die genau so angeordnet sind. Später sollen die Daten dann per AddRow hinzugefügt werden, eben an die passende stelle. Das mit isctrl werde ich ausprobieren.</p>
<p>EDIT: isctrl kann ich nicht finden, auch wenn ich die Header dazu einbau. Ok, habs jetzt, heißt iscntrl. Die Hilfe findet auch nichts. ProcessMessage brauch ich, weil die GUI beil laden neu gezeichnet werden soll.</p>
<p>EDIT2: Also, ich hab jetzt die Chars mit iscntrl aussortiert. Dann hab ich SetRow rausgenommen. ProcessMessages hab ich jetzt nur noch im Aufruf von AddRow. Allerdings dauerts immernoch ca 8 Sekunden bis ein Datensatz angezeigt wird... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324512</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324512</guid><dc:creator><![CDATA[Filbert]]></dc:creator><pubDate>Fri, 13 Jul 2007 10:45:01 GMT</pubDate></item><item><title><![CDATA[Reply to Programm unglaublich langsam on Fri, 13 Jul 2007 10:44:09 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">TStringList* dat = new TStringList();
   //Datei in StringList laden
   dat-&gt;LoadFromFile(&quot;dat.txt&quot;);
   //\n und \r im gesammten Text entfernen
   dat-&gt;Text=StringReplace(dat-&gt;Text,&quot;\n&quot;,&quot;&quot;,TReplaceFlags() &lt;&lt; rfReplaceAll);
   dat-&gt;Text=StringReplace(dat-&gt;Text,&quot;\r&quot;,&quot;&quot;,TReplaceFlags() &lt;&lt; rfReplaceAll);
   //Delimiter setzen (#)
   dat-&gt;Delimiter = '#';
   dat-&gt;DelimitedText = dat-&gt;Text;
   //Anzahl der Rows berechnen (Anzahl Einträge in Liste / 2 Spalten)
   StringGrid1-&gt;RowCount = dat-&gt;Count / 2;
   //Daten ins Grid schreiben
   for(int i=0;i&lt;dat-&gt;Count-1;i+=2)
   {
      StringGrid1-&gt;Cells[0][i/2]=dat-&gt;Strings [i];
      StringGrid1-&gt;Cells[1][i/2]=dat-&gt;Strings [i+1];
   }
   delete dat;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1324552</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324552</guid><dc:creator><![CDATA[holg_er]]></dc:creator><pubDate>Fri, 13 Jul 2007 10:44:09 GMT</pubDate></item><item><title><![CDATA[Reply to Programm unglaublich langsam on Fri, 13 Jul 2007 10:57:29 GMT]]></title><description><![CDATA[<p>Allerdings würde ich bei extrem großen Dateien dazu neigen, nicht alles ins Grid zu schreiben, sondern nur den sichtbaren Teil (meinetwegen 20-30 Zeilen).<br />
Dann baust du dir eine Funktion mit der du dann durch die Daten scrollst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324567</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324567</guid><dc:creator><![CDATA[holg_er]]></dc:creator><pubDate>Fri, 13 Jul 2007 10:57:29 GMT</pubDate></item><item><title><![CDATA[Reply to Programm unglaublich langsam on Fri, 13 Jul 2007 11:13:36 GMT]]></title><description><![CDATA[<p>also, ich hab deinen Code jetzt gerade getestet, das Laden läuft jetzt schon 5 Minuten CPU Zeit und ist noch nicht beim Einfügen der Daten in die Tabelle.</p>
<p>So, nach 5:30 Waren die Daten dann geladen und angezeigt, allerdings ist jedes Wort in einer eigenen Zeile, bzw. immer zwei Wörter nebeneinander.</p>
<ul>
<li></li>
</ul>
<p>Es hilft ja auhc nix, denn das laden der Daten dauert so lange, es dauert keine 30 Sekunden die Daten ins StringGrid zu kopieren.</p>
<p><a href="http://www.bilder-hosting.de/show/LKDW4.html" rel="nofollow"></a><a href="http://s3.bilder-hosting.de/tbnl/LKDW4.jpg" rel="nofollow">http://s3.bilder-hosting.de/tbnl/LKDW4.jpg</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324573</guid><dc:creator><![CDATA[Filbert]]></dc:creator><pubDate>Fri, 13 Jul 2007 11:13:36 GMT</pubDate></item><item><title><![CDATA[Reply to Programm unglaublich langsam on Fri, 13 Jul 2007 11:12:07 GMT]]></title><description><![CDATA[<blockquote>
<p>Es hilft ja auhc nix, denn das laden der Daten dauert so lange</p>
</blockquote>
<p>Das laden einer 500 kb Datei dauert bei mir keine Sekunde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324577</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324577</guid><dc:creator><![CDATA[holg_er]]></dc:creator><pubDate>Fri, 13 Jul 2007 11:12:07 GMT</pubDate></item><item><title><![CDATA[Reply to Programm unglaublich langsam on Fri, 13 Jul 2007 11:15:25 GMT]]></title><description><![CDATA[<blockquote>
<p>So, nach 5:30 Waren die Daten dann geladen und angezeigt, allerdings ist jedes Wort in einer eigenen Zeile, bzw. immer zwei Wörter nebeneinander.</p>
</blockquote>
<p>Eine 600 kb Datei hat bei mir ca 4-5 Sekunden gebraucht, bis alles angezeigt wurde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324580</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324580</guid><dc:creator><![CDATA[holg_er]]></dc:creator><pubDate>Fri, 13 Jul 2007 11:15:25 GMT</pubDate></item><item><title><![CDATA[Reply to Programm unglaublich langsam on Fri, 13 Jul 2007 11:16:41 GMT]]></title><description><![CDATA[<p><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="😞"
    /> kann ich dir mal meine Datei zuschicken und du testest es damit?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324581</guid><dc:creator><![CDATA[Filbert]]></dc:creator><pubDate>Fri, 13 Jul 2007 11:16:41 GMT</pubDate></item><item><title><![CDATA[Reply to Programm unglaublich langsam on Fri, 13 Jul 2007 11:20:08 GMT]]></title><description><![CDATA[<p>Kannst du die Datei irgendwo hochladen ? Da ich nur ungern meine email Adressen irgendwo hinterlasse. (Hab schon genug Spam).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324583</guid><dc:creator><![CDATA[holg_er]]></dc:creator><pubDate>Fri, 13 Jul 2007 11:20:08 GMT</pubDate></item><item><title><![CDATA[Reply to Programm unglaublich langsam on Fri, 13 Jul 2007 11:22:46 GMT]]></title><description><![CDATA[<p><a href="http://advro.devcoding.com/downloads/test.txt" rel="nofollow">http://advro.devcoding.com/downloads/test.txt</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324584</guid><dc:creator><![CDATA[Filbert]]></dc:creator><pubDate>Fri, 13 Jul 2007 11:22:46 GMT</pubDate></item><item><title><![CDATA[Reply to Programm unglaublich langsam on Fri, 13 Jul 2007 13:21:42 GMT]]></title><description><![CDATA[<p>versuch mal folgendes</p>
<pre><code class="language-cpp">#include &lt;fstream&gt;
#include &lt;string&gt;

using namespace std;

void __fastcall TForm1::Button1Click(TObject *Sender)
{
string iBuf;
AnsiString iBuffer;
ifstream inf(&quot;d:\\test.txt&quot;);
getline(inf, iBuf);
getline(inf, iBuf);
int i=1, k;
while ( !inf.eof() )
	{
	iBuf = &quot;&quot;;
	getline(inf, iBuf, '#');
	iBuffer = iBuf.c_str();
	iBuffer = StringReplace(iBuffer,&quot;\n&quot;,&quot;&quot;,TReplaceFlags() &lt;&lt; rfReplaceAll);
	iBuffer = StringReplace(iBuffer,&quot;\r&quot;,&quot;&quot;,TReplaceFlags() &lt;&lt; rfReplaceAll);
	if (TryStrToInt(iBuffer, k))
		StringGrid1-&gt;Cells[0][i]=iBuffer;
	else
		{
		StringGrid1-&gt;Cells[1][i]=iBuffer;
		i++;
		}
	}
StringGrid1-&gt;RowCount = i;
inf.close();
}
</code></pre>
<p>noch ein Hinweis: bei StringList-&gt;Delimiter wird nicht nur der angegebene Delimiter sondern auch jedes Leerzeichen als Delimiter verwendet, daher kamen die Wörter alle einzeln</p>
<p>[Edit] die Sonderbehandlung der Kommentare mußt du natürlich noch machen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324693</guid><dc:creator><![CDATA[Linnea]]></dc:creator><pubDate>Fri, 13 Jul 2007 13:21:42 GMT</pubDate></item><item><title><![CDATA[Reply to Programm unglaublich langsam on Fri, 13 Jul 2007 14:17:14 GMT]]></title><description><![CDATA[<p>bei deimem code zeigt er nur 501 an. also nur die erste zahl.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324731</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324731</guid><dc:creator><![CDATA[Filbert]]></dc:creator><pubDate>Fri, 13 Jul 2007 14:17:14 GMT</pubDate></item><item><title><![CDATA[Reply to Programm unglaublich langsam on Fri, 13 Jul 2007 19:30:31 GMT]]></title><description><![CDATA[<p>meinst du so ?</p>
<pre><code class="language-cpp">ifstream in(&quot;dat.txt&quot;);
   string buff;
   String ansibuff;
   short pos=0;
   while(!in.eof())
   {
      getline(in,buff,'#');
      ansibuff=buff.c_str();
      ansibuff=StringReplace(ansibuff,&quot;\r&quot;,&quot;&quot;,TReplaceFlags() &lt;&lt; rfReplaceAll);
      ansibuff=StringReplace(ansibuff,&quot;\n&quot;,&quot;&quot;,TReplaceFlags() &lt;&lt; rfReplaceAll);
      StringGrid1-&gt;Cells [pos][StringGrid1-&gt;RowCount-1]=ansibuff;
      pos++;
      if(pos&gt;1)
      {
         StringGrid1-&gt;RowCount++;
         pos=0;
      }
   }
   in.close();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1324921</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324921</guid><dc:creator><![CDATA[holg_er]]></dc:creator><pubDate>Fri, 13 Jul 2007 19:30:31 GMT</pubDate></item><item><title><![CDATA[Reply to Programm unglaublich langsam on Fri, 13 Jul 2007 22:26:17 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Sehe ich das richtig, das es um das entfernen der Zeilenumbrüche geht und das das so lange dauert... wenn ja, versuch mal das hier :</p>
<pre><code class="language-cpp">//Datei in StringList laden
dat-&gt;LoadFromFile(&quot;test.txt&quot;);
//\n und \r im gesammten Text entfernen
AnsiString NeuerText = &quot;&quot;;
for (int i = 0; i &lt; dat-&gt;Count; i++)
  NeuerText += dat-&gt;Strings[i];
</code></pre>
<p>Das geht um Längen schneller als StringReplace.</p>
<p>Ich weiss ja nun auch nicht wie das Ergebnis (im StringGrid) aussehen soll, aber evtl. so ?</p>
<pre><code class="language-cpp">TStringList* dat = new TStringList();
AnsiString NeuerText  = &quot;&quot;;
AnsiString NeuerText2 = &quot;&quot;;
// Datei in StringList laden
dat-&gt;LoadFromFile(&quot;test.txt&quot;);
// \r\n im gesammten Text entfernen
for (int i = 0; i &lt; dat-&gt;Count; i++)
 NeuerText += dat-&gt;Strings[i];
//Delimiter setzen (#)
for (int i = 1; i &lt;= NeuerText.Length(); i++)
{
 if (NeuerText[i] == '#')
   NeuerText2 += &quot;\r\n&quot;;
 else
   NeuerText2 += NeuerText[i];
}  // for (int i = 1; i &lt;= NeuerText.Length(); i++)
dat-&gt;Text = NeuerText2;
//Anzahl der Rows berechnen (Anzahl Einträge in Liste / 2 Spalten)
StringGrid1-&gt;RowCount = dat-&gt;Count / 2;
//Daten ins Grid schreiben
for(int i = 0; i &lt; dat-&gt;Count - 1; i += 2)
{
  StringGrid1-&gt;Cells[0][i/2]=dat-&gt;Strings [i];
  StringGrid1-&gt;Cells[1][i/2]=dat-&gt;Strings [i+1];
}  // for(int i = 0; i &lt; dat-&gt;Count - 1; i += 2)
// Das kann später raus, ist nur zum Testen...
dat-&gt;SaveToFile(ExtractFilePath(Application-&gt;ExeName) + &quot;neu.txt&quot;);
delete dat;
</code></pre>
<p>Das Grid wird dabei in weniger als einer Sekunde geladen...</p>
<p>Nash</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1325037</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1325037</guid><dc:creator><![CDATA[Nash]]></dc:creator><pubDate>Fri, 13 Jul 2007 22:26:17 GMT</pubDate></item><item><title><![CDATA[Reply to Programm unglaublich langsam on Sat, 14 Jul 2007 00:22:01 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">ifstream in(&quot;test.txt&quot;);
string buff=&quot;&quot;;
String ansibuff;
unsigned i=0;
short pos=1;
while(!in.eof())
{
   getline(in,buff,'#');
   ansibuff=buff.c_str();
   ansibuff=StringReplace(ansibuff,&quot;\r&quot;,&quot;&quot;,TReplaceFlags() &lt;&lt;rfReplaceAll);
   StringGrid1-&gt;Cells [pos=!pos][i++/2]=StringReplace(ansibuff,&quot;\n&quot;,&quot;&quot;,TReplaceFlags() &lt;&lt;rfReplaceAll);
}
StringGrid1-&gt;RowCount = i/2;
in.close();
</code></pre>
<p>Etwas optimiert gehts dann in unter ner halben Sekunde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1325068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1325068</guid><dc:creator><![CDATA[holg_er]]></dc:creator><pubDate>Sat, 14 Jul 2007 00:22:01 GMT</pubDate></item><item><title><![CDATA[Reply to Programm unglaublich langsam on Sat, 14 Jul 2007 10:22:41 GMT]]></title><description><![CDATA[<p>Ich habe mal Versuchsweise den Code von Nash probiert.<br />
Funktioniert beim ersten Durchlauf einwandfrei.<br />
Aber wenn man das mehrmals durchläuft (Hab es dazu mal ins OnClick eines Buttons gesetzt) dann wird es bei mir elendig langsam.<br />
Nur ich begreife nicht wieso. Hat da jemand ne Erklärung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1325205</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1325205</guid><dc:creator><![CDATA[frage_zum_Code]]></dc:creator><pubDate>Sat, 14 Jul 2007 10:22:41 GMT</pubDate></item><item><title><![CDATA[Reply to Programm unglaublich langsam on Sat, 14 Jul 2007 22:38:22 GMT]]></title><description><![CDATA[<p>Ich komme jetzt gerade nicht an den Code (liegt aufem Arbeitsrechner) werde mir das Montag morgen nochmal anschauen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1325586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1325586</guid><dc:creator><![CDATA[Filbert]]></dc:creator><pubDate>Sat, 14 Jul 2007 22:38:22 GMT</pubDate></item><item><title><![CDATA[Reply to Programm unglaublich langsam on Sun, 15 Jul 2007 00:10:28 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>@ frage_zum_Code :<br />
Nimm den Code von &quot;holg_er&quot;, der is besser...</p>
<p>Nash</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1325604</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1325604</guid><dc:creator><![CDATA[Nash]]></dc:creator><pubDate>Sun, 15 Jul 2007 00:10:28 GMT</pubDate></item><item><title><![CDATA[Reply to Programm unglaublich langsam on Sun, 15 Jul 2007 09:50:28 GMT]]></title><description><![CDATA[<p>Nash schrieb:</p>
<blockquote>
<p>Hallo,</p>
<p>@ frage_zum_Code :<br />
Nimm den Code von &quot;holg_er&quot;, der is besser...</p>
<p>Nash</p>
</blockquote>
<p>Aber ich würde gerne verstehen, warum der Code beim zweiten... Durchlauf immer langsamer wird.<br />
Die StringList wird doch danach komplett wieder mit delete gelöscht. <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/1325702</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1325702</guid><dc:creator><![CDATA[frage_zum_Code]]></dc:creator><pubDate>Sun, 15 Jul 2007 09:50:28 GMT</pubDate></item><item><title><![CDATA[Reply to Programm unglaublich langsam on Sun, 15 Jul 2007 13:35:50 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>So wird er nicht langsamer, ist aber immer noch nicht so schnell wie der andere. Man könnte da immer noch was optimieren...</p>
<pre><code class="language-cpp">// Datei in StringList laden
AnsiString NeuerText  = &quot;&quot;;
AnsiString Zeile      = &quot;&quot;;
TStringList *dat = new TStringList();
dat-&gt;LoadFromFile(&quot;test.txt&quot;);
for (int i = 0; i &lt; dat-&gt;Count; i++)
  NeuerText += dat-&gt;Strings[i];
dat-&gt;Clear();
for (int i = 1; i &lt;= NeuerText.Length(); i++)
{
  if (NeuerText[i] == '#')
  {
    dat-&gt;Add(Zeile);
    Zeile = &quot;&quot;;
  }  // if (NeuerText[i] == '#')
  else
    Zeile += NeuerText[i];
}  // for (int i = 1; i &lt;= NeuerText.Length(); i++)
//Anzahl der Rows berechnen (Anzahl Einträge in Liste / 2 Spalten)
StringGrid1-&gt;RowCount = dat-&gt;Count / 2;
//Daten ins Grid schreiben
for(int i = 0; i &lt; dat-&gt;Count - 1; i += 2)
{
  StringGrid1-&gt;Cells[0][i/2]=dat-&gt;Strings [i];
  StringGrid1-&gt;Cells[1][i/2]=dat-&gt;Strings [i+1];
}  // for(int i = 0; i &lt; dat-&gt;Count - 1; i += 2)
dat-&gt;SaveToFile(ExtractFilePath(Application-&gt;ExeName) + &quot;neu.txt&quot;);
if (dat != NULL)
{
  dat-&gt;Clear();
  delete dat;
  dat = NULL;
}  // if (dat != NULL)
</code></pre>
<p>Nash</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1325858</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1325858</guid><dc:creator><![CDATA[Nash]]></dc:creator><pubDate>Sun, 15 Jul 2007 13:35:50 GMT</pubDate></item><item><title><![CDATA[Reply to Programm unglaublich langsam on Mon, 16 Jul 2007 05:21:38 GMT]]></title><description><![CDATA[<p>danke, jetzt ist der code schell genug.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1326238</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1326238</guid><dc:creator><![CDATA[Filbert]]></dc:creator><pubDate>Mon, 16 Jul 2007 05:21:38 GMT</pubDate></item></channel></rss>