【发布时间】:2015-10-01 00:44:09
【问题描述】:
是否存在使用 TDirectory.GetFiles 中的文件名填充 ListBox 的更有效方法?
procedure PopListBox(var lb: TListBox; dir, ext: String; so: TSearchOption);
var
i: Integer;
iend: Integer;
oc: TStringDynArray;
begin
oc := TDirectory.GetFiles(dir, ext, so);
iend := Length(oc);
i := 0;
repeat
lb.Items.Add(oc[i]);
Inc(i);
until (i > (iend - 1));
end;
我希望社区就这种方法提供意见。
【问题讨论】:
-
它有什么效率这么低?我唯一能想到的另一件事是
FindFirst/FindNext使用起来比较棘手,因此实现了这个函数。这仅适用于 Windows 还是跨平台? -
Jerry this if 最初用于 Windows。接下来是跨平台。强烈的批评只会让代码更紧凑。
-
如果条目很多,添加
lb.Items.BeginUpdate和EndUpdate会有所帮助 -
GetFiles 只是效率低下。 IOUtils 执行不力。
标签: delphi listbox delphi-xe8