|
|
1
8
我认为最快的方法是使用ioutils.pas中的tdirectory.getfiles方法。由于目录中(可见)文件的数量对于每个用户可能是不同的,所以只有很小的机会可以以某种方式检索到一个数字。 findfirst/findnext方法(包装在上面的方法中)实际上不遍历文件,它只遍历表中的条目,因此可能比预期的更快。 |
|
|
2
10
如果您在Windows 7或Server 2008 R2上运行,我建议从sysutils中提取findfirst和findmatchingfile函数,并对前者进行黑客攻击以使用findfirstfileex而不是findfirstfile。然后可以将附加标志参数设置为2(在msdn中定义为
此设置会显著提高这些操作系统上的findFirst/findNext循环的速度。寻找 FindFirstFileEx 有关详细信息,请参阅msdn,因为Delphi帮助检索到的最新文档不在Microsoft文档中。 tdirectory.getfiles最终似乎会调用findfirst,因此除了简化自己的代码外,它不会给您带来很多好处。 |
|
|
Christino · Delphi 2010和泛型 8 年前 |
|
|
john_who_is_doe · 求值器中的表达式非法(访问冲突)(&A) 10 年前 |
|
|
JakeSays · 从任务管理器隐藏和显示流程 13 年前 |
|
|
Edgar Holguin · 德尔福与印度 13 年前 |
|
|
awmross · 为什么编译器会警告变量可能无法初始化? 13 年前 |