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

Вниз

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

 
lobach ©   (2006-10-08 13:18) [0]

Данная процедура должна искать все 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 13:19) [1]

*.*


 
Percent   (2006-10-08 13:20) [2]

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, что ли?


 
Anatoly Podgoretsky ©   (2006-10-08 14:06) [3]

Откуда взял такой дикий код?
Ко мне на сайт за FAQ, обратить особое внимание на ответ от Юрия Зотова, в нем учтены обычные логические ошибки при поиске по расширению.


 
Ketmar ©   (2006-10-08 23:49) [4]

когда это неко умрёт?

зыж не стоит отвечать. оно читать не умеет -- проверено.


 
Percent   (2006-10-08 23:56) [5]

оно читать не умеет -- проверено.

Осел останется ослом,
Хотя осыпь его звездами;
Где должно действовать умом,
Он только хлопает ушами...

(С) Державин



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

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

Наверх




Память: 0.47 MB
Время: 0.034 c
15-1159471917
default
2006-09-28 23:31
2006.10.22
Поговорим о грустном


1-1158224139
Ruslan D
2006-09-14 12:55
2006.10.22
Работа со строками


2-1160140411
Xtreme
2006-10-06 17:13
2006.10.22
Delphi.Begin3


2-1159520154
Василий Блаженный
2006-09-29 12:55
2006.10.22
BDS2006 vs Delphi 7


15-1159518713
Курдль
2006-09-29 12:31
2006.10.22
Бага у гуглей.