![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск [D7, XP]
lobach © (2006-10-08 13:18:00)Данная процедура должна искать все exe файлы в каталоге, указанном в Edit1. В большинстве ищет exe, но попадаются и другие, в чем ошибка?
procedure TForm1.FindFile(Dir: string);
var
ext:String;
SR: TSearchRec;
FindRes: Integer;
begin
FindRes := FindFirst(Dir + '*.*', faAnyFile, SR);
if Length(SR.Name) > 3 then begin
ext:= SR.Name[Length(SR.Name)-2] + SR.Name[Length(SR.Name)-1] + SR.Name[Length(SR.Name)];
end;
while FindRes = 0 do
begin
if ((SR.Attr and faDirectory) = faDirectory) and
((SR.Name = '.') or (SR.Name = '..')) then
begin
FindRes := FindNext(SR);
if Length(SR.Name) > 3 then begin
ext:= SR.Name[Length(SR.Name)-2] + SR.Name[Length(SR.Name)-1] + SR.Name[Length(SR.Name)];
end;
Continue;
end;
if ((SR.Attr and faDirectory) = faDirectory) then
begin
FindFile(Dir + SR.Name + '\');
FindRes := FindNext(SR);
if Length(SR.Name) > 3 then begin
ext:= SR.Name[Length(SR.Name)-2] + SR.Name[Length(SR.Name)-1] + SR.Name[Length(SR.Name)];
end;
Continue;
end;
if ext='exe' then begin
ListBox1.Items.Add(Dir+SR.Name);
end;
FindRes := FindNext(SR);
end;
FindClose(SR);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Clear;
FindFile(Edit1.Text);
end;
Percent (2006-10-08 23:56:00) [1]оно читать не умеет -- проверено.
Осел останется ослом,
Хотя осыпь его звезд ами;
Где должно действовать умом,
Он только хлопает ушами...
(С) Державин
Ketmar (2006-10-08 23:49:00) [2]когда это неко умрёт?
зыж не стоит отвечать. оно читать не умеет -- проверено.
Anatoly Podgoretsky (2006-10-08 14:06:00) [3]Откуда взял такой дикий код?
Ко мне на сайт за FAQ, обратить особое внимание на ответ от Юрия Зотова, в нем учтены обычные логические ошибки при поиске по расширению.
Percent (2006-10-08 13:20:00) [4]if Length(SR.Name) > 3 then begin
ext:= SR.Name[Length(SR.Name)-2] + SR.Name[Length(SR.Name)-1] + SR.Name[Length(SR.Name)];
Опять эти художества?
Ну почитал бы справку об ExtractFileExt, что ли?
Percent (2006-10-08 13:19:00) [5]*.*