<?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[frage zu ansistring.printf]]></title><description><![CDATA[<p>Ich habe ein problem mit der ptintf funktion im AnsiString</p>
<p>also ich lese aus einer Ini den zu formartierenden String aus<br />
Beispiel : Text=Beispiltext mit einem String %s und einem Integer %d</p>
<p>diesen speichere ich in einem AnsiString</p>
<pre><code>AnsiString IniText = ini-&gt;ReadString(&quot;text&quot;, &quot;text&quot;, &quot;&quot;);
</code></pre>
<p>jetzt will ich natürlich noch die werte einsetzen</p>
<pre><code class="language-cpp">AnsiString formattext;
int zahl=10;
AnsiString Message=&quot;Nur ein String&quot;;

formattext.printf(IniText.c_str(), Message, Zahl);
</code></pre>
<p>Ich bekomme zwar keinen Fehler aber in formattext bleibt der Text unverändert also genauso wie er in der ini steht.</p>
<p>Kann mir jemand sagen wie ich es hinbekomme die Werte in den Text zu bekommen ?</p>
<p>Der hintergrund warum ich den Text nicht direkt angebe ist das mein Programm Multilingual werden soll und die Ini dann einfach nur übersetz wird und das Programm die texte auslesen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/113656/frage-zu-ansistring-printf</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Jul 2026 09:30:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/113656.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 25 Jun 2005 08:47:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to frage zu ansistring.printf on Sat, 25 Jun 2005 08:47:25 GMT]]></title><description><![CDATA[<p>Ich habe ein problem mit der ptintf funktion im AnsiString</p>
<p>also ich lese aus einer Ini den zu formartierenden String aus<br />
Beispiel : Text=Beispiltext mit einem String %s und einem Integer %d</p>
<p>diesen speichere ich in einem AnsiString</p>
<pre><code>AnsiString IniText = ini-&gt;ReadString(&quot;text&quot;, &quot;text&quot;, &quot;&quot;);
</code></pre>
<p>jetzt will ich natürlich noch die werte einsetzen</p>
<pre><code class="language-cpp">AnsiString formattext;
int zahl=10;
AnsiString Message=&quot;Nur ein String&quot;;

formattext.printf(IniText.c_str(), Message, Zahl);
</code></pre>
<p>Ich bekomme zwar keinen Fehler aber in formattext bleibt der Text unverändert also genauso wie er in der ini steht.</p>
<p>Kann mir jemand sagen wie ich es hinbekomme die Werte in den Text zu bekommen ?</p>
<p>Der hintergrund warum ich den Text nicht direkt angebe ist das mein Programm Multilingual werden soll und die Ini dann einfach nur übersetz wird und das Programm die texte auslesen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/816836</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/816836</guid><dc:creator><![CDATA[Fox-Alpha]]></dc:creator><pubDate>Sat, 25 Jun 2005 08:47:25 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu ansistring.printf on Sat, 25 Jun 2005 09:26:17 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">String str;
str.printf(&quot;%s %d&quot;, &quot;bla&quot;, 55);
Caption = str;
</code></pre>
<p>Funktioniert einwandfrei. Bist du sicher, dass du in <em>IniText</em> tatsächlich die (korrekten) Formatanweisungen stehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/816855</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/816855</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Sat, 25 Jun 2005 09:26:17 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu ansistring.printf on Sat, 25 Jun 2005 10:05:18 GMT]]></title><description><![CDATA[<p>Wenn ich es genauso schreibe wie Du, also die Formatanweisung direkt im Funktionsaufruf</p>
<pre><code>AnsiString str;
str.printf(&quot;bla %s bla %d&quot;, text, integer);
</code></pre>
<p>Funktioniert es ja auch.</p>
<p>Aber wie oben bereits geschrieben. Lese ich den Formatstring aus meiner Ini aus, und ja ich bin mir sicher die <strong>richtigen</strong> Formatanweisungen benutzt zu haben. (%s oder %d)</p>
<p>Wenn ich aber den ausgelesenen String bzw die Variable mit dem String als Formatstring angebe</p>
<pre><code class="language-cpp">AnsiString str, text;

...
text=ini-&gt;ReadString(&quot;bla&quot;, &quot;blabla&quot;, &quot;&quot;);
//dies ist ein Text mit %s und einer Zahl %d
...
str.printf(text.c_str(),nachricht, integer);
</code></pre>
<p>dann gehts nicht mehr.</p>
<p>Ich muss den String einlesen da er ja wie erwähnt zur lokalisierung dienen soll.<br />
Wäre ja blöde wenn die Anwendung in Englisch ist und der Text in der EMail die ich aus dem Programm öffnen kann in deutsch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/816878</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/816878</guid><dc:creator><![CDATA[Fox-Alpha]]></dc:creator><pubDate>Sat, 25 Jun 2005 10:05:18 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu ansistring.printf on Sat, 25 Jun 2005 10:07:51 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">String format = &quot;%s %d&quot;;
String txt = &quot;bla&quot;;
int zahl = 43;
String str;
str.printf(format.c_str(), txt, zahl);
Caption = str;
</code></pre>
<p>Funktioniert genauso. Ich variiere meine Frage mal: hast du <strong>kontrolliert</strong>, dass in <em>IniText</em> tatsächlich die (korrekten) Formatanweisungen stehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/816889</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/816889</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Sat, 25 Jun 2005 10:07:51 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu ansistring.printf on Sat, 25 Jun 2005 10:20:06 GMT]]></title><description><![CDATA[<p>Ja ich habe gerade selber nochmal einwenig meine Funktion variiert und mal nicht meinen originalen String verwendet.</p>
<p>Mit ist aufgefallen das ich in richtigen String noch %0A benutze.<br />
%0A bewirkt im email Body einen Zeilenumbruch. Ich denke einfach mal das es damit zusammen hängt da printf diese wohl interpretiert und nicht die richtigen werte eintragen kann.</p>
<p>Ich müsste also in der ini ein anderes Zeichen als Zeilenumbruch einfügen. Diese denn ausparsen und anschliessend mit dem Umbruch ersetzen.</p>
<p>Ich nutze für den Mail aufruf : ShellExecute. Mit einem normalen Umbruch \r\n hat es nicht geklappt und %0A steht im Html als umbruch.</p>
<p>Ich muss sowieso nochmal schauen wie ich in der Ini einen Umbruch einfügen kann. Dort speichere ich z.B. auch Fehlermeldungen für die Übersetzungen ab. Allerdings wird ein \r\n in einer ShowMessage dargestellt und nicht als Umbruch interpretiert. Kommt wohl daher das ReadString ein \r\n mit einem Escape versieht und als Darzustellende Zeichen ansieht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/816900</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/816900</guid><dc:creator><![CDATA[Fox-Alpha]]></dc:creator><pubDate>Sat, 25 Jun 2005 10:20:06 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu ansistring.printf on Sat, 25 Jun 2005 10:41:45 GMT]]></title><description><![CDATA[<p>Hast du jetzt nur laut gedacht oder wolltest du uns etwas mitteilen oder fragen?<br />
Denn so richtig Sinn macht dein letzter Beitrag zumindest für Aussenstehende nicht. <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/816913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/816913</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Sat, 25 Jun 2005 10:41:45 GMT</pubDate></item></channel></rss>