Текущий архив: 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.46 MB
Время: 0.042 c