procedure FindFiles(ADir: String; AList: TStrings);
var
sr: TSearchRec;
begin
ADir := IncludeTrailingPathDelimiter(ADir);
if FindFirst(ADir + '*.*', faAnyFile, sr) = 0 then
begin
repeat
if (sr.Attr and faDirectory) <> 0 then // Если каталог
begin
if (sr.Name <> '.') and (sr.Name <> '..') then
FindFiles(ADir + sr.Name, AList);
Continue;
end;
AList.Add(ADir + sr.Name);
until FindNext(sr) <> 0;
FindClose(sr);
end;
end;
const
DirForSearch ='C:\Documents and Settings\All Users';
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.BeginUpdate; // Отключение прорисовки на время обновления
Memo1.Lines.Clear;
FindFiles(DirForSearch, Memo1.Lines);
Memo1.Lines.EndUpdate;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
S: String;
List: TStringList;
begin
List := TStringList.Create;
FindFiles(DirForSearch, List);
if List.Count = 0 then
S := 'Файлов не найдено'
else
S := Format('Найдено файлов: %d'#13#10#13#10'%s'#13#10'...'#13#10'%s',
[List.Count, List[0], List[List.Count-1]]);
ShowMessage(S);
List.Free;
end;
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.