![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с фалами
новенький в Делфи © (2002-03-23 17:25:00)как мне вывести в Memo все файлы, дирректории из выбранного каталога?
новенький в Делфи (2002-03-23 21:04:00) [1]Спасибо
SDS (2002-03-23 20:00:00) [2]Вот функция для получения файлов в каталоге,
Ниже пример ее использования для получения всех файлов и каталогов в корневом каталоге диска D:
function GetFilesListInDir(FilesPath: string; var FindedFiles: TStringList): boolean;
var
hFileFind: THandle;
fData: TWin32FindDataA;
pcFilePath: PChar;
Buffer: array[1..MAX_PATH] of char;
ind: integer;
begin
Result:=False;
if FindedFiles=nil then Exit;
FindedFiles.Clear;
pcFilePath:=@Buffer;
FilesPath := FilesPath+"*.*";
StrPCopy(pcFilePath,FilesPath);
hFileFind:=FindFirstFile(pcFilePath,fData);
if hFileFind<>INVALID_HANDLE_VALUE then
begin
Result:=True;
repeat
FindedFiles.Add(fData.cFileName);
until FindNextFile(hFileFind,fData)=False;
ind:=FindedFiles.IndexOf(".");
if ind <> -1 then
FindedFiles.Delete(ind);
ind:=FindedFiles.IndexOf("..");
if ind <> -1 then
FindedFiles.Delete(ind);
end;
end;
Пример использования
procedure TForm1.Button1Click(Sender: TObject);
var
tmpList : TStringList;
begin
tmpList := TStringList.Create;
GetFilesListInDir("D:\", tmpList);
Memo1.Lines.Assign(tmpList);
tmpList.Free;
end;