<?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[MultilineEditBox zeilenweise behandeln]]></title><description><![CDATA[<p>Hi</p>
<p>ich habe ein Problem mit den MultilineEditboxen. ich habe ein tut gelesen:<br />
<a href="http://www.win-api.de/tutorials.php?tutid=18" rel="nofollow">http://www.win-api.de/tutorials.php?tutid=18</a></p>
<p>da wird die multilineeditbox in einen einzigen char* ausgelesen. Ich muss die Multilineeditbox allerdings zeilenweise in einem string array haben. Wie krieg ich das hin? gibt es eine möglichkeit einzelne zeilen auszulesen?</p>
<p>MfG<br />
Eldarion</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/188228/multilineeditbox-zeilenweise-behandeln</link><generator>RSS for Node</generator><lastBuildDate>Fri, 03 Jul 2026 14:40:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/188228.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 29 Jul 2007 13:29:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to MultilineEditBox zeilenweise behandeln on Sun, 29 Jul 2007 13:29:35 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>ich habe ein Problem mit den MultilineEditboxen. ich habe ein tut gelesen:<br />
<a href="http://www.win-api.de/tutorials.php?tutid=18" rel="nofollow">http://www.win-api.de/tutorials.php?tutid=18</a></p>
<p>da wird die multilineeditbox in einen einzigen char* ausgelesen. Ich muss die Multilineeditbox allerdings zeilenweise in einem string array haben. Wie krieg ich das hin? gibt es eine möglichkeit einzelne zeilen auszulesen?</p>
<p>MfG<br />
Eldarion</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334336</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334336</guid><dc:creator><![CDATA[Eldarion]]></dc:creator><pubDate>Sun, 29 Jul 2007 13:29:35 GMT</pubDate></item><item><title><![CDATA[Reply to MultilineEditBox zeilenweise behandeln on Sun, 29 Jul 2007 13:51:23 GMT]]></title><description><![CDATA[<p>lese doch den text mit strtok bis \n ein das das Zeilende Makiert und schreibe die jeweils ausgelesen zeile in dein array.</p>
<p>Hier n Bsp. zu verwendung von strtok:<br />
<a href="http://www.welzl.at/teaching/bs/tutorials/prozesse-syscalls/27.htm" rel="nofollow">Hier</a><br />
<a href="http://www.cplusplus.com/ref/cstring/strtok.html" rel="nofollow">http://www.cplusplus.com/ref/cstring/strtok.html</a></p>
<p>MFG Ascharan <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334346</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334346</guid><dc:creator><![CDATA[Ascharan]]></dc:creator><pubDate>Sun, 29 Jul 2007 13:51:23 GMT</pubDate></item><item><title><![CDATA[Reply to MultilineEditBox zeilenweise behandeln on Sun, 29 Jul 2007 14:39:16 GMT]]></title><description><![CDATA[<p>danke frü den tipp. ich hab damit allerdings ein problem. bei dem delimiter den ich angeben muss wird da &quot; ,.-&quot; benuttz, das würd für mcih heißen das er trennt wenn er: ,.- findet, aber er würde da ja nie finden trennt aber trotzdem? <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/1334391</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334391</guid><dc:creator><![CDATA[Eldarion]]></dc:creator><pubDate>Sun, 29 Jul 2007 14:39:16 GMT</pubDate></item><item><title><![CDATA[Reply to MultilineEditBox zeilenweise behandeln on Sun, 29 Jul 2007 14:43:43 GMT]]></title><description><![CDATA[<p>SendMessage mit:<br />
EM_GETLINECOUNT<br />
EM_LINEINDEX<br />
EM_LINELENGTH<br />
EM_GETLINE</p>
<p>Reihenfolge müsste stimmen <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="😉"
    /> zur Verwendung: msdn</p>
<p>mfG noha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334396</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334396</guid><dc:creator><![CDATA[noha_39]]></dc:creator><pubDate>Sun, 29 Jul 2007 14:43:43 GMT</pubDate></item><item><title><![CDATA[Reply to MultilineEditBox zeilenweise behandeln on Sun, 29 Jul 2007 15:18:34 GMT]]></title><description><![CDATA[<p>Kleines Beispiel:</p>
<pre><code class="language-cpp">int nLineCount = (int)SendMessage(hwndEdit, EM_GETLINECOUNT, 0, 0); 

for(int i=0; i&lt;nLineCount; i++) 
{ 
  // Aktuelle Zeilenlänge auslesen
  int nLineLength = (int)SendMessage(hwndEdit, EM_LINELENGTH, 
    (WPARAM)SendMessage(hwndedit, EM_LINEINDEX, (WPARAM)i, 0), 0);

  // Zeile in Buffer einlesen
  // Achtung: Kopierte Zeile beinhaltet keine Nullterminierung
  SendMessage(hwndedit, EM_GETLINE, (WPARAM)i, (LPARAM)szBuffer);
  szBuffer[nLineLength] = '\0';

  // hier weiteren Code
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1334409</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334409</guid><dc:creator><![CDATA[Analog Bit]]></dc:creator><pubDate>Sun, 29 Jul 2007 15:18:34 GMT</pubDate></item><item><title><![CDATA[Reply to MultilineEditBox zeilenweise behandeln on Sun, 29 Jul 2007 18:14:19 GMT]]></title><description><![CDATA[<p>thx das werde ich einbauen <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334493</guid><dc:creator><![CDATA[Eldarion]]></dc:creator><pubDate>Sun, 29 Jul 2007 18:14:19 GMT</pubDate></item><item><title><![CDATA[Reply to MultilineEditBox zeilenweise behandeln on Tue, 31 Jul 2007 10:23:47 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int nLineCount = (int)SendMessage(hDialog, EM_GETLINECOUNT, 0, 0);
	string s;
	bool gerade = true;
	char  szBuffer [1024];
	for(int i=0; i&lt;nLineCount; i++)
	{
		// Aktuelle Zeilenlänge auslesen
		int nLineLength = (int)SendMessage(hDialog, EM_LINELENGTH,
		(WPARAM)SendMessage(hDialog, EM_LINEINDEX, (WPARAM)i, 0), 0);

		// Zeile in Buffer einlesen
		// Achtung: Kopierte Zeile beinhaltet keine Nullterminierung
		SendMessage(hDialog, EM_GETLINE, (WPARAM)i, (LPARAM)szBuffer);
		szBuffer[nLineLength] = '\0';
		s = String(szBuffer);
		DialogOUs.insert(pair&lt;int, string&gt;(activeDialog, s));		
	}
</code></pre>
<p>so, in meiner map stehen jetzt aber nur irgendwelche kryptischen zeichen, was mach ich falsch?</p>
<p>und noch eine frage, wie kann ich denn zeilenweise scrheiben, gibts da auch so etwas wie setline?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1335568</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1335568</guid><dc:creator><![CDATA[Eldarion]]></dc:creator><pubDate>Tue, 31 Jul 2007 10:23:47 GMT</pubDate></item><item><title><![CDATA[Reply to MultilineEditBox zeilenweise behandeln on Tue, 31 Jul 2007 13:28:29 GMT]]></title><description><![CDATA[<p>Um welches Fensterhandle handelt es sich bei hDialog?<br />
Um das HWND des Dialogs?<br />
Hier muss natürlich das Fensterhandle des Edit Controls angegeben werden!</p>
<p>Um Text an vorhandenen anzuhängen hier ein kleines Beispiel:<br />
(Dies ist kein kompletter Code. Es wird der Text aus einem zweiten Edit Control ausgelesen ein Zeilenumbruch angehängt und an den vorhandenen Text im Multiline Edit Control angehängt. Wenn der Cursor vorher nicht in einer neuen Zeile steht, wird der Text an das letzte Zeichen angehängt. Bei Bedarf also vorher noch ein Zeilenumbruch zufügen)</p>
<pre><code class="language-cpp">TCHAR sztemp[1024];
int nlength;
// Text aus zweitem Edit Control auslesen
GetWindowText(GetDlgItem(hDialog, IDC_EDIT_TEXTTOCOPY), sztemp, 1024);
// Zeilenumbruch anhängen
lstrcat(sztemp,&quot;\r\n&quot;);
nlength = GetWindowTextLength(hwndEdit);
// Text im Multiline Edit Control selektieren
SendMessage(hwndEdit, EM_SETSEL, (WPARAM)nlength, (LPARAM)nlength);
// Text ersetzen
SendMessage(hwndEdit, EM_REPLACESEL, (WPARAM)FALSE, (LPARAM)sztemp);
// Text im Multiline Edit Control deselektieren
SendMessage(hwndEdit, EM_SETSEL, (WPARAM)-1, (LPARAM)0);
</code></pre>
<p>HINWEIS:<br />
hDialog: Fensterhandle des Dialogs<br />
hwndEdit: Fensterhandle des Multiline Edit Controls<br />
zu den einzelnen Messages siehe MSDN</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1335767</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1335767</guid><dc:creator><![CDATA[Analog Bit]]></dc:creator><pubDate>Tue, 31 Jul 2007 13:28:29 GMT</pubDate></item><item><title><![CDATA[Reply to MultilineEditBox zeilenweise behandeln on Wed, 01 Aug 2007 10:43:58 GMT]]></title><description><![CDATA[<p>sry, Dialog war hier vllt missverstanden mit Resourcendialog, es geht aber um etwas ganz anderes. und das hDialog ist das editfeld. ist dann noch iwas falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1336410</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1336410</guid><dc:creator><![CDATA[Eldarion]]></dc:creator><pubDate>Wed, 01 Aug 2007 10:43:58 GMT</pubDate></item><item><title><![CDATA[Reply to MultilineEditBox zeilenweise behandeln on Wed, 01 Aug 2007 11:51:39 GMT]]></title><description><![CDATA[<p>Was genau funktioniert denn nicht?<br />
Hast du die Anwendung mal schrittweise debugged?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1336459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1336459</guid><dc:creator><![CDATA[Analog Bit]]></dc:creator><pubDate>Wed, 01 Aug 2007 11:51:39 GMT</pubDate></item><item><title><![CDATA[Reply to MultilineEditBox zeilenweise behandeln on Thu, 02 Aug 2007 09:33:06 GMT]]></title><description><![CDATA[<p>das problem entsteht wie gesagt wenn ich die messagebox auslese und in meine multimap schreibe.</p>
<p>ich habe in die editbox reingeschrieben: &quot;Hier gibt es ein Problem!&quot; nacher in der map steht: &quot;ÌÌÌÌÌÌÌÌÌÌÌ..&quot; (mal sinnvoll gekürzt :D)<br />
ich hoffe das problem ist klar..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1336510</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1336510</guid><dc:creator><![CDATA[Eldarion]]></dc:creator><pubDate>Thu, 02 Aug 2007 09:33:06 GMT</pubDate></item><item><title><![CDATA[Reply to MultilineEditBox zeilenweise behandeln on Wed, 01 Aug 2007 14:45:21 GMT]]></title><description><![CDATA[<p>messagebox??? oder meinst du ein Edit Control</p>
<p>Ich gehe mal davon aus, dass du die Anwendung nocht nicht zeilenweise debugged hast. Z.B. einen Breakpoint bei</p>
<pre><code class="language-cpp">DialogOUs.insert(pair&lt;int, string&gt;(activeDialog, s));
</code></pre>
<p>gesetzt hast, um zu sehen, was in den Variablen s, bzw. szBuffer steht.</p>
<p>Weiterhin denke ich mal, dass es sich bei</p>
<pre><code class="language-cpp">s = String(szBuffer);
</code></pre>
<p>um einen Schreibfehler handelt, sollte wahrscheinlich string(szBuffer) heißen.</p>
<p>Welchen Zeichensatz hast du bei deiner Anwendung eingestellt (Multi-Byte / Unicode)?<br />
Um was genau handelt es sich bei DialogOUs und activeDialog? Ein bischen mehr Code wäre hilfreich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1336621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1336621</guid><dc:creator><![CDATA[Analog Bit]]></dc:creator><pubDate>Wed, 01 Aug 2007 14:45:21 GMT</pubDate></item><item><title><![CDATA[Reply to MultilineEditBox zeilenweise behandeln on Wed, 01 Aug 2007 20:12:34 GMT]]></title><description><![CDATA[<p>DialogOUs ist eine &lt;int, string&gt; map. ja das mit String war ein schreibfehler, ich hatte den source etwas abgeändert und noch net wieder compilt sry.<br />
ActiveDialog ist eine int variable die mir anzeigt welcher Dialog grade bearbeitet wird.<br />
und da ich die komplette Map am ende des progs in eine txt schreibe, und das einwandfrei funktioniert wenn ich der map konstante strings zuweise bin ich mir sicher das das ganze schon in s steht. trotzdem hab ich nochmal debuggt, und diese kryptische zeichenfolge steht schon in szBuffer.</p>
<p>ich benutze unicode, sollte ich lieber auf multi-byte umsteigen?</p>
<p>edit: multi-byte hat dasselbe problem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1336830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1336830</guid><dc:creator><![CDATA[Eldarion]]></dc:creator><pubDate>Wed, 01 Aug 2007 20:12:34 GMT</pubDate></item><item><title><![CDATA[Reply to MultilineEditBox zeilenweise behandeln on Wed, 01 Aug 2007 22:05:33 GMT]]></title><description><![CDATA[<p>Erst mal kann das nur in die Hose gehen, wenn du hier Unicode verwendest.</p>
<p>szBuffer ist bei dir ein CHAR Array und dieses wird in folgender Zeile mit WCHAR Daten gefüllt</p>
<pre><code class="language-cpp">SendMessage(hDialog, EM_GETLINE, (WPARAM)i, (LPARAM)szBuffer);
</code></pre>
<p>Wenn, dann</p>
<pre><code class="language-cpp">WCHAR szBuffer [1024];
</code></pre>
<p>Damit wird allerdings auch die ganze Geschichte mit string inkompatibel.<br />
Dann müsstest du entweder den Datentyp wstring verwenden, oder den Puffer erst mit WideCharToMultiByte in ein CHAR Array schreiben.</p>
<p>Nichts desto trotz, sagtest du, dass du auch bei Einstellung Multi-Byte in der Variablen s (auch bei szBuffer?) nur 'wirre' Zeichen erhältst.<br />
Hast du in der Funktion auch mal das Handle auf das EditControl überprüft (HWND des richtigen Controls, HWND auch gültig)?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1336922</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1336922</guid><dc:creator><![CDATA[Analog Bit]]></dc:creator><pubDate>Wed, 01 Aug 2007 22:05:33 GMT</pubDate></item><item><title><![CDATA[Reply to MultilineEditBox zeilenweise behandeln on Wed, 01 Aug 2007 22:16:55 GMT]]></title><description><![CDATA[<p>Bei <a href="http://msdn2.microsoft.com/en-us/library/ms672074.aspx" rel="nofollow">EM_GETLINE</a> muss das erste Element des &quot;Empfangspuffers&quot; mit der Länge der zu erwarteten Zeichenfolge initialisiert werden.<br />
Sonst klappt es nicht.<br />
<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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1336931</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1336931</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 01 Aug 2007 22:16:55 GMT</pubDate></item><item><title><![CDATA[Reply to MultilineEditBox zeilenweise behandeln on Wed, 01 Aug 2007 23:34:30 GMT]]></title><description><![CDATA[<p>Hups, übersehen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
Bei mir funktioniert es auch ohne <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Aber noch kleine Korrektur - es muss nicht das erste Element sein, sondern das erste WORD. Bei CHAR also zwei Elemente (sonst wäre ja auch nur eine Größe von 256 Zeichen möglich) <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/1336965</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1336965</guid><dc:creator><![CDATA[Analog Bit]]></dc:creator><pubDate>Wed, 01 Aug 2007 23:34:30 GMT</pubDate></item><item><title><![CDATA[Reply to MultilineEditBox zeilenweise behandeln on Thu, 02 Aug 2007 00:42:37 GMT]]></title><description><![CDATA[<p>Stimmt. Laut MSDN ist das zwar ein WORD, aber ich nehme lieber ein int und caste &quot;abenteuerlich&quot; :</p>
<pre><code class="language-cpp">int *iptr;
 iptr = (int *) &amp;szBuffer[0];
*iptr = nLineLength;
</code></pre>
<p>Vielleicht sollte Eldarion mal die lange Zeile da oben rausnehmen. Ist ja fürchterlich dieses Gescrolle !<br />
<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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1336973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1336973</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 02 Aug 2007 00:42:37 GMT</pubDate></item><item><title><![CDATA[Reply to MultilineEditBox zeilenweise behandeln on Thu, 02 Aug 2007 03:00:26 GMT]]></title><description><![CDATA[<p>merker schrieb:</p>
<blockquote>
<p>Vielleicht sollte Eldarion mal die lange Zeile da oben rausnehmen. Ist ja fürchterlich dieses Gescrolle !<br />
<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="🙂"
    /></p>
</blockquote>
<p>Kann ich nur zustimmen</p>
<p>Alternative zum &quot;abenteuerlichen&quot; Cast - mit dem vohandenen int:<br />
Tun wir doch einfach so, als kopieren wir eine Zeichenkette <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<pre><code class="language-cpp">lstrcpy(szBuffer, (LPCTSTR)&amp;nLineLength);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1336979</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1336979</guid><dc:creator><![CDATA[Analog Bit]]></dc:creator><pubDate>Thu, 02 Aug 2007 03:00:26 GMT</pubDate></item><item><title><![CDATA[Reply to MultilineEditBox zeilenweise behandeln on Thu, 02 Aug 2007 09:33:44 GMT]]></title><description><![CDATA[<p>so, es geht jetzt. super großes thx an euch. <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337130</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337130</guid><dc:creator><![CDATA[Eldarion]]></dc:creator><pubDate>Thu, 02 Aug 2007 09:33:44 GMT</pubDate></item><item><title><![CDATA[Reply to MultilineEditBox zeilenweise behandeln on Thu, 02 Aug 2007 12:27:51 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/13623">@Eldarion</a> :<br />
Vielen Dank für das Rausnehmen der Zeile. Nun passt der Thread wieder in meinen Browser.</p>
<p>@Analog Bit :<br />
Gute Idee mit lstrcpy (). Allerdings gibt es ein Problem, falls die Zeichenkette zufällig 0x01<strong>00</strong> Zeichen lang ist.</p>
<p><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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337259</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337259</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 02 Aug 2007 12:27:51 GMT</pubDate></item><item><title><![CDATA[Reply to MultilineEditBox zeilenweise behandeln on Thu, 02 Aug 2007 14:06:01 GMT]]></title><description><![CDATA[<p>merker schrieb:</p>
<blockquote>
<p>Allerdings gibt es ein Problem, falls die Zeichenkette zufällig 0x01<strong>00</strong> Zeichen lang ist.</p>
</blockquote>
<p>Ist bei Verwendung von Multi-Byte natürlich korrekt, wenn das Low-Byte des Words 0 ist, funktioniert das nicht - bei Wide-Char allerdings kein Problem.</p>
<p>Allerdings ist deine Lösung mit den int auch nicht ganz das 'saubere', wenn dynamische Allocierung von szBuffer verwendet wird.</p>
<pre><code class="language-cpp">LPTSTR szBuffer = (LPTSTR)LocalAlloc(LPTR, (nLineLength + 1) * sizeof(TCHAR));
</code></pre>
<p>Man weis ja nie, ob sich im Speicher hinter dem angelegten Puffer noch benötigte Daten befinden.<br />
Denke mal eine sauber Lösung wäre folgende:</p>
<pre><code class="language-cpp">if(nLineLength)
{
  *((LPWORD)szBuffer) = (WORD)nLineLength;
  SendMessage(hwe, EM_GETLINE, (WPARAM)i, (LPARAM)szBuffer);
}
*(szBuffer + nLineLength) = '\0';
</code></pre>
<p>Einwände?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337362</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337362</guid><dc:creator><![CDATA[Analog Bit]]></dc:creator><pubDate>Thu, 02 Aug 2007 14:06:01 GMT</pubDate></item><item><title><![CDATA[Reply to MultilineEditBox zeilenweise behandeln on Thu, 02 Aug 2007 17:45:05 GMT]]></title><description><![CDATA[<p>Schön übersichtlich die Lösung. Aber da könnte der Kompiler Ärger machen :<br />
Ein &quot;lvalue&quot; (hier : szBuffer) soll/kann/darf nicht gecastet werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337552</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337552</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 02 Aug 2007 17:45:05 GMT</pubDate></item><item><title><![CDATA[Reply to MultilineEditBox zeilenweise behandeln on Thu, 02 Aug 2007 21:01:29 GMT]]></title><description><![CDATA[<p>Dieser Cast ist erlaubt.<br />
Der Zeiger auf die Adresse in die geschrieben werden soll, wird letztendlich das lvalue, nicht das Resultat aus dem Pointercast.<br />
'Aufgelöst' würde das so aussehen:</p>
<pre><code class="language-cpp">LPDWORD lpdw = (LPWORD)szBuffer;
*(lpdw) = (WORD)nLineLength;
</code></pre>
<p>Nicht erlaubt wäre dieser Cast:</p>
<pre><code class="language-cpp">((WORD)*szBuffer) = (WORD)nLineLength;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1337679</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337679</guid><dc:creator><![CDATA[Analog Bit]]></dc:creator><pubDate>Thu, 02 Aug 2007 21:01:29 GMT</pubDate></item></channel></rss>