Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.18;
Скачать: CL | DM;

Вниз

FindFirst   Найти похожие ветки 

 
Green_Templar ©   (2005-06-28 23:12) [0]

Вот не пойму то ли у меня с компилятором что-то не так, то ли я дуплю. Сделал прогу по помощи справки по FindFirst. Тупо не находит ни одного файла в любой директории!!! Блин, карячусь над ней уже второй час. Скачайте её плиз с  кому не в облом!!! Код вот:
[code]unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, Grids, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   CheckBox1: TCheckBox;
   CheckBox2: TCheckBox;
   CheckBox3: TCheckBox;
   CheckBox4: TCheckBox;
   CheckBox5: TCheckBox;
   CheckBox6: TCheckBox;
   CheckBox7: TCheckBox;
   StringGrid1: TStringGrid;
   Edit1: TEdit;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var
 sr: TSearchRec;
 FileAttrs: Integer;
begin
 StringGrid1.RowCount := 1;
 if CheckBox1.Checked then
   FileAttrs := faReadOnly
 else
   FileAttrs := 0;
 if CheckBox2.Checked then
   FileAttrs := FileAttrs + faHidden;
 if CheckBox3.Checked then
   FileAttrs := FileAttrs + faSysFile;
 if CheckBox4.Checked then
   FileAttrs := FileAttrs + faVolumeID;
 if CheckBox5.Checked then

   FileAttrs := FileAttrs + faDirectory;
 if CheckBox6.Checked then
   FileAttrs := FileAttrs + faArchive;
 if CheckBox7.Checked then

   FileAttrs := FileAttrs + faAnyFile;

 with StringGrid1 do
 begin
   RowCount := 0;

   if FindFirst(Edit1.Text, FileAttrs, sr) = 0 then

   begin
     repeat
       if (sr.Attr and FileAttrs) = sr.Attr then
       begin
       RowCount := RowCount + 1;
       Cells[1,RowCount-1] := sr.Name;
       Cells[2,RowCount-1] := IntToStr(sr.Size);
       end;
     until FindNext(sr) <> 0;
     FindClose(sr);
   end;
 end;
end;

end.[/code]


 
Гаврила ©   (2005-06-28 23:15) [1]

Что в Edit1.Text?
Должно быть что-то типа "C:\Windows\*.*";


 
Green_Templar ©   (2005-06-28 23:16) [2]

Скачать можно с
http://green-templar.newmail.ru/HelpOnFindFirst.rar


 
Green_Templar ©   (2005-06-28 23:19) [3]

*.* пробовал, не помогает.


 
Ученик   (2005-06-28 23:21) [4]

А если убрать

if (sr.Attr and FileAttrs) = sr.Attr then


 
Anatoly Podgoretsky ©   (2005-06-28 23:22) [5]

Green_Templar ©   (28.06.05 23:12)  
При правильном значении Edit1.Text должен что то находить, не все конечно, поскольку пример в справке не столько учит, сколько запутывает :-)
Хорошии примеры смотри здесь http://podgoretsky.com/ftp/Language/nps/ru.delphi.html#N158


 
Anatoly Podgoretsky ©   (2005-06-28 23:22) [6]

Ученик   (28.06.05 23:21) [4]
На это и намекаю :-)


 
Green_Templar ©   (2005-06-28 23:25) [7]

Таки при *.* работает!!! Если включить faAnyFile :) Сори за тупые вопросы, я больше так не буду... И, конечно, огромное спасибо.



Страницы: 1 вся ветка

Текущий архив: 2005.07.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.047 c
14-1119506487
Ega23
2005-06-23 10:01
2005.07.18
С днем рождения! 23 июня


9-1112811575
HPR
2005-04-06 22:19
2005.07.18
DelphiX и краевой альфаблендинг


14-1119391696
ЦУКОР5
2005-06-22 02:08
2005.07.18
В Edit только цифры


14-1119421018
boalse
2005-06-22 10:16
2005.07.18
Подсчёт контрольной суммы.


1-1120241397
FANAT
2005-07-01 22:09
2005.07.18
Фреймы