<?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[änderungen überprüfen?]]></title><description><![CDATA[<p>ich versuch schon die ganze zeit ne abfrage zu amchen ob ein text geändert wurde:<br />
ich definiere eine globale variable:</p>
<pre><code class="language-cpp">char *lpstrOrigText;
</code></pre>
<p>dann fülle ich die variable mit dem inhalt des textedits sobald dieses erstellt wurde:</p>
<pre><code class="language-cpp">lpstrOrigText = new char[GetEditTextLength(textField)];
GetWindowText(textField,lpstrOrigText, GetEditTextLength(textField));
</code></pre>
<p>wenn man nun auf schliessen klickt soll überprüft werden ob der text geändert wurde:</p>
<pre><code class="language-cpp">if(LOWORD(wParam) == ID_DATEI_SCHLIESSEN)
	{
		char *lpstrOrigTextX = new char[GetEditTextLength(textField)];
		GetWindowText(textField,lpstrOrigTextX, GetEditTextLength(textField));
		if(lpstrOrigText == lpstrOrigTextX)
		{
			SetWindowText(fileZeiger,&quot;&quot;);
			SetWindowText(textField, &quot;&quot;);
			break;
		}
		else
		{
			MessageBox(NULL,lpstrOrigTextX,&quot;save?&quot;,0);
			break;
		}
</code></pre>
<p>Nur leider kriege ich jetzt IMMER die msgBox, sogar wenn Nichts im fenster war und ist!<br />
wenn ich das ganze abändere auf:</p>
<pre><code class="language-cpp">if(LOWORD(wParam) == ID_DATEI_SCHLIESSEN)
	{
		char *lpstrOrigTextX = new char[GetEditTextLength(textField)];
		GetWindowText(textField,lpstrOrigTextX, GetEditTextLength(textField));
		if(strlen(lpstrOrigText) == strlen(lpstrOrigTextX))
		{
			SetWindowText(fileZeiger,&quot;&quot;);
			SetWindowText(textField, &quot;&quot;);
			break;
		}
		else
		{
			MessageBox(NULL,lpstrOrigTextX,&quot;save?&quot;,0);
			break;
		}
</code></pre>
<p>also überprüfung der textLÄNGE dann funzt es perfekt so wie ich es will, bis auf das problem, dass wenn die Textlänge gleich ist, keine nachfrage kommt! wieso funktioniert der vergleich der zwei chars nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/77979/änderungen-überprüfen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Apr 2026 00:55:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/77979.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 26 Jun 2004 15:47:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to änderungen überprüfen? on Sat, 26 Jun 2004 15:48:23 GMT]]></title><description><![CDATA[<p>ich versuch schon die ganze zeit ne abfrage zu amchen ob ein text geändert wurde:<br />
ich definiere eine globale variable:</p>
<pre><code class="language-cpp">char *lpstrOrigText;
</code></pre>
<p>dann fülle ich die variable mit dem inhalt des textedits sobald dieses erstellt wurde:</p>
<pre><code class="language-cpp">lpstrOrigText = new char[GetEditTextLength(textField)];
GetWindowText(textField,lpstrOrigText, GetEditTextLength(textField));
</code></pre>
<p>wenn man nun auf schliessen klickt soll überprüft werden ob der text geändert wurde:</p>
<pre><code class="language-cpp">if(LOWORD(wParam) == ID_DATEI_SCHLIESSEN)
	{
		char *lpstrOrigTextX = new char[GetEditTextLength(textField)];
		GetWindowText(textField,lpstrOrigTextX, GetEditTextLength(textField));
		if(lpstrOrigText == lpstrOrigTextX)
		{
			SetWindowText(fileZeiger,&quot;&quot;);
			SetWindowText(textField, &quot;&quot;);
			break;
		}
		else
		{
			MessageBox(NULL,lpstrOrigTextX,&quot;save?&quot;,0);
			break;
		}
</code></pre>
<p>Nur leider kriege ich jetzt IMMER die msgBox, sogar wenn Nichts im fenster war und ist!<br />
wenn ich das ganze abändere auf:</p>
<pre><code class="language-cpp">if(LOWORD(wParam) == ID_DATEI_SCHLIESSEN)
	{
		char *lpstrOrigTextX = new char[GetEditTextLength(textField)];
		GetWindowText(textField,lpstrOrigTextX, GetEditTextLength(textField));
		if(strlen(lpstrOrigText) == strlen(lpstrOrigTextX))
		{
			SetWindowText(fileZeiger,&quot;&quot;);
			SetWindowText(textField, &quot;&quot;);
			break;
		}
		else
		{
			MessageBox(NULL,lpstrOrigTextX,&quot;save?&quot;,0);
			break;
		}
</code></pre>
<p>also überprüfung der textLÄNGE dann funzt es perfekt so wie ich es will, bis auf das problem, dass wenn die Textlänge gleich ist, keine nachfrage kommt! wieso funktioniert der vergleich der zwei chars nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/548497</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/548497</guid><dc:creator><![CDATA[pixartist]]></dc:creator><pubDate>Sat, 26 Jun 2004 15:48:23 GMT</pubDate></item><item><title><![CDATA[Reply to änderungen überprüfen? on Sat, 26 Jun 2004 17:13:12 GMT]]></title><description><![CDATA[<p>hab die funktion umgeschrieben:</p>
<pre><code class="language-cpp">bool checkIfSaved(HWND hTextField, char *lpStrOldCont) {
	char *lpstrOrigTextX = new char[GetEditTextLength(hTextField)];
	GetWindowText(hTextField,lpstrOrigTextX, GetEditTextLength(hTextField));
	for(int i=0;i&lt;GetEditTextLength(hTextField);++i)
	{
		if(lpStrOldCont[i] != lpstrOrigTextX[i])
		{
			return FALSE;
		}
	}
		return TRUE;
}
</code></pre>
<p>nun klappts...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/548535</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/548535</guid><dc:creator><![CDATA[pixartist]]></dc:creator><pubDate>Sat, 26 Jun 2004 17:13:12 GMT</pubDate></item><item><title><![CDATA[Reply to änderungen überprüfen? on Sat, 26 Jun 2004 17:24:23 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>also ich habe jetzt einige deiner Fragen hier im Forum gesehen, und oft mangelt es an C-Grundlagen (nicht einmal WinAPI-Grundlagen), ohne C-Grundlagen wirst du immer wieder auf (für dich) unerwartete Verhaltensweisen deines Programms stoßen. Auch jetzt geht es wieder um ein Grundsatz-Problem, <strong>man kann in C char-Arrays nicht mit dem &quot;==&quot;-Operator vergleichen, hiermit werden nur die Zeiger verglichen, nicht die Zeichen selbst!</strong></p>
<p>Deshalb nur ein Tipp von mir: sehe dir die Funktion lstrcmp einmal an:</p>
<p><a href="http://msdn.microsoft.com/library/en-us/winui/WinUI/WindowsUserInterface/Resources/Strings/StringReference/StringFunctions/lstrcmp.asp" rel="nofollow">http://msdn.microsoft.com/library/en-us/winui/WinUI/WindowsUserInterface/Resources/Strings/StringReference/StringFunctions/lstrcmp.asp</a></p>
<p>du siehst also, dein Problem hat nichts mit WinAPI zu tun, und ich kann nach Hepi dir nur noch einmal raten, deine Grundlagen zumindest aufzufrischen, und ich hoffe, daß du nicht resistent gegen solche Ratschläge bleibst <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>habe gerade bei der Vorschau festgestellt, daß du selber programmierst, was die oben angegebene Funktion sowieso macht. Du kannst so zwar Probleme umgehen, aber das eigentliche Verständnis, warum etwas nicht funktioniert, bleibt dann auf der Strecke (ok, manchmal muß man als Entwickler auch Probleme mit einem workaround lösen können, also einen kleinen Pluspunkt für deine Bemühungen kann man dann doch vergeben, aber dieses Problem hier ist elementar).</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/548541</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/548541</guid><dc:creator><![CDATA[Probe-Nutzer]]></dc:creator><pubDate>Sat, 26 Jun 2004 17:24:23 GMT</pubDate></item><item><title><![CDATA[Reply to änderungen überprüfen? on Sat, 26 Jun 2004 18:28:09 GMT]]></title><description><![CDATA[<p>meine güüte...habt ihr denn ein tut was all diese grundlagen behandelt? wenn ja, dann sagts mir!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/548576</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/548576</guid><dc:creator><![CDATA[pixartist]]></dc:creator><pubDate>Sat, 26 Jun 2004 18:28:09 GMT</pubDate></item></channel></rss>