2016-11-08 46 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])); 
相關問題