<?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[Mein explodeSP() (explode bei space) macht Blödsinn]]></title><description><![CDATA[<p>Hallo. Aufgrund der ziemlich enttäuschenden Suchen im Netz nach nützlichen String-Funktionen habe ich leider keine explode und split funktion gefunden wie man sie von php und javascript kennt. Nun dann musste halt eine eigene Funktion her... Leider funktioniert sie bisher noch nicht wie gwünscht. Ihr könnt ja mal nen Blick drauf werfen. Das Problem liegt wahrscheinlich bei meinen Angaben in SubString. Manchmal bekomme ich ergebnisse wie huhu[1] =&gt;&quot;lo du&quot; anstatt huhu[0] =&gt; &quot;hallo&quot;, huhu[1] =&gt; &quot;du&quot;;</p>
<pre><code>String explodeSP(AnsiString source)
{
AnsiString buffer = &quot;&quot;;
AnsiString strRet = &quot;&quot;;

int a = 0;
int b = 0;
    while(a = source.Pos(' '))
    {
      buffer = source.SubString(b,a-1);
      source = source.Delete(1,a);
      strRet = QuotedStr(buffer)+&quot;,&quot;;
    }
strRet += QuotedStr(source);
return strRet;
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
 AnsiString moep = Form1-&gt;Edit1-&gt;Text;

moep = explodeSP(moep);

AnsiString huhu[] = { moep };

MessageDlg(&quot;Das array enthält:&quot; + huhu[0], mtInformation, TMsgDlgButtons() &lt;&lt; mbOK, 0);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/137417/mein-explodesp-explode-bei-space-macht-blödsinn</link><generator>RSS for Node</generator><lastBuildDate>Sun, 02 Aug 2026 08:35:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/137417.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 17 Feb 2006 10:17:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mein explodeSP() (explode bei space) macht Blödsinn on Fri, 17 Feb 2006 10:18:59 GMT]]></title><description><![CDATA[<p>Hallo. Aufgrund der ziemlich enttäuschenden Suchen im Netz nach nützlichen String-Funktionen habe ich leider keine explode und split funktion gefunden wie man sie von php und javascript kennt. Nun dann musste halt eine eigene Funktion her... Leider funktioniert sie bisher noch nicht wie gwünscht. Ihr könnt ja mal nen Blick drauf werfen. Das Problem liegt wahrscheinlich bei meinen Angaben in SubString. Manchmal bekomme ich ergebnisse wie huhu[1] =&gt;&quot;lo du&quot; anstatt huhu[0] =&gt; &quot;hallo&quot;, huhu[1] =&gt; &quot;du&quot;;</p>
<pre><code>String explodeSP(AnsiString source)
{
AnsiString buffer = &quot;&quot;;
AnsiString strRet = &quot;&quot;;

int a = 0;
int b = 0;
    while(a = source.Pos(' '))
    {
      buffer = source.SubString(b,a-1);
      source = source.Delete(1,a);
      strRet = QuotedStr(buffer)+&quot;,&quot;;
    }
strRet += QuotedStr(source);
return strRet;
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
 AnsiString moep = Form1-&gt;Edit1-&gt;Text;

moep = explodeSP(moep);

AnsiString huhu[] = { moep };

MessageDlg(&quot;Das array enthält:&quot; + huhu[0], mtInformation, TMsgDlgButtons() &lt;&lt; mbOK, 0);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/996515</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/996515</guid><dc:creator><![CDATA[Oklino]]></dc:creator><pubDate>Fri, 17 Feb 2006 10:18:59 GMT</pubDate></item><item><title><![CDATA[Reply to Mein explodeSP() (explode bei space) macht Blödsinn on Fri, 17 Feb 2006 11:02:35 GMT]]></title><description><![CDATA[<p>Was ist an der von mir geposteten Lösung nicht ok??</p>
<p>Du solltest dich mal mit der Klasse AnsiString (String) und TStringList beschäftigen.<br />
Es gibt nicht die Möglichkeit ein Array von Strings als AnsiString[] anzulegen. Der Operator [] gibt in AnsiString<br />
das Zeichen an der Stelle des Strings zurück. Darum wird deine angedachte Lösung nie laufen.<br />
Dazu gibt es TSTringList. Dies ist eine Liste von Strings. Und was glaubst du, warum die in meinem Beispiel benutzt wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/996524</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/996524</guid><dc:creator><![CDATA[Christian211]]></dc:creator><pubDate>Fri, 17 Feb 2006 11:02:35 GMT</pubDate></item><item><title><![CDATA[Reply to Mein explodeSP() (explode bei space) macht Blödsinn on Fri, 17 Feb 2006 11:36:29 GMT]]></title><description><![CDATA[<p>nun weißt du ich habe ja erwähnt, dass ich selbst die einfache explode funktion aus dem anderen beitrag nicht wirklich gleich durchblickt habe.</p>
<p>Ich - bin - neu - im - BCB (und habe lediglich Grundkenntnisse über primitive Konsolenanwenundungen unter VS)</p>
<p>Das heißt wenn mir eine vorgefertigte Funktion vorliegt, du nur den link postest und ich mithilfe der BCB-Hilfe jede 2. Zeile zerpflücken und erklären muss(weil ich nicht nur einbauen sondern auch verstehen will), dann is das wirklich nicht sehr motivationsfördernd. Natürlich stößt man öfter auf derartige Probleme aber ich habe auch noch Erwartungen in einer gewissen Zeit zu erfüllen. D.h. ich habe einfach versucht die Problemstellung schnellstmöglich mit den mir gegebenen Mitteln zu lösen.</p>
<p>Naja was ich übrigens auch nicht verstehe ist, wenn ich den AnsiString wie in dem code oben fülle, dass mir unter [0] z.B. &quot;Hallo&quot; ausgegeben wird wenn jeder index ein zeichen ist... <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/996555</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/996555</guid><dc:creator><![CDATA[Oklino]]></dc:creator><pubDate>Fri, 17 Feb 2006 11:36:29 GMT</pubDate></item><item><title><![CDATA[Reply to Mein explodeSP() (explode bei space) macht Blödsinn on Fri, 17 Feb 2006 12:19:30 GMT]]></title><description><![CDATA[<p>Oklino schrieb:</p>
<blockquote>
<p>Das heißt wenn mir eine vorgefertigte Funktion vorliegt, du nur den link postest und ich mithilfe der BCB-Hilfe jede 2. Zeile zerpflücken und erklären muss(weil ich nicht nur einbauen sondern auch verstehen will), dann is das wirklich nicht sehr motivationsfördernd.</p>
</blockquote>
<p>Niemand hat behauptet das C++ und / oder die VCL einfach ist / sind. Am Anfang ist es nunmal so, dass aus jeder Antwort 15 neue Fragen entstehen. Da muß man sich eben durchbeißen...</p>
<p>Oklino schrieb:</p>
<blockquote>
<p>Naja was ich übrigens auch nicht verstehe ist, wenn ich den AnsiString wie in dem code oben fülle, dass mir unter [0] z.B. &quot;Hallo&quot; ausgegeben wird wenn jeder index ein zeichen ist... <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>
</blockquote>
<p>Das geht eben ÜBERHAUPT NICHT. Da eben nur ein einzelnes Zeichen darin gespeichert werden kann! Unglücklicherweise steht in AnsiString[0] auch noch die Länge des Strings. Grundsätzlich ist dies Feld also nicht verwendbar.</p>
<p><div class="plugin-markdown"><input type="checkbox" id="checkbox13524" checked="true" /><label for="checkbox13524">jeweils auch nur ein einziges Zeichen unterbringen und keine kompletten Strings.</label></div></p>
]]></description><link>https://www.c-plusplus.net/forum/post/996598</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/996598</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 17 Feb 2006 12:19:30 GMT</pubDate></item><item><title><![CDATA[Reply to Mein explodeSP() (explode bei space) macht Blödsinn on Fri, 17 Feb 2006 12:21:46 GMT]]></title><description><![CDATA[<p>Christian211 schrieb:</p>
<blockquote>
<p>Es gibt nicht die Möglichkeit ein Array von Strings als AnsiString[] anzulegen.</p>
</blockquote>
<p>Wieso nicht?</p>
<pre><code class="language-cpp">AnsiString moep(&quot;Hallo&quot;);
AnsiString huhu[] = { moep };
</code></pre>
<p>legt ein statisches Array von AnsiStrings der Länge 1 an. Also liegt in huhu[0] der String &quot;Hallo&quot;. Auf das erste Zeichen greift man dann mit huhu[0][1] zu (hier &quot;H&quot;).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/996606</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/996606</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 17 Feb 2006 12:21:46 GMT</pubDate></item><item><title><![CDATA[Reply to Mein explodeSP() (explode bei space) macht Blödsinn on Fri, 17 Feb 2006 12:33:16 GMT]]></title><description><![CDATA[<p>Naja, da ist die Verwendung von TStringList doch einfacher und vor allem weniger empfindlich, was Logikfehler betrifft... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/996625</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/996625</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 17 Feb 2006 12:33:16 GMT</pubDate></item><item><title><![CDATA[Reply to Mein explodeSP() (explode bei space) macht Blödsinn on Fri, 17 Feb 2006 12:37:36 GMT]]></title><description><![CDATA[<p>Dagegen sagt ja keiner was. Ich wollte nur Christian widersprechen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Wobei ich STL-Klassen bevorzuge wenn TStringList nicht unbedingt benötigt wird. Einfach weil die eine ähnliche Funktionalität anbieten, man aber nicht unbedingt einen Pointer braucht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/996631</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/996631</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 17 Feb 2006 12:37:36 GMT</pubDate></item><item><title><![CDATA[Reply to Mein explodeSP() (explode bei space) macht Blödsinn on Fri, 17 Feb 2006 12:40:46 GMT]]></title><description><![CDATA[<pre><code>Ich wollte nur Christian widersprechen
</code></pre>
<p>Tja, dass war/ist mir neu -&gt; habe das auch allerdings nie probiert, da ja TStringList vohanden ist</p>
]]></description><link>https://www.c-plusplus.net/forum/post/996637</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/996637</guid><dc:creator><![CDATA[Christian211]]></dc:creator><pubDate>Fri, 17 Feb 2006 12:40:46 GMT</pubDate></item><item><title><![CDATA[Reply to Mein explodeSP() (explode bei space) macht Blödsinn on Fri, 17 Feb 2006 13:39:31 GMT]]></title><description><![CDATA[<p>guck doch in den quellcode von php und schau wie es dort gemacht wird... <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/996721</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/996721</guid><dc:creator><![CDATA[Sunday]]></dc:creator><pubDate>Fri, 17 Feb 2006 13:39:31 GMT</pubDate></item><item><title><![CDATA[Reply to Mein explodeSP() (explode bei space) macht Blödsinn on Fri, 17 Feb 2006 17:37:59 GMT]]></title><description><![CDATA[<p>Wenn TStringList (und BCB6), dann lässt sich sowas ganz gut mit <em>Delimiter</em> und <em>DelimitedText</em> erledigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/996892</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/996892</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Fri, 17 Feb 2006 17:37:59 GMT</pubDate></item><item><title><![CDATA[Reply to Mein explodeSP() (explode bei space) macht Blödsinn on Fri, 17 Feb 2006 18:40:13 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>Christian211 schrieb:</p>
<blockquote>
<p>Es gibt nicht die Möglichkeit ein Array von Strings als AnsiString[] anzulegen.</p>
</blockquote>
<p>Wieso nicht?</p>
<pre><code class="language-cpp">AnsiString moep(&quot;Hallo&quot;);
AnsiString huhu[] = { moep };
</code></pre>
<p>legt ein statisches Array von AnsiStrings der Länge 1 an. Also liegt in huhu[0] der String &quot;Hallo&quot;. Auf das erste Zeichen greift man dann mit huhu[0][1] zu (hier &quot;H&quot;).</p>
</blockquote>
<p>Also ich danke erstmal all den vielen die geantwortet haben. Was ich noch hinzufügen will, ist, dass ich auf meiner jetzt ja als falsch erkannten Idee mit AnsiString erst beharrte weil ich nach der eingabe von &quot;Hallo ich bin text&quot;</p>
<p>huhu[0] =&gt; &quot;Hallo&quot;<br />
huhu[1] =&gt; &quot;o ic&quot;<br />
usw. bekommen habe. GAAAAANZ ehrlich <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>Werde aber jetzt die TStringList Variante ausprobieren. Achso in der BCB-Hilfe - die mich immer wieder begeistert, bin ich wieder auf ein Verständnisproblem meinerseits gestoßen.... die einzelnen Strings... findet man die dann unter</p>
<p>strList-&gt;Values[0]<br />
usw. ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/996924</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/996924</guid><dc:creator><![CDATA[Oklino]]></dc:creator><pubDate>Fri, 17 Feb 2006 18:40:13 GMT</pubDate></item><item><title><![CDATA[Reply to Mein explodeSP() (explode bei space) macht Blödsinn on Fri, 17 Feb 2006 18:47:13 GMT]]></title><description><![CDATA[<p>unter</p>
<p>strList-&gt;Strings[0];</p>
]]></description><link>https://www.c-plusplus.net/forum/post/996930</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/996930</guid><dc:creator><![CDATA[Christian211]]></dc:creator><pubDate>Fri, 17 Feb 2006 18:47:13 GMT</pubDate></item><item><title><![CDATA[Reply to Mein explodeSP() (explode bei space) macht Blödsinn on Sat, 18 Feb 2006 17:23:39 GMT]]></title><description><![CDATA[<p>Dann senfe ich hier auch mal was rein.<br />
Ich habe soetwas neulich auch benötigt, allerdings wird bei mir beim trennzeichen &quot;|&quot; getrennt, und nicht beim leerzeichen.</p>
<pre><code>String s= &quot;ich|bin|ein|String&quot;;
      int durchlauf = 1, akt_pos = 0;
      String s_neu[100];

      while (durchlauf &lt;= s.Length())
      {
           if ((String)s[durchlauf] == (String)&quot;|&quot;)
           {
              akt_pos++;
              durchlauf++;
            }
            else
            {
              s_neu[akt_pos] +=s[durchlauf];
              durchlauf++;
            }
      }
</code></pre>
<p>damit bekommt man dann:<br />
s_neu[0]: &quot;ich&quot;<br />
s_neu[1]: &quot;bin&quot;<br />
s_neu[2]: &quot;ein&quot;<br />
s_neu[3]: &quot;String&quot;</p>
<p>mfg<br />
Raimond</p>
]]></description><link>https://www.c-plusplus.net/forum/post/997379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/997379</guid><dc:creator><![CDATA[raimond]]></dc:creator><pubDate>Sat, 18 Feb 2006 17:23:39 GMT</pubDate></item><item><title><![CDATA[Reply to Mein explodeSP() (explode bei space) macht Blödsinn on Mon, 20 Feb 2006 12:11:55 GMT]]></title><description><![CDATA[<p>Oklino schrieb:</p>
<blockquote>
<p>Was ich noch hinzufügen will, ist, dass ich auf meiner jetzt ja als falsch erkannten Idee mit AnsiString erst beharrte weil ich nach der eingabe von &quot;Hallo ich bin text&quot;</p>
<p>huhu[0] =&gt; &quot;Hallo&quot;<br />
huhu[1] =&gt; &quot;o ic&quot;<br />
usw. bekommen habe. GAAAAANZ ehrlich <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>
</blockquote>
<p>Das ist auch weiter nicht verwunderlich. huhu[1] zeigt auf irgendeine Speicherstelle und da steht natürlich auch irgendwas (mit Betonung auf &quot;irgendwas&quot;). Du darfst diesen index aber nicht verwenden da dein Array nur die Größe 1 hat und ein Zugriff auf diesen Index undefiniertes Verhalten erzeugt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/998486</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/998486</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Mon, 20 Feb 2006 12:11:55 GMT</pubDate></item></channel></rss>