<?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[@codefinder -&amp;gt; dringend!]]></title><description><![CDATA[<p>Hallo, codefinder.<br />
Darf ich Dich vielleicht etwas fragen, bezüglich deines Templates für zeichensatzunabhängige. rekursive Ordnersuche<br />
(<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-168044-and-highlight-is-%2Arekursiv%2A.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-168044-and-highlight-is-*rekursiv*.html</a><br />
)<br />
Ich könnte ja auch einfach abtippen, aber würde gerne einige Fragen zum Konzept stellen.<br />
Ist das möglich?<br />
Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/183566/codefinder-gt-dringend</link><generator>RSS for Node</generator><lastBuildDate>Mon, 06 Jul 2026 11:16:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/183566.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 06 Jun 2007 08:58:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Wed, 06 Jun 2007 08:58:42 GMT]]></title><description><![CDATA[<p>Hallo, codefinder.<br />
Darf ich Dich vielleicht etwas fragen, bezüglich deines Templates für zeichensatzunabhängige. rekursive Ordnersuche<br />
(<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-168044-and-highlight-is-%2Arekursiv%2A.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-168044-and-highlight-is-*rekursiv*.html</a><br />
)<br />
Ich könnte ja auch einfach abtippen, aber würde gerne einige Fragen zum Konzept stellen.<br />
Ist das möglich?<br />
Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1299824</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1299824</guid><dc:creator><![CDATA[me-S-on]]></dc:creator><pubDate>Wed, 06 Jun 2007 08:58:42 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Wed, 06 Jun 2007 12:43:07 GMT]]></title><description><![CDATA[<p>Hoi, lol joar, dann frag doch <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/1300000</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1300000</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Wed, 06 Jun 2007 12:43:07 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Wed, 06 Jun 2007 19:21:53 GMT]]></title><description><![CDATA[<p>Zu erst mal:</p>
<pre><code>....bool(__cdecl* pFileProc)(CPCSTRG pFilePath, void* pData),
                           void* pvUserData)
</code></pre>
<h2>Was bitte ist __cdecl* pFileProc, und warum so gecastet?<br />
In der ganzen Funktion kommt das unten noch einmal vor, aber meinst du damit die WndProc?</h2>
<h2>Was übergibst du mit pData und mit pUserData?</h2>
<pre><code>if(strSrc[strSrc.length()] == SIGN('\\'))
        strSrc.erase(strSrc.rfind(SIGN('\\'), cString::npos), strSrc.length());
    if(strSrc.rfind(STRING(&quot;\\*&quot;), cString::npos) == cString::npos)
        strSrc.append(cString(STRING(&quot;\\*&quot;)), 0, 3);
</code></pre>
<ul>
<li></li>
</ul>
<h2>Guckst hier, ob Elternpfad ( also Argument) <strong>irgendwo</strong> n '\' hat, ja?</h2>
<h2>Wenn dem so ist, löschte das, ja?</h2>
<p>Nun , was machste dann? Mit .rfind?<br />
Das peil ich net.......<br />
genauso wie dann das:</p>
<pre><code>strSrc.erase(strSrc.rfind(SIGN('*'), cString::npos)); 

  und dann

strSearchArg.append(cString(STRING(&quot;\\*&quot;)), 0, 3);
</code></pre>
<h2>Klingen die letzten drei codezeilen nicht widersprüchlich?<br />
append, erase, append?<br />
Wozu?</h2>
<p>und nochmal dies:</p>
<pre><code>pFileProc((strSrc + cString(win32FinData.cFileName)).c_str(), pvUserData))
</code></pre>
<p>watt soll denn diese FileProc sein?<br />
----<br />
Hoffe, du fühlst dich nicht gestört durch diese Fragerei.</p>
<p>Danke schonmal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1300317</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1300317</guid><dc:creator><![CDATA[me-S-on]]></dc:creator><pubDate>Wed, 06 Jun 2007 19:21:53 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Wed, 06 Jun 2007 22:00:40 GMT]]></title><description><![CDATA[<p>me-S-on schrieb:</p>
<blockquote>
<p>Was bitte ist __cdecl* pFileProc, und warum so gecastet?</p>
</blockquote>
<p><em>__cdecl</em> ist eine sog. Aufrufkonvention. Diese bestimmt wie die Parameter einer Funktion aufs Stack gepusht bzw. gepoppt werden (und wer das tut...). Speziell bei dieser werden die Parameter von links nach rechts auf das Stack gepusht; die aufgerufene Funktion sorgt selbstständig dafür, dass diese Einträge vom Stack wieder entfernt. (Der Return-Wert wird dabei immer im EAX-CPU-Register abgelegt.)<br />
Gecastet wird hier gar nichts, obwohls so aussieht <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="😉"
    /> . Der folgende Codeabschnitt bildet <strong>einen Parameter</strong> der Funktion (also Typ und Name): <code>bool(__cdecl* pFileProc)(CPCSTRG pFilePath, void* pData)</code> . Der Variablenname ist dabei <code>pFileProc</code> . Dieser wird auch als Funktionszeiger bezeichnet. Jeder Funktionsname kann nämlich auch als Zeiger auf abzuarbeitenden Code verstanden werden, über welchen dann zu diesem Code gesprungen wird (ASM-Jump-Commands). Du übergibst hier also einen Zeiger auf eine von Dir definierte Funktion, die dann von meiner 'Suchfunktion' aufgerufen wird - immer dann, wenn eine Datei gefunden wird.<br />
In der WinAPI gibt es dieses Prinzip sehr oft. Dabei wird lediglich eine etwas übersichtlicher Schreibweise über eine Typendefinition verwendet, auf die ich aber bewusst verzichtet habe, in etwa so:</p>
<pre><code class="language-cpp">// Typendefinition:
typedef bool(__cdecl* PFILEHANDLER)(CPCSTRG,void*); // Zeiger auf Funktion mit 2 Parametern; Typ ist festgelegt
// Die Funktion sähe dann zum Beispiel so aus:
bool ScanFoldersForFiles(CPCSTRG pszFolderParent, PFILEHANDLER pFileProc, void* pvUserData)
{
  /* ... */
}
</code></pre>
<p>Hier sollte auch klar werden, dass es kein Cast ist <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="😉"
    /> . <em>WNDPROC</em> (ein Win32-Datentyp) ist damit vergleichbar. Du kannst Dir ja mal die Defintion in den Windows-Headern anschauen.</p>
<p>me-S-on schrieb:</p>
<blockquote>
<p>In der ganzen Funktion kommt das unten noch einmal vor, aber meinst du damit die WndProc?</p>
</blockquote>
<p>Wie gesagt, das Prinzip ist vergleichbar mit einer <em>WNDPROC</em>. Dies hat aber nichts mit der WndProc Deines Fensters zu tun!</p>
<p>me-S-on schrieb:</p>
<blockquote>
<p>Was übergibst du mit pData und mit pUserData?</p>
</blockquote>
<p>pData ist der 2. Parameter der Funktion die Du erst definieren und deren Zeiger Du dann übergeben musst. Dies ist also <strong>kein</strong> Paremeter der Funktion 'ScanFoldersForFiles'! An pUserData kannst Du einen beliebigen Zeiger übergeben. Diese Daten stehen dann bei jedem Aufruf von dieser pFileProc-Funktion (die Du definieren musst und von meiner 'ScanFoldersForFiles'-Funktion aufgerufen wird) im 2. Parameter 'pData'. Damit verhindert man die Verwendung von globalen Variablen. Auch dieses Prinzip findet man oft in der WinAPI wieder. Vergleiche die Funktion <a href="http://msdn2.microsoft.com/en-us/library/ms633497.aspx" rel="nofollow">EnumWindows</a>, siehe letzter Parameter.<br />
Man könnte diese Funktion auch so schreiben:</p>
<pre><code class="language-cpp">BOOL EnumWindows(      
    BOOL (CALLBACK* lpEnumFunc)(HWND hwnd, LPARAM lParam),
    LPARAM lParam
);
// Hinweis: CALLBACK ist als __stdcall definiert, eine etwas andere Aufrufkonvention.
</code></pre>
<p>me-S-on schrieb:</p>
<blockquote>
<pre><code>if(strSrc[strSrc.length()] == SIGN('\\'))
        strSrc.erase(strSrc.rfind(SIGN('\\'), cString::npos), strSrc.length());
    if(strSrc.rfind(STRING(&quot;\\*&quot;), cString::npos) == cString::npos)
        strSrc.append(cString(STRING(&quot;\\*&quot;)), 0, 3);
</code></pre>
<ul>
<li></li>
</ul>
<h2>Guckst hier, ob Elternpfad ( also Argument) <strong>irgendwo</strong> n '\' hat, ja?</h2>
<h2>Wenn dem so ist, löschte das, ja?</h2>
<p>Nun , was machste dann? Mit .rfind?<br />
Das peil ich net.......</p>
</blockquote>
<p>Ich schreib Dir den Code einfach nochmal mit Kommentaren hin, glaube damit versteht man es am einfachsten:</p>
<pre><code class="language-cpp">/*
Prüfen, ob am *Ende* des zu durchsuchenden Pfades ein '\' steht:
*/
if(strSrc[strSrc.length()] == SIGN('\\')) // Operator [] ist für die Klasse std::string überladen; length gibt die Länge zurück, ohne '\0'
        // Falls gefunden: löschen:
        strSrc.erase(strSrc.rfind(SIGN('\\'), cString::npos), strSrc.length());
/*
Prüfen, ob am *Ende* des zu durchsuchenden Pfades ein '\*' steht:
*/
if(strSrc.rfind(STRING(&quot;\\*&quot;), cString::npos) == cString::npos)
        strSrc.append(cString(STRING(&quot;\\*&quot;)), 0, 3); // Falls *nicht*, dann anfügen
</code></pre>
<p>Nun zum Sinn der Sache <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="😉"
    /> : Damit sorge ich dafür, dass man folgende Pfade problemlos übergeben kann, es handelt sich also um Bedienkomfort der Funktion <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /> :</p>
<ul>
<li><code>C:\demo\test\</code></li>
<li><code>C:\demo</code></li>
<li><code>C:\demo\*</code></li>
</ul>
<p>In jedem Fall bastelt sich meine Funktion den String so zurecht, dass sie damit arbeiten kann. (Außer im letzten, der ist schon perfekt.) Das '\*' am Ende sorgt dafür, dass nach <strong>allen</strong> Dateien gesucht wird, die Auslese findet dann in der von Dir definierten Funktion statt. Daher ist die Funktion auch ziemlich universell <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /> .</p>
<p>me-S-on schrieb:</p>
<blockquote>
<p>genauso wie dann das:</p>
<pre><code>strSrc.erase(strSrc.rfind(SIGN('*'), cString::npos)); 

  und dann

strSearchArg.append(cString(STRING(&quot;\\*&quot;)), 0, 3);
</code></pre>
<p>Klingen die letzten drei codezeilen nicht widersprüchlich?<br />
append, erase, append?<br />
Wozu?</p>
</blockquote>
<p>Nein, das ist nicht widersprüchlich <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="😉"
    /> . Wie Dir vllt. schon aufgefallen ist, arbeitet die Funktion rekursiv. Das heißt immer wenn ein Ordner gefunden wird, beginnt ein geschachtelter Funktionsaufruf, die Funktion ruft sich also selbst mit dem Pfad zum Unterordner auf.<br />
Dieser Pfad muss aber erst gebastelt werden, da die Windows-Enumeration nur den Datei<strong>namen</strong> (bzw. den Ornder<strong>namen</strong>) angibt. Der neue Pfad ergibt sich also aus dem vorherigen <code>Startverzeichnis + '\' + NameDesGefundenenOrdners</code> . Vergleiche meinen Code hier:</p>
<pre><code class="language-cpp">strSearchArg = strSrc /*modifiziertes Startverzeichnis*/ + cString(win32FinData.cFileName) /*gefundener Ordnername*/;
</code></pre>
<p>Da aber der Pfad des Startverzeichnisses am Ende noch ein \* besitzt, muss dieses erst entfernt werden, aber (wichtig!) erst nach der Initialisierung mit der FindFirstFile-Funktion, sonst wäre es ja sinnlos:</p>
<pre><code class="language-cpp">hFile = FindFirstFile(strSrc.c_str(), &amp;win32FinData); // Initialisierung
    if(hFile == INVALID_HANDLE_VALUE)
        return (false);
    strSrc.erase(strSrc.rfind(SIGN('*'), cString::npos)); // '\*' entfernen, falls weitere rekursive Aufrufe folgen bzw. ein Pfad für eine gefundene Datei zusammengesetzt werden muss
</code></pre>
<p>me-S-on schrieb:</p>
<blockquote>
<p>und nochmal dies:</p>
<pre><code>pFileProc((strSrc + cString(win32FinData.cFileName)).c_str(), pvUserData))
</code></pre>
<p>watt soll denn diese FileProc sein?</p>
</blockquote>
<p>Hier wird die oben (hoffe ich relativ ausführlich/verständlich) erläuterte Funktion, die von Dir definiert wurde und deren Zeiger dann in 'pFileProc' ist, aufgerufen, da eine Datei gefunden wurde. Parameter sind eben der Pfad zur gefundenen Datei und der von Dir übergebenen Zeiger auf beliebige Daten ( <code>void*</code> ) (der natürlich auch einfach <em>NULL</em> sein kann).</p>
<p>me-S-on schrieb:</p>
<blockquote>
<p>Hoffe, du fühlst dich nicht gestört durch diese Fragerei.</p>
</blockquote>
<p>Nein überhaupt, ist kein Problem <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> .</p>
<p>Huji, ist ja ganz schön lang geworden, naja sollte eigentlich alles drin sein...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1300386</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1300386</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Wed, 06 Jun 2007 22:00:40 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Thu, 07 Jun 2007 10:54:40 GMT]]></title><description><![CDATA[<p>Jetzt aber mal im ernst ... dein cString usw. ist bescheuert ^^ Mehr als das ...</p>
<pre><code class="language-cpp">#include &lt;tchar.h&gt;
#include &lt;string&gt;

typedef std::basic_string&lt;TCHAR, std::char_traits&lt;TCHAR&gt;, std::allocator&lt;TCHAR&gt; &gt; tstring;
</code></pre>
<p>aja und dann auch</p>
<pre><code class="language-cpp">typedef bool(__cdecl* PFILEHANDLER)(const tstring&amp;, void*);
</code></pre>
<p>usw ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1300627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1300627</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 07 Jun 2007 10:54:40 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Thu, 07 Jun 2007 11:50:27 GMT]]></title><description><![CDATA[<p>(D)Evil schrieb:</p>
<blockquote>
<p>Jetzt aber mal im ernst ... dein cString usw. ist bescheuert ^^ Mehr als das ...</p>
<pre><code class="language-cpp">#include &lt;tchar.h&gt;
#include &lt;string&gt;

typedef std::basic_string&lt;TCHAR, std::char_traits&lt;TCHAR&gt;, std::allocator&lt;TCHAR&gt; &gt; tstring;
</code></pre>
</blockquote>
<pre><code class="language-cpp">typedef std::basic_string&lt;TCHAR&gt; tstring;
</code></pre>
<p>warum nicht so??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1300671</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1300671</guid><dc:creator><![CDATA[hmmmmmmmmmm]]></dc:creator><pubDate>Thu, 07 Jun 2007 11:50:27 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Thu, 07 Jun 2007 11:56:54 GMT]]></title><description><![CDATA[<p>ähem , öh eh, .....</p>
<ul>
<li></li>
</ul>
<h2>Alles klar!<br />
Also, mit anderen Worten bool (__cdecl) ist nur eine Eigenart des Stack-push- und -poppens ( zum Glück bin ich gerade intensiv parallel am Assembler dran!!! <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="😃"
    /> ) für die Parameter ,die in der pFileProc übergeben werden .<br />
Oder? <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="😕"
    /></h2>
<h2>So wie wenn ich eine Funktion an execve() übergebe..<br />
Dann packe ich die Parameter nacheinander in bx,cx,dx, AUSSER die beiden Elemente das Arrays im 2. Parameter von execve; die holt sich die Funktion schön ausm Stack...... ist das vergleichbar? <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="😕"
    /></h2>
<h2>Also, dieser pFileProc.... ein Zeiger auf den Anfang einer Funktion ....., ich mein, ich weiss, dass man auch in der wndclass das lpfnWndProc-Member so mit einer Funktion initialisiert.... also den Namen derer ohne Klammern entspricht einem Zeiger auf diese, das Program holt sie sich dann schon.<br />
-Ne? <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="😕"
    /></h2>
<h2>Und dann noch Userdata und pUser data....<br />
-&gt;<br />
Zusammengefasst:<br />
pFileProc, pUserData und UserData sind einfach Funktionen, die du in deinem Programm benutzt, daher haste die mit gepostet.<br />
Einfach dein Code, zwingend erforderlich sind die ja nicht bei jedem, ne? <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="😕"
    /></h2>
<h2>Ok, wenn ich nun die Elemente<br />
-TVINSERTSTRUCT<br />
-HTREEVIEW<br />
- char * ppath;<br />
- char * actpath<br />
- char *newpath<br />
- char *dev_root<br />
nicht alle global machen will, mache ich eine<br />
Funktion global bekannt, welche notwendige Schritte und Variablen übernimmt, um ins TreeVew zu inserten und Images zuzufügen, mache die Suche aber in dieser SerachFolderForFile Funktion.<br />
Dabei übergebe ich dieser einen Pointer auf die vorige Funktion, und SPARE MIR DAMIT TATSÄCHLICH GLOBALE VARIABLEN?????<br />
<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="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /><br />
Ich habe, ( ich bin ja am testen, einen HAUFEN GLOBALER) .</h2>
<p>Wenn ich das so richtig entnommen habe. ----<br />
-----<br />
-Die char-cut and replace-Angelegenheit habe ich gestern ebenfalls scheinbar hinbekommen...... allerdings mit mehr oder weniger ANSI-C. Ich habe keine objektorientierten Methoden aus der &lt;string&gt; benutzt.<br />
Könnte ich allerdings mal tun.<br />
Nun schmiert das zwar nach dem dritten Unterordner ab( mit errorcode 6_ Invalid handle) aber das krich ich auch noch hin.<br />
Hope so!<br />
-------------------------------------------------------------------------------</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /> Diese Posts vom (D)Evil !<br />
Echt, nomen ost omen.<br />
Aber ihr beide könnt Euch sicher miteinander messen <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="😉"
    /><br />
-------<br />
codefinder, kanste meine Zusamenfassung noch kurz bejahen, oder verneinen, in den Fragen, die noch kamen?, also die, wo das &quot; <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="😕"
    /> &quot; hinter steht?<br />
Dann wärs das fast.....<br />
danke sehr bisher!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1300678</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1300678</guid><dc:creator><![CDATA[me-S-on]]></dc:creator><pubDate>Thu, 07 Jun 2007 11:56:54 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Thu, 07 Jun 2007 12:05:32 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/15251">@me-S-on</a>: Warum schreibst du so chaotisch? <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/1300684</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1300684</guid><dc:creator><![CDATA[CodeFinder|logged out]]></dc:creator><pubDate>Thu, 07 Jun 2007 12:05:32 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Thu, 07 Jun 2007 12:44:27 GMT]]></title><description><![CDATA[<p>(D)Evil schrieb:</p>
<blockquote>
<p>Jetzt aber mal im ernst ... dein cString usw. ist bescheuert ^^ Mehr als das ...</p>
<pre><code class="language-cpp">#include &lt;tchar.h&gt;
#include &lt;string&gt;

typedef std::basic_string&lt;TCHAR, std::char_traits&lt;TCHAR&gt;, std::allocator&lt;TCHAR&gt; &gt; tstring;
</code></pre>
</blockquote>
<p>Naja^^, kommt aufs Gleiche raus, wobei man natürlich durchgehend cString/tstring verwenden sollte, jupp:</p>
<p>(D)Evil schrieb:</p>
<blockquote>
<p>aja und dann auch</p>
<pre><code class="language-cpp">typedef bool(__cdecl* PFILEHANDLER)(const tstring&amp;, void*);
</code></pre>
<p>usw ...</p>
</blockquote>
<p>konsekutiv <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>Auch wenn ichs nicht geschrieben habe, stimme ich dem trotzdem zu :</p>
<p>CodeFinder|logged out schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/15251">@me-S-on</a>: Warum schreibst du so chaotisch?</p>
</blockquote>
<p>me-S-on schrieb:</p>
<blockquote>
<p>Also, mit anderen Worten bool (__cdecl) ist nur eine Eigenart des Stack-push- und -poppens ( zum Glück bin ich gerade intensiv parallel am Assembler dran!!! ) für die Parameter ,die in der pFileProc übergeben werden .<br />
Oder? <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>Joar.</p>
<p>me-S-on schrieb:</p>
<blockquote>
<p>Also, dieser pFileProc.... ein Zeiger auf den Anfang einer Funktion ....., ich mein, ich weiss, dass man auch in der wndclass das lpfnWndProc-Member so mit einer Funktion initialisiert.... also den Namen derer ohne Klammern entspricht einem Zeiger auf diese, das Program holt sie sich dann schon.<br />
-Ne? <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>Genau, das ist damit vergleichbar.</p>
<p>me-S-on schrieb:</p>
<blockquote>
<p>Und dann noch Userdata und pUser data....<br />
-&gt;<br />
Zusammengefasst:<br />
pFileProc, pUserData und UserData sind einfach Funktionen, die du in deinem Programm benutzt, daher haste die mit gepostet.<br />
Einfach dein Code, zwingend erforderlich sind die ja nicht bei jedem, ne? <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>Nein, nur pFileProc ist ein Funktionszeiger. pUserData ist ein Parameter der Funktion 'ScanFoldersForFiles'.</p>
<p>me-S-on schrieb:</p>
<blockquote>
<h2>Ok, wenn ich nun die Elemente<br />
-TVINSERTSTRUCT<br />
-HTREEVIEW<br />
- char * ppath;<br />
- char * actpath<br />
- char *newpath<br />
- char *dev_root<br />
nicht alle global machen will, mache ich eine<br />
Funktion global bekannt, welche notwendige Schritte und Variablen übernimmt, um ins TreeVew zu inserten und Images zuzufügen, mache die Suche aber in dieser SerachFolderForFile Funktion.<br />
Dabei übergebe ich dieser einen Pointer auf die vorige Funktion, und SPARE MIR DAMIT TATSÄCHLICH GLOBALE VARIABLEN?????<br />
Ich habe, ( ich bin ja am testen, einen HAUFEN GLOBALER) .</h2>
<p>Wenn ich das so richtig entnommen habe. ----</p>
</blockquote>
<p>ALSO ANBRÜLLEN BRAUCHST DU MICH 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="😉"
    /> . Und ähm, kp was Du damit sagen willst ... . Drück Dich mal etwas verständlicher aus ... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /></p>
<p>me-S-on schrieb:</p>
<blockquote>
<p>-Die char-cut and replace-Angelegenheit habe ich gestern ebenfalls scheinbar hinbekommen...... allerdings mit mehr oder weniger ANSI-C. Ich habe keine objektorientierten Methoden aus der &lt;string&gt; benutzt.<br />
Könnte ich allerdings mal tun.</p>
</blockquote>
<p>Ich finde OOP besser als Prozedurale. Aber das ist Ansichtssache. Arbeite einfach mal mit beiden und finde damit heraus, womit Du besser klar kommst <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>me-S-on schrieb:</p>
<blockquote>
<p>Nun schmiert das zwar nach dem dritten Unterordner ab( mit errorcode 6_ Invalid handle) aber das krich ich auch noch hin.</p>
</blockquote>
<p>Also bei mir funktioniert die Funktion eigentlich problemlos.</p>
<p>me-S-on schrieb:</p>
<blockquote>
<p>Diese Posts vom (D)Evil !<br />
Echt, nomen ost omen.<br />
Aber ihr beide könnt Euch sicher miteinander messen <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>Ne, ne (D)Evil ist Kollega <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="🤡"
    /> ...er hat ja Recht, man sollte konsequent cString verwenden...glaub das hatte bei mir n internen Grund, dass ichs nicht gemacht hab. Also, wenns bei Dir passt, solltest Du auch, wie (D)Evil geschrieben hat, ne konstante Referenz auf ein cString-Objekt verwenden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1300712</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1300712</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Thu, 07 Jun 2007 12:44:27 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Thu, 07 Jun 2007 13:32:39 GMT]]></title><description><![CDATA[<p>Danke!<br />
Ich meinte mit:</p>
<blockquote>
<p>Nein, nur pFileProc ist ein Funktionszeiger. pUserData ist ein Parameter der Funktion 'ScanFoldersForFiles'.</p>
<p>me-S-on schrieb:</p>
<h2>Ok, wenn ich nun die Elemente<br />
-TVINSERTSTRUCT<br />
-HTREEVIEW<br />
- char * ppath;<br />
- char * actpath<br />
- char *newpath<br />
- char *dev_root<br />
nicht alle global machen will, mache ich eine<br />
Funktion global bekannt, welche notwendige Schritte und Variablen übernimmt, um ins TreeVew zu inserten und Images zuzufügen, mache die Suche aber in dieser SerachFolderForFile Funktion.<br />
Dabei übergebe ich dieser einen Pointer auf die vorige Funktion, und SPARE MIR DAMIT TATSÄCHLICH GLOBALE VARIABLEN?????<br />
Ich habe, ( ich bin ja am testen, einen HAUFEN GLOBALER) .</h2>
<p>Wenn ich das so richtig entnommen habe. ----</p>
<p>ALSO ANBRÜLLEN BRAUCHST DU MICH 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="😉"
    /> . Und ähm, kp was Du damit sagen willst ... . Drück Dich mal etwas verständlicher aus ... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /></p>
</blockquote>
<p>Dieszbezüglich_</p>
<blockquote>
<p>Wie gesagt, das Prinzip ist vergleichbar mit einer WNDPROC. Dies hat aber nichts mit der WndProc Deines Fensters zu tun!</p>
<p>me-S-on schrieb:<br />
Was übergibst du mit pData und mit pUserData?</p>
<p>pData ist der 2. Parameter der Funktion die Du erst definieren und deren Zeiger Du dann übergeben musst. Dies ist also kein Paremeter der Funktion 'ScanFoldersForFiles'! An pUserData kannst Du einen beliebigen Zeiger übergeben. Diese Daten stehen dann bei jedem Aufruf von dieser pFileProc-Funktion (die Du definieren musst und von meiner 'ScanFoldersForFiles'-Funktion aufgerufen wird) im 2. Parameter 'pData'. Damit verhindert man die Verwendung von globalen Variablen. Auch dieses Prinzip findet man oft in der WinAPI wieder. Vergleiche die Funktion EnumWindows, siehe letzter Parameter.<br />
Man könnte diese Funktion auch so schreiben:</p>
</blockquote>
<p>Um also meiner Suchfunktion lokaloe Variablen einer anderen Funktion zu übergeben und somit globale zu sparen...<br />
...<br />
ach , pFileProc ist ja die Funktion nd pUser Data deren Parameter....<br />
:<br />
----------------------------------<br />
Fälschlicherweise wollte ich fragen:<br />
Fall ich einer Funktion ein Funktion als Parameter übergebe, die NUR anhand ihres Namens den Zeiger übergibt...... habe ich dann in der Funktion, die aufruft, die Parameter des Funktionszeigers zur Verfügung, SO ALS OB sie global wären?<br />
-----------<br />
Know what i mean?<br />
...<br />
naja, ich glaube ich habe mich da verhaspelt.<br />
---<br />
Das ich NICHT deinen code nehme und auch nicht den , der vom OP, sollteste wissen, nur ich hänge fest, und daher muss ich forschen, weisste?<br />
Danke, bis zum nächsten Prob!<br />
Einen schönen Tag noch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1300748</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1300748</guid><dc:creator><![CDATA[messssson]]></dc:creator><pubDate>Thu, 07 Jun 2007 13:32:39 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Thu, 07 Jun 2007 13:45:30 GMT]]></title><description><![CDATA[<p>CodeFinder|logged out schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/15251">@me-S-on</a>: Warum schreibst du so chaotisch? <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>nichts für ungut aber liegt am vielen kiffen dran <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="😉"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1300759</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1300759</guid><dc:creator><![CDATA[messssson]]></dc:creator><pubDate>Thu, 07 Jun 2007 13:45:30 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Thu, 07 Jun 2007 14:49:57 GMT]]></title><description><![CDATA[<h2>darum bitten, mich nicht mit irgendeinr Droge in Verbindung zu bringen, dessen Verwendungn von mir Du Dir nicht absolut sicher bist.</h2>
<h2>Da ich davon ausgehen kann dass sich (D)Evil hier gerade als ich ausgegeben hat, ist dieser post an Dich gerichtet, Evil.<br />
Unterlasse bitte, mir Soetwas zu unterstellen, gekifft habe ich nie und anderen Krams auch nicht,solche Unterstellungen sind nicht tolerierbar und meines Erachtens auch sehr feige herübergebracht , als nichtregstrierter, der sich als jemand anderer Ausgibt.</h2>
<p>Wie Du kleiner P.E.N.N.E:R siehst , kann ich auch labern , wie Du , Du laberst aber wie ne englische, Teatime T.U.C.K.E- also ver-p.i.s.s Dich hier aus dem Thread und gebe mit deinem S.c.h.e.i.s.s. vor Kindern in deinem (geistigen) Alter an.<br />
Und: Du würdest jetzt sicher den Admin oder Mod dieser seite holen, DU f.ö.t.z.c.h.e.n... mach doch, aber bring mich nie wieder mit Irgendwelchen verdammten Drogen in Verbindung.<br />
<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="😉"
    /><br />
... nicht persönlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1300790</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1300790</guid><dc:creator><![CDATA[me-S-on]]></dc:creator><pubDate>Thu, 07 Jun 2007 14:49:57 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Thu, 07 Jun 2007 14:54:31 GMT]]></title><description><![CDATA[<p>Bist du Hartz 4 Empfenger?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1300797</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1300797</guid><dc:creator><![CDATA[messssson]]></dc:creator><pubDate>Thu, 07 Jun 2007 14:54:31 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Thu, 07 Jun 2007 15:12:53 GMT]]></title><description><![CDATA[<p>Hartz vier.<br />
Und die Kohle für Dich verdient se bei mir.<br />
Schonmal das Wort Arbeit gehört?<br />
So mit Mühe und Steuern?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1300811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1300811</guid><dc:creator><![CDATA[DEINE_MUDDER]]></dc:creator><pubDate>Thu, 07 Jun 2007 15:12:53 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Thu, 07 Jun 2007 15:24:34 GMT]]></title><description><![CDATA[<p><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/1300823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1300823</guid><dc:creator><![CDATA[messssson]]></dc:creator><pubDate>Thu, 07 Jun 2007 15:24:34 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Thu, 07 Jun 2007 18:40:08 GMT]]></title><description><![CDATA[<p>messssson schrieb:</p>
<blockquote>
<p>Bist du Hartz 4 Empfenger?</p>
</blockquote>
<p>Empf<strong>ä</strong>nger</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1300915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1300915</guid><dc:creator><![CDATA[...]]></dc:creator><pubDate>Thu, 07 Jun 2007 18:40:08 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Thu, 07 Jun 2007 18:42:27 GMT]]></title><description><![CDATA[<p>... schrieb:</p>
<blockquote>
<p>messssson schrieb:</p>
<blockquote>
<p>Bist du Hartz 4 Empfenger?</p>
</blockquote>
<p>Empf<strong>ä</strong>nger</p>
</blockquote>
<p>Thx. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1300916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1300916</guid><dc:creator><![CDATA[messssson]]></dc:creator><pubDate>Thu, 07 Jun 2007 18:42:27 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Mon, 11 Jun 2007 07:42:58 GMT]]></title><description><![CDATA[<p>wenn ich das Ganze z.B.mal so mache:</p>
<pre><code>rec_search(char *path)
{
  char *found;
  char *fp;
  char *nextp;
  HANDLE fh;
  WIN32_FIND_DATA hfd;

  fh = FindFirstFile(path,&amp;hfd);

  // Da habe ich  beim ersten Aufruf( der bei mir
  // in einer for-Schleife für jedes Laufwerk ausgeführt wird) den Jeweiligen
  // Laufwerksbuchstaben samt &quot;\*&quot; als Parameter, so weit so gut!!!

  do
  {
      if(!((hfd.cFileName[0]==&quot;.&quot; &amp;&amp; hfd.cFileName[1]== &quot;.&quot;) &amp;&amp; 
           (hfd.cFileName[2] == 0 || hfd.cFileName[1]=0)))
       {
          strcpy(ff,path);
          found = strstr(ff,&quot;*&quot;);
          found = &quot;&quot;;
          strcat(ff,hfd.cFileName);
          strcat(ff,&quot;\\*&quot;);
          strcpy(next, ff);

          rec_search(next);

  }while(FindNextFile(hfd,&amp;WIN32_FIND_DATA);
   findClose(fhh);
}
</code></pre>
<h2>Also, ich glaube , ich habe es zu Hause so.( nicht ganz sicher bin...)<br />
Ich kann nun den ersten Ordner meines Testlaufwerkes rekursiv durchsuchen und finde auch alle Ordner, die MessageBox ist auch noch in der inneren Schleife vorhanden und gibt mir immer den Übergabeparameter path aus.<br />
Dieser wird schön verlängert und dann wird immer ein Slash und die Wildcard drangepackt.</h2>
<h2>Aber nachdem ich im ersten ordner des Laufwerkes das letzte FirstChild ( wenn ihr das versteht) gefunden habe, schmiert er ab.<br />
Meiner Meinung nach mache ich was an der do-while falsch, oder aber ich , und das glaube ich eher, überschreibe den Pfad, der zur Rekursiven Suche gedacht ist, mit dem jeweiligen Pfad,den das letzte FirstChild empfing.<br />
...<br />
Das irittiert mich schon gewaltig.<br />
Wenn ich erhlich bin, fiel mir von gestern bis heute keine geeignete Möglichkeit ein.... den Übergabeparameter abhängig zu machen von dem Rückgabewert der FindNextFile funktion, ohne den Rst zu stören.</h2>
<p>Sehr sehr kopfzermürbend.<br />
Hat jemand ne Erklärung, bezüglich des Konzeptes?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1302901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302901</guid><dc:creator><![CDATA[me-S-on]]></dc:creator><pubDate>Mon, 11 Jun 2007 07:42:58 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Mon, 11 Jun 2007 08:36:44 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/15251">@me-S-on</a> und co: Muss das hier so ausarten!? Bitte wieder auf normale &quot;töne&quot; zurückfahren...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1302927</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302927</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Mon, 11 Jun 2007 08:36:44 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Mon, 11 Jun 2007 08:44:07 GMT]]></title><description><![CDATA[<h2>Ich entschuldige mich , aber mir soll keiner, der auch noch zu feige ist, sich zu registrieren , unterstellen, ich würde Drogen nehmen, und sich dann noch als ich ausgeben.</h2>
<p>Ab nun kann das Niveau gerne wieder in sanften Klängen weiterlaufen.<br />
Ist halt nur eine Verdeutlichung meines Standpunktes gewesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1302933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302933</guid><dc:creator><![CDATA[me-S-on]]></dc:creator><pubDate>Mon, 11 Jun 2007 08:44:07 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Mon, 11 Jun 2007 11:01:53 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/15251">@me-S-on</a>:<br />
Hm also das:</p>
<p>me-S-on schrieb:</p>
<blockquote>
<p>schmiert er ab.</p>
</blockquote>
<p>ist etwas unpräzise (Stichwort: Debugger), aber ich tippe trotzdem mal darauf, dass Du n Pufferüberlauf hast, da Du immer weiter kopierst und nie vergrößerst... aber... Warum nimmst Du nicht meine Funktion ? Die funktioniert doch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303026</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303026</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Mon, 11 Jun 2007 11:01:53 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Mon, 11 Jun 2007 12:47:16 GMT]]></title><description><![CDATA[<h2>du auch nicht vergrösserst.<br />
Nein, im Ernst:<br />
Ich kann nicht einfach nur abtippen..... muss ja wissen, warum so, und nicht so , wie ich es mach...... und da ist es mir egal, wie lang es dauert.</h2>
<h2>Ich tue es immer, wenn es komplett aussichtslos erscheint...noch ist es NIHCT SO WEIT <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /> <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="😉"
    /><br />
Das war es bisher nur bei den . und .. Verzechnissen...... die mir so nie angezeigrt werden, ausser auf der Konsole.</h2>
<h2>Nun, zurück zum Thema:<br />
Wie gesagt, du vergrösserst auch keine String-Speicherbereiche.<br />
(Kann es sein, dass deine angewandten String-Objektmethoden dieses bereits erledigen???) <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></h2>
<h2>Weil,der Fehler sieht auch sehr nach einem Overflow aus:</h2>
<h2>&quot;Regioned_Window.exe&quot; hat einen Fehler verursachtr und wird geschlossen.<br />
Bitte starten Sie das Programm neu.</h2>
<h2>Ich meinte auch schon, realloc und malloc irgendwie dort einzubauen...<br />
nur, wo?<br />
Beim Pfad, den ich erweiter.....<br />
Debugger? Schön wärs. Dev-Cpp und der Debugger...<br />
hinzu kommt, das mein Router irgendwelche Faxen macht.... ob der Typ, den ich hier beleidigt habe, sich auf mein System geschlichen hat und irgendwas &quot;durcheinandergebracht&quot; hat...... <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="😮"
    /> <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 />
Sowas soll es ja geben.Und nun kann ihc erstmal nur ausser Arbeit mit Dir kommunizieren.</h2>
<h2>Ach:<br />
Ähem, der sucht alels durch, ich habe einen Testordner angelegt, ihn aa genannt.<br />
in ihm gab es aa1, in diesem aa2, in diesem aa3, in diesem aa4, in diesem aa5.<br />
Der zweite Testordner hiess ab.<br />
In ihm gab es ab1, in diesem ab2 und in diesem ab3.<br />
Aber dieses Abschmieren geschieht, wenn er einen Ordner samt childern durch hat.<br />
Bisher weiss ich noch nicht, ob FindNextFile auf die Children klappt, weil ich in die Testordner jeweil nur einen eingefügt habe und in die jeweils nur einen.<br />
Aber wenn er mit aa fertig ist, müsste er ab checken, und genau da schmiert das Programm ab.</h2>
]]></description><link>https://www.c-plusplus.net/forum/post/1303117</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303117</guid><dc:creator><![CDATA[me-S-on]]></dc:creator><pubDate>Mon, 11 Jun 2007 12:47:16 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Mon, 11 Jun 2007 13:43:54 GMT]]></title><description><![CDATA[<p>(hoffentlich ist das hier kein privat - thread <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>
<p>me-S-on schrieb:</p>
<blockquote>
<p>Aber nachdem ich im ersten ordner des Laufwerkes das letzte FirstChild ( wenn ihr das versteht) gefunden habe, schmiert er ab.<br />
...<br />
Aber dieses Abschmieren geschieht, wenn er einen Ordner samt childern durch hat.<br />
...<br />
Aber wenn er mit aa fertig ist, müsste er ab checken, und genau da schmiert das Programm ab.</p>
</blockquote>
<p>Prüf mal die <strong>if () - Bedingung</strong> in der <strong>do-while-Schleife</strong>.</p>
<p>Es sieht so aus, als ob sie immer zutrifft und das Programm deshalb mit einem Stack-Overfow aussteigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303154</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303154</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 11 Jun 2007 13:43:54 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Mon, 11 Jun 2007 14:32:57 GMT]]></title><description><![CDATA[<p>me-S-on schrieb:</p>
<blockquote>
<p>Nein, im Ernst:<br />
Ich kann nicht einfach nur abtippen..... muss ja wissen, warum so, und nicht so , wie ich es mach...... und da ist es mir egal, wie lang es dauert.</p>
</blockquote>
<p>Ich hab Dir die Erklärungen doch schon geschrieben, was verstehst Du denn nicht ?</p>
<p>me-S-on schrieb:</p>
<blockquote>
<p>[...]<br />
du auch nicht vergrösserst.<br />
[...]<br />
Nun, zurück zum Thema:<br />
Wie gesagt, du vergrösserst auch keine String-Speicherbereiche.<br />
(Kann es sein, dass deine angewandten String-Objektmethoden dieses bereits erledigen???) <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
</blockquote>
<p>lol, klar ... std::string-Objekte vergrößern sich selbst, wenn es nötig ist ( <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> dynamische Objekte).<br />
Das ist ja (u.a.) der Vorteil von C++.</p>
<p>me-S-on schrieb:</p>
<blockquote>
<h2>Weil,der Fehler sieht auch sehr nach einem Overflow aus:</h2>
<h2>&quot;Regioned_Window.exe&quot; hat einen Fehler verursachtr und wird geschlossen.<br />
Bitte starten Sie das Programm neu.</h2>
<p>Ich meinte auch schon, realloc und malloc irgendwie dort einzubauen...<br />
nur, wo?</p>
</blockquote>
<p>Also ich bin mir ziemlich sicher, dass es ein Overflow ist... . Wenn Du nicht weißt, wie man Speicher dynamsich allkoiert (also Stichwort malloc, realloc, free, etc) dann empfehle ich Dir ein entsprechende Tutorial.</p>
<p>me-S-on schrieb:</p>
<blockquote>
<p>Beim Pfad, den ich erweiter.....<br />
Debugger? Schön wärs. Dev-Cpp und der Debugger...</p>
</blockquote>
<p>Ähm ahja. Und ... ? Ist das mein Problem, dass Dein Debugger nicht funktioniert ? Benutze doch einen anderen Compiler bzw. eine andere IDE mit besseren/<strong>aktuellem Debugger</strong>.</p>
<p>merker schrieb:</p>
<blockquote>
<p>(hoffentlich ist das hier kein privat - thread <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>Natürlich nicht, jeder ist willkommen <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/1303211</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303211</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Mon, 11 Jun 2007 14:32:57 GMT</pubDate></item><item><title><![CDATA[Reply to @codefinder -&amp;gt; dringend! on Tue, 12 Jun 2007 06:11:00 GMT]]></title><description><![CDATA[<h2>Das meinte ich ja mit: Netz geht derzeit nicht.<br />
Sonst hätte ich mir ja die MS-VC++ express geholt.<br />
Aber nun habe ich n Borland-Compiler aufgetrieben, samt IDE, mit dem ich früher mal unterwegs war. Das mit dem debuggen wird schon, spätestens heute!<br />
Ich krich es noch hin.... wartet ab!<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /><br />
Und Malloc und realloc..... davon habe ich auch n bisschen Notizen da...<br />
auch schonmal benutzt....<br />
new kricht das alles einfacher hin, allerdings soll dev-cpp damit Probleme haben, die ich noch nie gemerkt habe, weil ich das damals mal bei nem Server-client-Ding benutzt habe.<br />
Egal. Auf ein Neues.</h2>
<p>if Bedingung?<br />
Das n Datainame mit . oder .. anfängt und dann entweder nach einem Punkt nichts kommt , oder nach dem zweiten?<br />
Das trifft immer zu, sicher. Hat doch jeder Ordner, dürfte doch aber kein Grund sein..... dafür, dass der abschmiert, wenn er lediglich den Parentordner ändern muss.<br />
.<br />
Weil, den ersten im Laufwerk geht er bis zum Ende durch, allerdings in ihm und all seinen Children auch nur die ersten.Naja. Und dann käme er entweder zum zweiten parent ordner, oder aber hätte schon folgende children seiner children und derer angezeigt. Aber nur FindFirstFile wird rekursiv ausgeführt. Die Anweisung in der do-while Bedingung nur , um den Loop auf die Children auszudehnen , nicht aber um tatsächlich weitere Dateien in einem dieser Children ( oder gar dem Parent ) zu finden.<br />
- Aber: Danke.<br />
Ich schätze, einige bevorzugen erstmal Sendepause.<br />
Ich meld mich hoffentlich das nächste mal mit positiven Resultaten.<br />
Tschüss!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303682</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303682</guid><dc:creator><![CDATA[me-S-on]]></dc:creator><pubDate>Tue, 12 Jun 2007 06:11:00 GMT</pubDate></item></channel></rss>