gpt4 book ai didi

delphi - FindFirst 是否应该按字母顺序返回找到的文件?

转载 作者:行者123 更新时间:2023-12-03 14:45:03 26 4
gpt4 key购买 nike

我曾以为 FindFirst 会按字母顺序查找文件,但最近我发现虽然大多数情况都是如此,但有一些文件并不是按字母顺序排列的。

if FindFirst( AProgramPath, faAnyFile, ASearchRec ) = 0 then
repeat
AFilename := ASearchRec.name;
until FindNext( ASearchRec ) <> 0;
FindClose( ASearchRec );

这里的一个特定文件夹中包含大约 300 个文本文件,除了大约 8-10 个文件之外,所有文件都按正确的字母顺序返回。

如果 findfirst 不按字母顺序返回文件,是否有一种方法可用于按字母顺序对文件夹内容进行排序,以便 findfirst 按字母顺序返回文件?

问候,

比尔

最佳答案

FindFirst 函数不对搜索结果进行排序,但您可以使用 TStringList 对文件进行排序。

Procedure GetOrderFiles();
var
ListFiles : TStringList;
result : integer;
ASearchRec: TSearchRec;
begin
ListFiles := TStringList.Create;
try
ListFiles.sorted := True;
result := findFirst(AProgramPath,faAnyFile,ASearchRec );
try
while result = 0 do
begin
if (ASearchRec.name <> '.') and (ASearchRec.name <> '..') then
ListFiles.add(ASearchRec.name);
result:=FindNext(ASearchRec );
end;
finally
FindClose(ASearchRec );
end;

//process your files

//....
finally
ListFiles.free;
end;
end;

关于delphi - FindFirst 是否应该按字母顺序返回找到的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1595727/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com