<?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[TStringList Array an Methode übergeben?]]></title><description><![CDATA[<p>Hello Again,</p>
<p>Hab mal einen Allgemeine Frage:</p>
<p>Ich hab eine TStringList-Array (hier: SuchListe) , das wollte ich an einen Funktion &quot;Suchen&quot; übergeben,<br />
damit diese darauf zugreifen kann, und die gefunden Treffer, in die SuchListe eintragen kann.</p>
<p>Sobald er aus der Funktion zurückkommt, möchte ich gerne mit der SuchListe und den gefunden Einträgen arbeiten.</p>
<p>Mom. sieht das ungefähr so aus:</p>
<pre><code class="language-cpp">TStringList* SuchListe[4];
  for(int i3=0; i3&lt;4; i3++) SuchListe[i3] = new TTntStringList();

  Suchen(SuchListe,&quot;Bla&quot;);

  // Werte aus SuchListe anzeigen oder so..  :D
</code></pre>
<p>Nach langen probieren habe ich herausgefunden, wie ich das TStringList-Array an die Funktion übergeben muss:</p>
<pre><code class="language-cpp">void Suchen(TStringList **templist){
 //Suchen
 }
</code></pre>
<p>Meine Frage: Ist das korrekt so, und wenn ja warum zwei Sterne in der Parameterliste?</p>
<p>Ahoy Netzcowboy</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/121287/tstringlist-array-an-methode-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Tue, 11 Aug 2026 05:17:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/121287.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 21 Sep 2005 19:06:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to TStringList Array an Methode übergeben? on Wed, 21 Sep 2005 19:06:20 GMT]]></title><description><![CDATA[<p>Hello Again,</p>
<p>Hab mal einen Allgemeine Frage:</p>
<p>Ich hab eine TStringList-Array (hier: SuchListe) , das wollte ich an einen Funktion &quot;Suchen&quot; übergeben,<br />
damit diese darauf zugreifen kann, und die gefunden Treffer, in die SuchListe eintragen kann.</p>
<p>Sobald er aus der Funktion zurückkommt, möchte ich gerne mit der SuchListe und den gefunden Einträgen arbeiten.</p>
<p>Mom. sieht das ungefähr so aus:</p>
<pre><code class="language-cpp">TStringList* SuchListe[4];
  for(int i3=0; i3&lt;4; i3++) SuchListe[i3] = new TTntStringList();

  Suchen(SuchListe,&quot;Bla&quot;);

  // Werte aus SuchListe anzeigen oder so..  :D
</code></pre>
<p>Nach langen probieren habe ich herausgefunden, wie ich das TStringList-Array an die Funktion übergeben muss:</p>
<pre><code class="language-cpp">void Suchen(TStringList **templist){
 //Suchen
 }
</code></pre>
<p>Meine Frage: Ist das korrekt so, und wenn ja warum zwei Sterne in der Parameterliste?</p>
<p>Ahoy Netzcowboy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/877360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/877360</guid><dc:creator><![CDATA[Netzcowboy]]></dc:creator><pubDate>Wed, 21 Sep 2005 19:06:20 GMT</pubDate></item><item><title><![CDATA[Reply to TStringList Array an Methode übergeben? on Wed, 21 Sep 2005 19:19:03 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>ganz einfach, weil du ein Array von TStringList hast. C-Arrays sind auch nur Listen von aufeinanderfolgenden Speicheradressen, die mit einem Pointer dargestellt werden können. du kannst also auch schreiben</p>
<pre><code class="language-cpp">void Suchen(TStringList *templist[], int Count){
 // Count = Anzahl Elemente im Array
 }
</code></pre>
<p>Allerdings würde ich dir lieber zu einem höherwertigem Container raten, wie std::vector oder DynamicArray. Die sind wesentlich besser zu handhaben. Und du kannst die ganz einfach per referenz übergeben.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/877364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/877364</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 21 Sep 2005 19:19:03 GMT</pubDate></item><item><title><![CDATA[Reply to TStringList Array an Methode übergeben? on Wed, 21 Sep 2005 19:35:07 GMT]]></title><description><![CDATA[<p>Danke akari!</p>
<p>Ich less mir mal ein bisschen dazu durch.<br />
Was würdest du persönlich empfehlen?<br />
Mom. speichere ich WideStrings in der StringList, geht das mit std::vector bzw. DynamicArray auch?</p>
<p>Ahoy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/877377</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/877377</guid><dc:creator><![CDATA[Netzcowboy]]></dc:creator><pubDate>Wed, 21 Sep 2005 19:35:07 GMT</pubDate></item><item><title><![CDATA[Reply to TStringList Array an Methode übergeben? on Wed, 21 Sep 2005 19:47:54 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>sicher geht das mit vector und DynamicArray auf. Da beides Templates sind, kannst du (fast) jeden Typ damit verwenden.<br />
Ich dachte aber eigentlich den Container als Ersatz für das C-Array, mit TStringList als Typ.</p>
<p>Das kommt aber darauf an, ob du wirklich eine zweifach verschachtelte Verwaltung brauchst.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/877387</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/877387</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 21 Sep 2005 19:47:54 GMT</pubDate></item><item><title><![CDATA[Reply to TStringList Array an Methode übergeben? on Thu, 22 Sep 2005 17:47:51 GMT]]></title><description><![CDATA[<p>So mit dem Dynamischen Array funktioniert eigentlich ganz gut.</p>
<p>Falls jemand noch einen guten Tipp hat, wo man mehr darüber lesen kann, als in der BCB Hilfe... her damit <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>Weil ich mich gerade frage, wie lösch ich mein DynamicArray wieder aus dem Speicher?</p>
<p>Folgender Quellcode:</p>
<pre><code>DynamicArray&lt;TTntStringList*&gt; SuchListe;
  SuchListe.set_length(4);
  for(int i3=0; i3&lt;SuchListe.Length; i3++) SuchListe[i3] = new TTntStringList();

  // usw...

  delete SuchListe;
</code></pre>
<p>geht leider nicht ...</p>
<p>Ahoy Netzcowboy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/878059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878059</guid><dc:creator><![CDATA[Netzcowboy]]></dc:creator><pubDate>Thu, 22 Sep 2005 17:47:51 GMT</pubDate></item><item><title><![CDATA[Reply to TStringList Array an Methode übergeben? on Thu, 22 Sep 2005 18:18:03 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>das DynamicArray selber must du nicht löschen.<br />
du must aber die in dem Array angelegten Instanzen selber löschen.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/878081</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878081</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 22 Sep 2005 18:18:03 GMT</pubDate></item><item><title><![CDATA[Reply to TStringList Array an Methode übergeben? on Sun, 24 Sep 2006 14:03:28 GMT]]></title><description><![CDATA[<pre><code>[cpp]
typedef DynamicArray&lt;TStringList*&gt; SL;
DynamicArray&lt;SL&gt; aSL;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
SL Test;
Test.Length = 2;
for (int i = 0;i&lt;2;i++)
  {
  Test[i] = new TStringList;
  for (int j=0;j&lt;10;j++)
  Test[i]-&gt;Add(IntToStr(i)+&quot;-&gt;&quot;+IntToStr(j));
  }
aSL.Length=2;
aSL[0] = Test;
aSL[1] = Test;
Memo1-&gt;Text = aSL[0][0]-&gt;Text;
Memo1-&gt;Text = Memo1-&gt;Text+aSL[1][1]-&gt;Text;
}
[/cpp]
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1143456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1143456</guid><dc:creator><![CDATA[Hawkin]]></dc:creator><pubDate>Sun, 24 Sep 2006 14:03:28 GMT</pubDate></item><item><title><![CDATA[Reply to TStringList Array an Methode übergeben? on Sun, 24 Sep 2006 15:20:56 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>mir persönlich gefällt folgende Zeile nicht:</p>
<pre><code class="language-cpp">//SuchListe.set_length(4); 
  SuchListe.Length=4; //würde ich so machen.
</code></pre>
<p>Mal abgesehen davon würde ich es so machen:::<br />
unit1.h</p>
<pre><code class="language-cpp">private:
     typdef struct{ TStringList *hallo;
                  } LIST;
     DaynamicArray&lt;LIST&gt; SuchListe;
     void machwas(DynamicArray&lt;LIST&gt; &amp;liste);
     void loscheList(DynamicArray&lt;LIST &amp;liste);//muss auf jedenfall auch in TForm1::Dystroy(...) aufgerufen werden
</code></pre>
<p>unit1.cpp</p>
<pre><code class="language-cpp">void _fastcall TForm1::Button1Click(TObjekt *Sender)
{
 //Instanzieren 
 SuchListe.Length=4;
 for(int i=0; i&lt;SuchListe.Length; i++)
  {SuchListe[i].hallo=new TStringList();
  }

 machwas(SuchListe);
 loscheList(SuchListe);
} 
//-------------------------------------

void TForm1::machwas(DynamicArray&lt;LIST&gt; &amp;liste)
{for(int i=0; i&lt;liste.Length; i++)
  liste[i].hallo-&gt;Add(&quot;dlonra  = arnold&quot;);
}
//-------------------------------------

void TForm1::loscheList(DynamicArray&lt;LIST&gt; &amp;liste) 
{
 //löschen, kommplett aus dem Speicher

 for(int i=0; i&lt;liste.Length; i++)  
  {liste[i].hallo-&gt;Clear();  //sicher ist sicher :-)
   delete liste[i].hallo;
  }
 liste.Length=0; //der SuchListezeiger existiert noch zeigt aber auf Null, also Anfangszustand
}
//-------------------------------------
</code></pre>
<p>das Beispiel arbeitet mit einem <strong>eindimensionallen Array</strong> !!!!!!!!</p>
<p>Möchtest du ein <strong>2 dimensionales Array</strong>...</p>
<pre><code class="language-cpp">DynamicArray&lt; DynamicArray &lt;LIST&gt;&gt; SuchListe;

//die for-Schleifen sehen dann so aus:

for(int y=0; y&lt;SuchListe.Length; y++)
 {for(int x=0; y&lt;SuchList[y].Length; x++)
   {SuchList[y][x].hallo-&gt;Add(&quot;dlonra = arnold&quot;);
 } }

//Der Funktionsrumpf sieht dann so aus
//void machwas(DynamicArray &lt; DynamicArray &lt;LIST&gt;&gt; &amp;liste)
</code></pre>
<p>Grüsse</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1143470</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1143470</guid><dc:creator><![CDATA[dlonra]]></dc:creator><pubDate>Sun, 24 Sep 2006 15:20:56 GMT</pubDate></item></channel></rss>