使用 TDirectory.GetFiles Delphi XE8 填充列表框
Populate ListBox Using TDirectory.GetFiles Delphi XE8
是否存在使用 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;
我想听取社区对这种方法的意见。
效率并没有提高,但您可以删除几个变量和几行代码:
procedure PopListBox(var lb: TListBox; dir, ext: String; so: TSearchOption);
var
oc: TStringDynArray;
s: string;
begin
oc := TDirectory.GetFiles(dir, ext, so);
lb.Items.BeginUpdate;
try
for s in oc do
lb.Items.Add(s);
finally
lb.Items.EndUpdate;
end;
end;
是否存在使用 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;
我想听取社区对这种方法的意见。
效率并没有提高,但您可以删除几个变量和几行代码:
procedure PopListBox(var lb: TListBox; dir, ext: String; so: TSearchOption);
var
oc: TStringDynArray;
s: string;
begin
oc := TDirectory.GetFiles(dir, ext, so);
lb.Items.BeginUpdate;
try
for s in oc do
lb.Items.Add(s);
finally
lb.Items.EndUpdate;
end;
end;