-2
如何在运行时使用驻留在我的applicaton.exe目录中的数据库名称(* .mdb)来填充组合框项目属性?获取组合框项目属性中的数据库名称列表
如何在运行时使用驻留在我的applicaton.exe目录中的数据库名称(* .mdb)来填充组合框项目属性?获取组合框项目属性中的数据库名称列表
使用TDirectory.GetFiles函数来枚举所有* .mdb文件并将结果存储在TStringDynArray中。循环遍历结果并将值插入组合框。请确保您包含System.IOUtils和System.Types个单位。
var
I: Integer;
MyList: TStringDynArray;
begin
MyList := TDirectory.GetFiles(ExtractFilePath(ParamStr(0)), '*.mdb',
TSearchOption.soAllDirectories);
for I := 0 to Length(MyList) - 1 do
begin
ComboBox1.Items.Add(MyList[I]);
end;
end;
仅插入不带路径使用的文件名:
ComboBox1.Items.Add(ExtractFileName(MyList[I]));
参见[Delphi7中,创建组合框项目](http://stackoverflow.com/q/16496352/576719)如何填充在运行时带有项目的组合框。 –
请参阅[使用delphi列出字符串网格中的目录中的所有文件](http://stackoverflow.com/q/11489680/576719)如何使用目录中的文件填充“TStrings”列表。 –
我有这样的想法:procedure TForm1.FormCreate(Sender:TObject); var databases:TStringList; i:整数; path:string; begin path:= ExtractFilePath(Application.ExeName)+'* .mdb'; databases:= TStringList.Create; 尝试 for i:= 0 to databases.Count-1 do combobox1.Items.Add(databases [i]); finally databases.free; 结束; 结束; – user3351050