2016-11-08 10 views
-2

コンボボックスの項目のプロパティに、実行時にapplicaton.exeディレクトリにあるデータベース名(* .mdb)を設定するにはどうすればよいですか?コンボボックスの項目のデータベース名のリストを取得する

+0

は移入する方法(http://stackoverflow.com/q/16496352/576719)[コンボボックスの項目を作成し、Delphi7]を参照してください。実行時にアイテムを持つコンボボックス。 –

+0

'' Delphiの文字列グリッドのディレクトリからすべてのファイルを一覧表示する ''(http://stackoverflow.com/q/11489680/576719) 'TStrings'リストにディレクトリのファイルを埋め込む方法を参照してください。 –

+0

私はこのようなことを念頭に置いていました:procedure TForm1.FormCreate(Sender:TObject); var データベース:TStringList; i:整数。 パス:文字列。 begin パス:= ExtractFilePath(Application.ExeName)+ '* .mdb'; databases:= TStringList.Create; i:= 0〜databases.Count-1 do combobox1.Items.Add(databases [i]); 最終的に databases.free; end; end; – 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])); 
関連する問題