Текущий архив: 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