使用TDirectory.GetFiles Delphi XE8填充ListBox

时间:2015-10-01 00:44:10

标签: delphi listbox 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;

我希望社群能够就此方法提供意见。

1 个答案:

答案 0 :(得分:3)

它效率不高,但您可以删除几个变量和几行代码:

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;