<?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[Ordnersuche]]></title><description><![CDATA[<p>Hi ich suche mit folgendem Code nach Verzeichnissen:</p>
<pre><code>int CERAZER_V2Dlg::ladefiles(CString m_Verz1)
{

CString curdir = m_Verz1;
    CString appname;
	CString ftpfilename;
    CString winfilename;
	CString strDatei = (m_dMsgDlg.omg + &quot;*&quot;);
	CFileFind DateiSuchen;

    CFileFind ftpFind;

        BOOL bContinue = ftpFind.FindFile(curdir + &quot;\\*&quot;);

		while(bContinue &gt; 0)
{
    bContinue = ftpFind.FindNextFile();

	//strDatei = ftpFind.GetFileName();
    appname = ftpFind.GetFileName();

    if (appname == &quot;.&quot; || appname == &quot;..&quot;)
    {

	}
    else
    {

		if (ftpFind.IsDirectory())
        {
            m_Verz1 = curdir + &quot;\\&quot; + appname;

			m_ctlListBox1.InsertString(0,(LPCSTR) ftpFind.GetFilePath()); 

			ladefiles(m_Verz1);
        }
        else
        {

			// In appname steht der Filename
                 // Mit ftpFind.GetFilePath());  bekommt man den Pfad und den Filenamen

        }
    }

}

return 1; 

}
</code></pre>
<p>Irgendwie kriege ich es nicht hin den Code so umzuschreiben das er mir NUR die gesuchten Ordner(=strDatei) ausgibt. Er gibt mir immer alle Ordner in &quot;m_Verz1&quot; an.<br />
Kann mir einer helfen ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/195475/ordnersuche</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Apr 2026 16:01:13 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/195475.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 18 Oct 2007 07:00:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ordnersuche on Thu, 18 Oct 2007 07:00:50 GMT]]></title><description><![CDATA[<p>Hi ich suche mit folgendem Code nach Verzeichnissen:</p>
<pre><code>int CERAZER_V2Dlg::ladefiles(CString m_Verz1)
{

CString curdir = m_Verz1;
    CString appname;
	CString ftpfilename;
    CString winfilename;
	CString strDatei = (m_dMsgDlg.omg + &quot;*&quot;);
	CFileFind DateiSuchen;

    CFileFind ftpFind;

        BOOL bContinue = ftpFind.FindFile(curdir + &quot;\\*&quot;);

		while(bContinue &gt; 0)
{
    bContinue = ftpFind.FindNextFile();

	//strDatei = ftpFind.GetFileName();
    appname = ftpFind.GetFileName();

    if (appname == &quot;.&quot; || appname == &quot;..&quot;)
    {

	}
    else
    {

		if (ftpFind.IsDirectory())
        {
            m_Verz1 = curdir + &quot;\\&quot; + appname;

			m_ctlListBox1.InsertString(0,(LPCSTR) ftpFind.GetFilePath()); 

			ladefiles(m_Verz1);
        }
        else
        {

			// In appname steht der Filename
                 // Mit ftpFind.GetFilePath());  bekommt man den Pfad und den Filenamen

        }
    }

}

return 1; 

}
</code></pre>
<p>Irgendwie kriege ich es nicht hin den Code so umzuschreiben das er mir NUR die gesuchten Ordner(=strDatei) ausgibt. Er gibt mir immer alle Ordner in &quot;m_Verz1&quot; an.<br />
Kann mir einer helfen ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1387603</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1387603</guid><dc:creator><![CDATA[hans1337]]></dc:creator><pubDate>Thu, 18 Oct 2007 07:00:50 GMT</pubDate></item><item><title><![CDATA[Reply to Ordnersuche on Thu, 18 Oct 2007 07:18:50 GMT]]></title><description><![CDATA[<p>Wenn du nur die Dateinamen ausgegeben haben willst, steht der InsertString()-Aufruf im falschen Zweig:</p>
<pre><code class="language-cpp">BOOL bContinue = ftpFind.FindFile(curdir + &quot;\\*&quot;);
while(bContinue &gt; 0)
{
    bContinue = ftpFind.FindNextFile();
    appname = ftpFind.GetFileName();

    if (appname == &quot;.&quot; || appname == &quot;..&quot;) //hier geht auch 'if(ftpFind.IsDots())
    {}
    else if (ftpFind.IsDirectory())
    {
        //Verzeichnis gefunden -&gt; rekursive Suche
        //m_ctlListBox1.InsertString(0,ftpFind.GetFilePath()); 
        ladefiles(ftpFind.GetFilePath());
    }
    else
    {
        //Datei gefunden -&gt; ausgeben
        m_ctlListBox1.InsertString(0,ftpFind.GetFilePath()); 
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1387617</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1387617</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 18 Oct 2007 07:18:50 GMT</pubDate></item><item><title><![CDATA[Reply to Ordnersuche on Thu, 18 Oct 2007 07:27:16 GMT]]></title><description><![CDATA[<p>danke für die Antowrt, aber wenn ichs so hinschreibe wie du ( hab ich auch schon getestet), dann bekomme ich alle Files angezeigt, also nicht die Ordner.<br />
Aber ich will ja die Ordner, aber halt nur die mit dem bestimmten Namen(=strDatei bei mir).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1387620</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1387620</guid><dc:creator><![CDATA[hans1337]]></dc:creator><pubDate>Thu, 18 Oct 2007 07:27:16 GMT</pubDate></item><item><title><![CDATA[Reply to Ordnersuche on Thu, 18 Oct 2007 07:39:27 GMT]]></title><description><![CDATA[<p>Dann mußt du halt vergleichen, ob der Ordnername übereinstimmt (exakte Treffer kannst du mit einem if(ftpFiles.GetFileName()==strDatei) herausfiltern - für Wildecard-Treffer mußt du etwas mehr Aufwand betreiben).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1387632</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1387632</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 18 Oct 2007 07:39:27 GMT</pubDate></item><item><title><![CDATA[Reply to Ordnersuche on Thu, 18 Oct 2007 07:53:57 GMT]]></title><description><![CDATA[<p>hmmm also wenn ichs so hinschreib</p>
<pre><code class="language-cpp">if (ftpFind.IsDirectory() &amp;&amp; ftpFind.GetFileName()==strDatei)
        {
            m_Verz1 = curdir + &quot;\\&quot; + appname;

			//if(ftpFind.GetFileName()==strDatei)
			//{
            m_ctlListBox1.InsertString(0,(LPCSTR)ftpFind.GetFilePath());
			//} 

            ladefiles(m_Verz1);
        }
        else
        {

            // In appname steht der Filename
                 // Mit ftpFind.GetFilePath());  bekommt man den Pfad und den Filenamen

        }
</code></pre>
<p>findet er nix mehr</p>
<p>so auch nicht :</p>
<pre><code class="language-cpp">if (ftpFind.IsDirectory())
        {
            m_Verz1 = curdir + &quot;\\&quot; + appname;

			if(ftpFind.GetFileName()==strDatei)
			{
            m_ctlListBox1.InsertString(0,(LPCSTR)ftpFind.GetFilePath());
			} 

            ladefiles(m_Verz1);
        }
        else
        {

            // In appname steht der Filename
                 // Mit ftpFind.GetFilePath());  bekommt man den Pfad und den Filenamen

        }
</code></pre>
<p>Dabei wäre es doch so logisch.<br />
Wenn der bekommene Pfadname == strDatei -&gt; Ausgabe<br />
Versteh ich nicht, wenn ich die if-Schleife um die Ausgabe weglasse gibt er mir alle Dateipfade aus...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1387640</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1387640</guid><dc:creator><![CDATA[hans1337]]></dc:creator><pubDate>Thu, 18 Oct 2007 07:53:57 GMT</pubDate></item><item><title><![CDATA[Reply to Ordnersuche on Thu, 18 Oct 2007 09:51:36 GMT]]></title><description><![CDATA[<p>Vermutlich stört für den Vergleich, daß du an den zu suchenden Dateinamen noch das &quot;<em>&quot; angehängt hast (der kommt in den gefundenen Dateinamen mit Sicherheit nicht vor - und Wildcard-Vergleiche ala &quot;Der Dateiname passt zum Muster &quot;test</em>&quot;&quot; sind leider etwas komplizierter).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1387732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1387732</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 18 Oct 2007 09:51:36 GMT</pubDate></item><item><title><![CDATA[Reply to Ordnersuche on Thu, 18 Oct 2007 10:27:06 GMT]]></title><description><![CDATA[<p>Naja ich müsste halt noch ein paar Filter einbauen nehm ich mal an.</p>
<p>Ich habs jetzt immerhin schon mal so</p>
<pre><code class="language-cpp">if (appname == &quot;.&quot; || appname == &quot;..&quot;)    // Wenn appname ein File ist wird es rausgefiltert
    {

    }

	else if (ftpFind.IsDirectory())
        {
            m_Verz1 = curdir + &quot;\\&quot; + appname;

			if(DateiSuchen.FindFile(strDatei))
			{

			  m_ctlListBox1.InsertString(0,(LPCSTR) ftpFind.GetFilePath());
			 }

            ladefiles(m_Verz1);
        }
        else
        {
			//m_ctlListBox1.InsertString(0,(LPCSTR) ftpFind.GetFilePath());

            // In appname steht der Filename
                 // Mit ftpFind.GetFilePath());  bekommt man den Pfad und den Filenamen

        }
</code></pre>
<p>Da zeigt mir zwar die Ordner an die ich suche, allerdings sind noch ein paar Ordner dabei die da nix zu suchen haben, aber immerhin kleiner Fortschritt <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/1387763</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1387763</guid><dc:creator><![CDATA[hans1337]]></dc:creator><pubDate>Thu, 18 Oct 2007 10:27:06 GMT</pubDate></item><item><title><![CDATA[Reply to Ordnersuche on Thu, 18 Oct 2007 10:40:55 GMT]]></title><description><![CDATA[<p>Du hast den Namen des tatsächlich gefundenen Ordners (alleinstehend in GetFileName() oder als kompletter Pfad in GetFilePath() - den mußt du jetzt mit deinem Wunschnamen vergleichen:</p>
<pre><code class="language-cpp">CString strDatei = m_dMsgDlg.omg;//ohne &quot;*&quot;
...
    //Variante 1 - exakte Übereinstimmung mit Name
    else if (ftpFind.IsDirectory())
    {
        if(ftpFind.GetFileName()==strDatei)
        {
            m_ctlListBox1.InsertString(0,(LPCSTR) ftpFind.GetFilePath());
        }
        ladefiles(ftpFind.GetFilePath());
    }

    //Variante 2 - Zielname beginnt mit Vorgabename
    else if (ftpFind.IsDirectory())
    {
        CString strTarget = ftpFind.GetFileName();
        if(strTarget.Left(strDatei.GetLength()==strDatei)
        {
            m_ctlListBox1.InsertString(0,(LPCSTR) ftpFind.GetFilePath());
        }
        ladefiles(ftpFind.GetFilePath());
    }

    //Variante 3 - Zielname enthält Vorgabename
    else if (ftpFind.IsDirectory())
    {
        CString strTarget = ftpFind.GetFileName();
        if(strTarget.Find(strDatei)!=-1)
        {
            m_ctlListBox1.InsertString(0,(LPCSTR) ftpFind.GetFilePath());
        }
        ladefiles(ftpFind.GetFilePath());
    }
</code></pre>
<p>(Um nach einem beliebigen Wildcard-Muster zu suchen, müsstest du etwas mehr Aufwand betreiben - läuft im Endeffekt auf Regular Expressions hinaus)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1387771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1387771</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 18 Oct 2007 10:40:55 GMT</pubDate></item><item><title><![CDATA[Reply to Ordnersuche on Thu, 18 Oct 2007 10:57:14 GMT]]></title><description><![CDATA[<p>vielen vielen Dank ich werd mal gucken was ich davon brauchen kann <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/1387783</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1387783</guid><dc:creator><![CDATA[hans1337]]></dc:creator><pubDate>Thu, 18 Oct 2007 10:57:14 GMT</pubDate></item><item><title><![CDATA[Reply to Ordnersuche on Thu, 18 Oct 2007 11:37:17 GMT]]></title><description><![CDATA[<p>Also egal wie ichs mache, aber mit dem asterisk(*) hat das prog tatsächlich ein Problem, geb ich den Suchordner mit genauem Namen ein und lass den * Weg findet er es mir ohne Probleme, auch in Unter-unter-unterordnern.<br />
Aber wehe ich geb den * hinter den Suchbegriff...dann findet er zwar auch alle Ordner , aber noch jede Menge Unterordner die er nicht finden dürfte <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1387807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1387807</guid><dc:creator><![CDATA[hans1337]]></dc:creator><pubDate>Thu, 18 Oct 2007 11:37:17 GMT</pubDate></item><item><title><![CDATA[Reply to Ordnersuche on Thu, 18 Oct 2007 12:06:40 GMT]]></title><description><![CDATA[<p>Dein letzter Code is echt super, ausser mit Gross und Kleinschreibung hat der eigentlich keine Probleme. Nochmals vielen Dank <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>Du musst mir mal bei Gelegenheit verraten was es mit Regular Expressions auf sich hat <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/1387832</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1387832</guid><dc:creator><![CDATA[hans1337]]></dc:creator><pubDate>Thu, 18 Oct 2007 12:06:40 GMT</pubDate></item></channel></rss>