<?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[FindFirst&#x2F;FindNext  Bsp funktioniert niht]]></title><description><![CDATA[<p>Ich bin momentan dabei die Dateien in einem Ordner auszulesen. Dabei bin ich auf das Beispiel von BorlandBuilder gestoßen. Ich habe mir den Quellcode geschnappt, 7 Checkboxen, 1 Editfeld, 1 StringGrid und 1 Button ins Formular gezogen und den Quellcode zum ButtonClickEreignis hinzugefügt.<br />
Ich wollte mit dem Quellcode rumexperimentieren um schlauer zu werden, aber leider bekomme ich keine Informationen im StringGrid angezeigt.<br />
Ins Edit1-Feld trage ich z.b. &quot;C:\WINDOWS&quot; ein, makiere alle Checkboxen und klicke auf den Button, da steht dann in einem Feld &quot;WINDOWS&quot; und im nächsten Feld &quot;0&quot;.<br />
Da ich leider mit FindFirst u. FindNext noch keinerlei Erfahrung habe, frage ich nun, was ich falsch mache.</p>
<p>Habe ich die Pfadangabe falsch angegeben, oder was mache ich falsch?</p>
<pre><code class="language-cpp">void __fastcall TForm1::Button1Click(TObject *Sender)
{
  TSearchRec sr;
  int iAttributes = 0;
  StringGrid1-&gt;RowCount = 1;
  iAttributes |= faReadOnly * CheckBox1-&gt;Checked;
  iAttributes |= faHidden * CheckBox2-&gt;Checked;
  iAttributes |= faSysFile * CheckBox3-&gt;Checked;
  iAttributes |= faVolumeID * CheckBox4-&gt;Checked;
  iAttributes |= faDirectory * CheckBox5-&gt;Checked;
  iAttributes |= faArchive * CheckBox6-&gt;Checked;
  iAttributes |= faAnyFile * CheckBox7-&gt;Checked;
  StringGrid1-&gt;RowCount = 0;
  if (FindFirst(Edit1-&gt;Text, iAttributes, sr) == 0)

  {
    do
    {
      if ((sr.Attr &amp; iAttributes) == sr.Attr)
      {
        StringGrid1-&gt;RowCount = StringGrid1-&gt;RowCount + 1;
        StringGrid1-&gt;Cells[1][StringGrid1-&gt;RowCount-1] = sr.Name;
        StringGrid1-&gt;Cells[2][StringGrid1-&gt;RowCount-1] = IntToStr(sr.Size);
      }
    } while (FindNext(sr) == 0);
    FindClose(sr);
  }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/170595/findfirst-findnext-bsp-funktioniert-niht</link><generator>RSS for Node</generator><lastBuildDate>Thu, 13 Aug 2026 22:23:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/170595.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 17 Jan 2007 18:17:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to FindFirst&#x2F;FindNext  Bsp funktioniert niht on Wed, 17 Jan 2007 18:17:30 GMT]]></title><description><![CDATA[<p>Ich bin momentan dabei die Dateien in einem Ordner auszulesen. Dabei bin ich auf das Beispiel von BorlandBuilder gestoßen. Ich habe mir den Quellcode geschnappt, 7 Checkboxen, 1 Editfeld, 1 StringGrid und 1 Button ins Formular gezogen und den Quellcode zum ButtonClickEreignis hinzugefügt.<br />
Ich wollte mit dem Quellcode rumexperimentieren um schlauer zu werden, aber leider bekomme ich keine Informationen im StringGrid angezeigt.<br />
Ins Edit1-Feld trage ich z.b. &quot;C:\WINDOWS&quot; ein, makiere alle Checkboxen und klicke auf den Button, da steht dann in einem Feld &quot;WINDOWS&quot; und im nächsten Feld &quot;0&quot;.<br />
Da ich leider mit FindFirst u. FindNext noch keinerlei Erfahrung habe, frage ich nun, was ich falsch mache.</p>
<p>Habe ich die Pfadangabe falsch angegeben, oder was mache ich falsch?</p>
<pre><code class="language-cpp">void __fastcall TForm1::Button1Click(TObject *Sender)
{
  TSearchRec sr;
  int iAttributes = 0;
  StringGrid1-&gt;RowCount = 1;
  iAttributes |= faReadOnly * CheckBox1-&gt;Checked;
  iAttributes |= faHidden * CheckBox2-&gt;Checked;
  iAttributes |= faSysFile * CheckBox3-&gt;Checked;
  iAttributes |= faVolumeID * CheckBox4-&gt;Checked;
  iAttributes |= faDirectory * CheckBox5-&gt;Checked;
  iAttributes |= faArchive * CheckBox6-&gt;Checked;
  iAttributes |= faAnyFile * CheckBox7-&gt;Checked;
  StringGrid1-&gt;RowCount = 0;
  if (FindFirst(Edit1-&gt;Text, iAttributes, sr) == 0)

  {
    do
    {
      if ((sr.Attr &amp; iAttributes) == sr.Attr)
      {
        StringGrid1-&gt;RowCount = StringGrid1-&gt;RowCount + 1;
        StringGrid1-&gt;Cells[1][StringGrid1-&gt;RowCount-1] = sr.Name;
        StringGrid1-&gt;Cells[2][StringGrid1-&gt;RowCount-1] = IntToStr(sr.Size);
      }
    } while (FindNext(sr) == 0);
    FindClose(sr);
  }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1211565</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1211565</guid><dc:creator><![CDATA[Wolfscowl]]></dc:creator><pubDate>Wed, 17 Jan 2007 18:17:30 GMT</pubDate></item><item><title><![CDATA[Reply to FindFirst&#x2F;FindNext  Bsp funktioniert niht on Wed, 17 Jan 2007 18:48:34 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>FindFirst basiert auf der DOS-Dateisuche. Du must also einen Platzhalter verwenden.<br />
Gib in das Edit mal &quot;C:\WINDOWS\*&quot; ein, dann werden alle Dateien und Unterverzeichnisse aus dem Windows-Verzeichniss angezeigt.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1211583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1211583</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 17 Jan 2007 18:48:34 GMT</pubDate></item><item><title><![CDATA[Reply to FindFirst&#x2F;FindNext  Bsp funktioniert niht on Wed, 17 Jan 2007 19:39:34 GMT]]></title><description><![CDATA[<p>Super das klappt.<br />
Danke für die schnell hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1211602</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1211602</guid><dc:creator><![CDATA[wolfscowl]]></dc:creator><pubDate>Wed, 17 Jan 2007 19:39:34 GMT</pubDate></item></channel></rss>