<?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[CFileFind Suche stoppen&#x2F;beenden ???]]></title><description><![CDATA[<p>Hallo,</p>
<p>wie kann man die CFileFind Funktion (beim Suchen) beenden (?), sodass die Suche gestoppt ist !</p>
<p>Danke<br />
:: NoName ::</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/80786/cfilefind-suche-stoppen-beenden</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 19:44:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/80786.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 24 Jul 2004 18:35:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CFileFind Suche stoppen&#x2F;beenden ??? on Sat, 24 Jul 2004 18:36:59 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>wie kann man die CFileFind Funktion (beim Suchen) beenden (?), sodass die Suche gestoppt ist !</p>
<p>Danke<br />
:: NoName ::</p>
]]></description><link>https://www.c-plusplus.net/forum/post/567558</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/567558</guid><dc:creator><![CDATA[__NoName__]]></dc:creator><pubDate>Sat, 24 Jul 2004 18:36:59 GMT</pubDate></item><item><title><![CDATA[Reply to CFileFind Suche stoppen&#x2F;beenden ??? on Mon, 26 Jul 2004 06:07:24 GMT]]></title><description><![CDATA[<p>Servus,</p>
<p>wie meinst du das? Willst du die Methode FindFile() oder FindNextFile() von CFindFile stoppen oder wie, wo, wer, was? *BAHNHOF*</p>
<pre><code class="language-cpp">CFileFind ffIniFile;
BOOL bFileFound = ffIniFile.FindFile(&quot;*.ini&quot;);

while (bFileFound)
{
	bFileFound = ffIniFile.FindNextFile();
	m_ctrCombo.AddString(ffIniFile.GetFileName());
}
</code></pre>
<p>Wenn er nichts mehr findet dann hört er auf. m_ctrCombo ist eine Member von einem Combobox Ctrl. (Typ: CComboBox)</p>
<p>Der Quelltext sucht nur nach *.ini Dateien und listet diese in einer Combobox auf.</p>
<p>*winke*<br />
Hellsgore</p>
]]></description><link>https://www.c-plusplus.net/forum/post/568213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/568213</guid><dc:creator><![CDATA[Hellsgore]]></dc:creator><pubDate>Mon, 26 Jul 2004 06:07:24 GMT</pubDate></item><item><title><![CDATA[Reply to CFileFind Suche stoppen&#x2F;beenden ??? on Mon, 26 Jul 2004 10:59:26 GMT]]></title><description><![CDATA[<p>Naja Hellsgore, ich habe eine rekursive Suche die nach Dateien sucht ! Und wenn die Datei schon gefunden wurde, dass Prog aber immernoch weitersucht, dann soll man die Suche mit einem &quot;Stop-Button&quot; beenden können ! So wie bei der Windose-Suche <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="😃"
    /> ! Die Suche kann beliebig gestoppt werden !</p>
<p>Hoffe du verstehst mein prob !<br />
Danke<br />
:: NoName ::</p>
]]></description><link>https://www.c-plusplus.net/forum/post/568363</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/568363</guid><dc:creator><![CDATA[__NoName__]]></dc:creator><pubDate>Mon, 26 Jul 2004 10:59:26 GMT</pubDate></item><item><title><![CDATA[Reply to CFileFind Suche stoppen&#x2F;beenden ??? on Mon, 26 Jul 2004 11:25:59 GMT]]></title><description><![CDATA[<p>öhm,</p>
<p>ich wills mal so sagen:</p>
<pre><code class="language-cpp">CGehirn *pWnd = new CGehirn();
pWnd = (CGehirn*)GetNoNameData();

if (pWnd-&gt;GetDünnpfiff() &gt; -1)
{
   TRACE(&quot;Ajo, Gerallt!!!&quot;);
}
else
{
   TRACE(&quot;Wer ist tot? NageldieKatzandieWand&quot;);
}
</code></pre>
<p>Output schrieb:</p>
<blockquote>
<p>Wer ist tot? NageldieKatzandieWand</p>
</blockquote>
<p><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>Ne, du musst doch dann irgendwo ein Abbruchkriterium haben oder? Zeigst du uns a bissl' QuellCödchen?</p>
<p>*winke*<br />
Hellsgore</p>
]]></description><link>https://www.c-plusplus.net/forum/post/568377</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/568377</guid><dc:creator><![CDATA[Hellsgore]]></dc:creator><pubDate>Mon, 26 Jul 2004 11:25:59 GMT</pubDate></item><item><title><![CDATA[Reply to CFileFind Suche stoppen&#x2F;beenden ??? on Mon, 26 Jul 2004 12:08:43 GMT]]></title><description><![CDATA[<p>Damit man deinen Stopbutton drücken kann,muss das Suchen in einen eigenen Thread laufen.</p>
<pre><code class="language-cpp">void CDeinDialg::OnStartButton()
{
 UpdateData();
 Filename_Edit.EnableWindow(false);
 suche_anhalten = false;
 AfxBeginThread(SuchDatei,this,THREAD_PRIORITY_NORMAL);
}

void CDeinDialog::OnStopButton()
{
 suche_anhalten = true;
}

UINT SuchDatei(LPVOID pParam)
{
 CDeinDialog * meinDailog = (CDeinDialog *) pParam;
 CFileFind ffIniFile;
 BOOL bFileFound = ffIniFile.FindFile(meinDialog-&gt;FileName_String);
 while (bFileFound)
 {
    if(meinDialog-&gt;suche_anhalten)
    {
      break;
    }
    bFileFound = ffIniFile.FindNextFile();
    meinDialog-&gt;m_ctrCombo.AddString(ffIniFile.GetFileName());
 } 
 meinDialog-&gt;FileName_Edit.EnableWindow(true);
 fIniFile.Close();
 return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/568412</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/568412</guid><dc:creator><![CDATA[Andorxor]]></dc:creator><pubDate>Mon, 26 Jul 2004 12:08:43 GMT</pubDate></item><item><title><![CDATA[Reply to CFileFind Suche stoppen&#x2F;beenden ??? on Mon, 26 Jul 2004 12:03:15 GMT]]></title><description><![CDATA[<p>Ein Abbruchkriterium ??? <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/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/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Hmm, das einzigste was ich benutze ist am Ende finder.Close() ! Aber damit kann man nicht viel anfangen ... Hier mein Code :</p>
<pre><code>CListCtrl* pList = (CListCtrl*) GetDlgItem(IDC_LIST1);
	CFileFind finder;
	BOOL bResult = finder.FindFile(Pfad + &quot;*.*&quot;);

	while(bResult)
	{		
		bResult = finder.FindNextFile();

		m_Pfad = finder.GetFilePath(); 
		UpdateData(false);

		if(! finder.IsDots())
		{
			if(finder.GetFileTitle().Find(m_DateiName) != -1) 				
			{				
				if(! finder.IsHidden())
				{			
						pList-&gt;InsertItem(0, finder.GetFileName());							
							pList-&gt;SetItemText(0,1, finder.GetFilePath());				

							CTime m_ctime;  						
							CFileStatus status; 					
							if( CFile::GetStatus( finder.GetFilePath(), status ) )  				
							{						
								pList-&gt;SetItemText(0,2, status.m_ctime.Format(&quot;%d.%m.%y - %H:%M:%S&quot;)); 						
							}							

				}
				else
				{
					UpdateData();
					if(m_VDS == TRUE)
					{
						pList-&gt;InsertItem(0, finder.GetFileName());							
							pList-&gt;SetItemText(0,1, finder.GetFilePath());				

							CTime m_ctime;  						
							CFileStatus status; 					
							if( CFile::GetStatus( finder.GetFilePath(), status ) )  				
							{						
								pList-&gt;SetItemText(0,2, status.m_ctime.Format(&quot;%d.%m.%y - %H:%M:%S&quot;)); 						
							}
					}
				}
			}				

					if(finder.IsDirectory())			
					{				
						Search(finder.GetFilePath() + &quot;\\*.*&quot;);			
					}		
				}	
			}

	ASSERT(GetSafeHwnd() != NULL); 
    MSG msg; 

    while (PeekMessage(&amp;msg, NULL, 0, 0, PM_REMOVE)) 
    { 
        if (!IsDialogMessage(&amp;msg)) 
        { 
            ::TranslateMessage(&amp;msg); 
            ::DispatchMessage(&amp;msg); 
        } 
    } 
	finder.Close();
</code></pre>
<p>Danke und Gruß<br />
:: NoName ::</p>
]]></description><link>https://www.c-plusplus.net/forum/post/568413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/568413</guid><dc:creator><![CDATA[__NoName__]]></dc:creator><pubDate>Mon, 26 Jul 2004 12:03:15 GMT</pubDate></item><item><title><![CDATA[Reply to CFileFind Suche stoppen&#x2F;beenden ??? on Mon, 26 Jul 2004 12:51:00 GMT]]></title><description><![CDATA[<p>@ Andorxor</p>
<p>Das habe ich mir auch gedacht, dann könnte ich ja mit WM_THREADFINISHED die Suche anhalten ! Aber das geht net, weil dann meine rekursive Suche nicht mehr funktionieren würde !</p>
<p>Beispiel:</p>
<p>Um die rekursive Suche zu starten muss ich ja das schreiben :</p>
<pre><code>z.B. RekursiveSearch(finder.GetFilePath() + &quot;\\*.*&quot;);
</code></pre>
<p>wenn ich aber jetzt ein Arbeitsthread verwende, dann lautet es so:</p>
<pre><code>AfxBeginThread(RekursiveSearch, ..., THREAD_PRIORITY_NORMAL);
</code></pre>
<p>Das bedeutet ich kann finder.GetFilePath() + &quot;\*.*&quot; nicht aufrufen, und wenn ich es nicht aufrufen kann, dann kann ich auch nicht rekursiv suchen !</p>
<p>&quot;Korrigier mich wenn ich mich Irre&quot; <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>Trotzdem Danke<br />
:: NoName ::</p>
]]></description><link>https://www.c-plusplus.net/forum/post/568469</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/568469</guid><dc:creator><![CDATA[__NoName__]]></dc:creator><pubDate>Mon, 26 Jul 2004 12:51:00 GMT</pubDate></item><item><title><![CDATA[Reply to CFileFind Suche stoppen&#x2F;beenden ??? on Mon, 26 Jul 2004 13:11:58 GMT]]></title><description><![CDATA[<p>Das kannst du so lösen:</p>
<pre><code class="language-cpp">class threadinfo
{
 public:
 CDialog * dia;
 CString Pfad;
}

void CDeinDialg::OnStartButton()
{
 UpdateData();
 Filename_Edit.EnableWindow(false);
 suche_anhalten = false;
 threadinfo * ti = new threadinfo();
 ti.dia = this;
 ti.Pfad = FileName_String 
 AfxBeginThread(SuchDatei,ti,THREAD_PRIORITY_NORMAL);
}

UINT SuchDatei(LPVOID pParam)
{
 threadinfo * ti = (threadinfo *) pParam;
 CDeinDialog * meinDailog = (CDeinDialog *) ti-&gt;dia;
 CFileFind ffIniFile;
 BOOL bFileFound = ffIniFile.FindFile(ti-&gt;Pfad);
 while (bFileFound)
 {
    if(meinDialog-&gt;suche_anhalten)
    {
      break;
    }
    bFileFound = ffIniFile.FindNextFile();
    meinDialog-&gt;m_ctrCombo.AddString(ffIniFile.GetFileName());
    if(ffIniFile.IsDirectory())            
    {                
        threahinfo ti2 = new threadinfo();
        ti2-&gt;dia  = ti-&gt;dia;
        ti2-&gt;Pfad = ffIniFile.GetFilePath() + &quot;\\*.*&quot;;
        SuchDatei(ti2);  
     }        

 } 
 meinDialog-&gt;FileName_Edit.EnableWindow(true);
 fIniFile.Close();
 delete ti;
 return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/568492</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/568492</guid><dc:creator><![CDATA[Andorxor]]></dc:creator><pubDate>Mon, 26 Jul 2004 13:11:58 GMT</pubDate></item><item><title><![CDATA[Reply to CFileFind Suche stoppen&#x2F;beenden ??? on Mon, 26 Jul 2004 14:05:16 GMT]]></title><description><![CDATA[<p>aha, super Idee ! Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/568588</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/568588</guid><dc:creator><![CDATA[__NoName__]]></dc:creator><pubDate>Mon, 26 Jul 2004 14:05:16 GMT</pubDate></item></channel></rss>