![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как?
Xtorm © (2001-12-19 10:40:00)Как получить весь список файлов и папок допустим на диске с:\
только без помощи компонентов???
Xtorm (2001-12-19 11:39:00) [1]СПАСИБО Всем все теперь работает!!!!
cpp (2001-12-19 10:53:00) [2]Вот и моих исходников можешь подстроить под себя
procedure ReadAllFiles(DirFrom : string);
var SearchRecOtkuda : TSearchRec;
procedure ReadFile(FileName : string);
begin
// что хочем то и делаем с файлом
end;
procedure ReadDir(DirName : string);
begin
// что хочем то и делаем с директорием
if (DirName <> ".") and (DirName <> "..") then
begin
ReadAllFiles(DirFrom+"\"+DirName);
end;
end;
begin
if FindFirst(DirFrom+"\*.*",faAnyFile,SearchRecOtkuda) = 0 then
begin
if (faDirectory and SearchRecOtkuda.Attr) > 0 then
ReadDir(SearchRecOtkuda.Name)
else
ReadFile(SearchRecOtkuda.Name);
while FindNext(SearchRecOtkuda) = 0 do
begin
if (faDirectory and SearchRecOtkuda.Attr) > 0 then
ReadDir(SearchRecOtkuda.Name)
else
ReadFile(SearchRecOtkuda.Name);
end;
end;
end;
Dimka Maslov (2001-12-19 10:52:00) [3]
procedure FindFiles(Path, Mask: string; List: TStrings; IncludeSubDir: Boolean = True);
var
SearchRec: TSearchRec;
FindResult: Integer;
begin
List.BeginUpdate;
try
Path:=IncludeTrailingBackSlash(Path);
FindResult:=FindFirst(Path+"*.*", faAnyFile, SearchRec);
try
while FindResult = 0 do with SearchRec do begin
if (Attr and faDirectory<>0) then begin
if IncludeSubDir and (Name<>"..") and (Name<>".")
then FindFiles(Path+Name, Mask, List, IncludeSubDir);
end else begin
if MatchesMask(Name, Mask) then List.Add(Path+Name);
end;
FindResult:=FindNext(SearchRec);
end;
finally
FindClose(SearchRec);
end;
finally
List.EndUpdate;
end;
end;
Bizon (2001-12-19 10:46:00) [4]Воспользуйся ф-ями FindFirst & FindNext