<?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[AnsiString Zuweisung]]></title><description><![CDATA[<p>Hi,<br />
ich steh hier irgendwie auf den Schlauch.<br />
Ich habe 2 Ansi Strings. In den einem speichere ich ein alten Wert<br />
und vergleiche ihn mit einem anderem Wert.<br />
Wenn beide gleich sind soll nix passieren, bei ungleich<br />
soll der alte auf den neuen Wert gesetzt werden.</p>
<p>dachte das wär mal schnell gemacht und habe das hier ausprobiert:<br />
FensterTitel und Titel alt sind beide AnsiStrings.</p>
<pre><code>if(FensterTitel != TitelAlt)
 {  
    TitelAlt = FensterTitel;
 }
</code></pre>
<p>das hat aber mal gar nicht funktioniert, weil immer in die schleife<br />
gelaufen wird.</p>
<p>nach vielen rumprobieren bin ich jetzt auf das gekommen, was auch funktioniert:</p>
<pre><code>if (TitelAlt.AnsiCompare(FensterTitel.c_str())!=0)
 {
    TitelAlt.Delete(1,TitelAlt.Length());
    TitelAlt.Insert(FensterTitel.c_str(),1);
 }
</code></pre>
<p>Finde ich allerdings ganz schön umständlich.<br />
Wäre nett wenn mir irgendwer Tipps zur Optimierung geben könnte.</p>
<p>Danke<br />
Cool Hand</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/106410/ansistring-zuweisung</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Jul 2026 00:10:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/106410.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 09 Apr 2005 16:17:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to AnsiString Zuweisung on Sat, 09 Apr 2005 16:17:53 GMT]]></title><description><![CDATA[<p>Hi,<br />
ich steh hier irgendwie auf den Schlauch.<br />
Ich habe 2 Ansi Strings. In den einem speichere ich ein alten Wert<br />
und vergleiche ihn mit einem anderem Wert.<br />
Wenn beide gleich sind soll nix passieren, bei ungleich<br />
soll der alte auf den neuen Wert gesetzt werden.</p>
<p>dachte das wär mal schnell gemacht und habe das hier ausprobiert:<br />
FensterTitel und Titel alt sind beide AnsiStrings.</p>
<pre><code>if(FensterTitel != TitelAlt)
 {  
    TitelAlt = FensterTitel;
 }
</code></pre>
<p>das hat aber mal gar nicht funktioniert, weil immer in die schleife<br />
gelaufen wird.</p>
<p>nach vielen rumprobieren bin ich jetzt auf das gekommen, was auch funktioniert:</p>
<pre><code>if (TitelAlt.AnsiCompare(FensterTitel.c_str())!=0)
 {
    TitelAlt.Delete(1,TitelAlt.Length());
    TitelAlt.Insert(FensterTitel.c_str(),1);
 }
</code></pre>
<p>Finde ich allerdings ganz schön umständlich.<br />
Wäre nett wenn mir irgendwer Tipps zur Optimierung geben könnte.</p>
<p>Danke<br />
Cool Hand</p>
]]></description><link>https://www.c-plusplus.net/forum/post/763080</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/763080</guid><dc:creator><![CDATA[Cool Hand]]></dc:creator><pubDate>Sat, 09 Apr 2005 16:17:53 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString Zuweisung on Sat, 09 Apr 2005 17:06:09 GMT]]></title><description><![CDATA[<p>Dein erster Code sollte sehr gut funktionieren. Entweder liegt dein Fehler in dem umgebenden Code darum oder du hast uns nicht alle Informationen gegeben um das Problem zu lösen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/763110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/763110</guid><dc:creator><![CDATA[Dasd]]></dc:creator><pubDate>Sat, 09 Apr 2005 17:06:09 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString Zuweisung on Sat, 09 Apr 2005 17:40:51 GMT]]></title><description><![CDATA[<p>Tja ich war auch der Meinung das das geht.</p>
<p>ich habe TitelAlt als globale Variable und hole mir<br />
FensterTitel jedesmal bei OnTimer</p>
<pre><code>void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
 AnsiString FensterTitel;

 hwnd = FindWindow(&quot;Winamp v1.x&quot;,NULL);
 GetWindowText(hwnd, FensterTitel.c_str(), 100);

 if(FensterTitel != TitelAlt)
 {  
     TitelAlt = FensterTitel;
 }

 Label7-&gt;Caption = TitelAlt.c_str();
 Label8-&gt;Caption = FensterTitel.c_str();
}
</code></pre>
<p>In die if Abfrage läuft er einmal am Anfang rein. Danach nicht mehr.<br />
Wenn sich jetzt der FensterTitel ändert hat TitelAlt auch sofort den neuen<br />
Wert, ohne das die if Abfrage durchlaufen wird.</p>
<p>Muss ich die Zuweisung TitelAlt = FensterTitel anders machen?</p>
<p>confused..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/763134</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/763134</guid><dc:creator><![CDATA[Cool Hand]]></dc:creator><pubDate>Sat, 09 Apr 2005 17:40:51 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString Zuweisung on Sat, 09 Apr 2005 18:56:53 GMT]]></title><description><![CDATA[<p>Cool Hand schrieb:</p>
<blockquote>
<p>Tja ich war auch der Meinung das das geht.</p>
</blockquote>
<p>Ich bin auch nach dem Überfliegen Deines Codes der Meinung, dass das geht - wenn man nicht sonst<br />
irgendwelchen Unsinn einbaut.</p>
<p>Die Zeile</p>
<pre><code class="language-cpp">GetWindowText(hwnd, FensterTitel.c_str(), 100);
</code></pre>
<p>kann doch gar nicht funktionieren. Schau doch dazu mal in der Hilfe nach c_str().<br />
Vermutlich musst Du Dir eine (temporäre) char*-Variable erstellen und dies der Funktion<br />
GetWindowText() übergeben. Diese kannst Du dann auch Deiner AnsiString-Variable FensterTitel<br />
zuweisen.</p>
<p>Nebenbei: Für was ist die if-Bedingung überhaupt gut? Es gibt nur zwei Fälle:<br />
1. Die beiden Strings sind gleich, dann bleiben sie gleich.<br />
2. Die beiden Strings sind unterschiedlich, dann werden sie gleich gemacht.<br />
In beiden Fällen hast Du hinterher den gleichen Zustand. Da würde ich mir die if-Bedingung<br />
sparen und einfach nur die Zuweisung reinschreiben.</p>
<p>Wofür brauchst Du das c_str() bei der Zuweisung zu den Label-Captions?</p>
<p>Hast Du eigentlich mal im Debugger nachgeprüft, was in FensterTitel nach dem Aufruf von GetWindowText()<br />
steht? Ich vermute mal: Nichts.</p>
<p>Gruß,</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/763175</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/763175</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Sat, 09 Apr 2005 18:56:53 GMT</pubDate></item></channel></rss>