2011-09-13 5 views
3

WindowsのGUIを使用してDelphiでファイルを開くことができるようにします。フォルダなどをスクロールすることができます。これをMATLABで既に行っています。 file)はパスの文字列を返します。表示される拡張子をイベントで指定できます。デルファイではこの種の機能を利用できますか?どのように使用すればいいですか?標準ウィンドウのGUIウィンドウのあるDelphiオープンファイル

+0

が重複する可能性がコンポーネントを作成した場合TFileOpenDialogと古いTOpenDialog?](http://stackoverflow.com/questions/6236275/what-is-the-difference-between-new-tfileopendialog-and-the-old-topendialog) –

+0

@Lieven:私はドンOPは、異なった見た目の開いているダイアログがあることを知っていると思う。 :-) –

+0

@Ulrich - 本当、その質問のタイトルは(全く)うまくはありませんが、OPが答えを見れば、それはすべてあります。とにかく遅すぎると、私はクローズ*投票を元に戻すことができません。 –

答えて

7

ダイアログユニットの一部であるTOpenDialogコンポーネントを使用することができます。実行時に作成するか、このコンポーネントをダイアログパレットからドロップすることができます。

あなたのフォームにコンポーネントをドロップする場合は、この方法で使用することができます

OpenDialog1.Filter := 'Only Text files (*.txt)|*.txt'; 
if OpenDialog1.Execute then 
    //do you stuff here 

か、実行時に新しいの違いは何ですか[の

Var 
    OpenDialog1 : TOpenDialog; 
begin 
OpenDialog1:=TOpenDialog.Create(nil); 
try 
    OpenDialog1.Filter := 'Only Text files (*.txt)|*.txt'; 
    if OpenDialog1.Execute then 
    ShowMessage('Selected File '+OpenDialog1.FileName); 
finally 
    OpenDialog1.Free; 
end; 

end; 
+0

ありがとう、しかし私はボタンの下にこれらの行をコピーしましたが、私はそれを打つとき何も起こりません。私はDialogsステートメントを自分の用途に使用しています。そして、残りのコードでどのように名前(およびディレクトリ)を使用するのですか? – Jort

+0

@Jortそれは他の人にとってうまくいきます。あなたが私たちにもっと詳細を教えない限り、私たちは手伝ってはいけません。あなたのコードがどのように見えるかわからないようにしてください。 –

+0

コンポーネントをフォームに最初にドロップすると、コードが機能します。とにかく、ランタイムでコンポーネントを作成するサンプルを追加して答えを更新しました。選択したファイルの名前を取得するには、 'FileName'プロパティを使用する必要があります。 – RRUZ

1

これは、関連するWindows機能をカプセル化するTOpenDialogを介して利用できます。

フォームにTOpenDialogコンポーネントをドロップします。その後、OpenDialog1.Executeに電話してWindowsのダイアログを表示することができます。

関連する問題