没有TDirectory
时间: 2024-12-11 07:23:54 浏览: 4
如果在您的Delphi版本中没有内置的`TDirectory` 类,您可以使用 `TSearchRec` 结构体和 `FindFirstFile` / `FindNextFile` API 来逐个查找文件。以下是一个基本的示例,但它可能需要一些平台特定的调整:
```pascal
uses
System.SysUtils,
System.WinDef;
type
TSearchRec = packed record
.attrib: DWORD; // 文件属性
name: [AnsiChar] far PChar; // 文件名
...
end;
function FindFilesInFolder(const DirPath: string): TArray<string>;
var
SearchHandle: TFindData;
SearchRec: TSearchRec;
begin
Result := [];
// 创建查找句柄,替换通配符来查找整个文件夹
if FindFirstFile(PChar(DirPath + '*'), @SearchHandle) = 0 then
begin
repeat
// 检查是否找到的是一个文件
if (SearchHandle.Attrib and faAnyFile) = faNormal then
begin
Result.Append(PWideChar(SearchHandle.cFileName)^); // 转换宽字符到字符串
end;
// 继续查找下一个文件
FindNextFile(SearchHandle);
until FindError <> 0;
// 关闭查找句柄
FindClose(SearchHandle);
end;
// 返回文件名数组
end;
// 使用方法
var
FileNames: TArray<string>;
begin
FileNames := FindFilesInFolder('C:\YourFolderPath\');
for FileName in FileNames do
WriteLn(FileName);
阅读全文