2016-11-08 26 views
-2

如何在运行时使用驻留在我的applicaton.exe目录中的数据库名称(* .mdb)来填充组合框项目属性?获取组合框项目属性中的数据库名称列表

+0

参见[Delphi7中,创建组合框项目](http://stackoverflow.com/q/16496352/576719)如何填充在运行时带有项目的组合框。 –

+0

请参阅[使用delphi列出字符串网格中的目录中的所有文件](http://stackoverflow.com/q/11489680/576719)如何使用目录中的文件填充“TStrings”列表。 –

+0

我有这样的想法: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

回答

1

使用TDirectory.GetFiles函数来枚举所有* .mdb文件并将结果存储在TStringDynArray中。循环遍历结果并将值插入组合框。请确保您包含System.IOUtilsSystem.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])); 
相关问题