dポイントプレゼントキャンペーン実施中!

C++ builder 2009を使用しています。現在、作成したバイナリデータをファイルとして出力する際に、ファイルの保存場所を設定するために、コマンドボタン1つとテキストボックス1つを用意して、コマンドボタンをおして、ファイルを保存するフォルダのパスを設定して、そのパスをテキストボックスに表示しておくということはどのようにすればよいでしょうか?


SaveDialog1というのがありますが、これをつかうのでしょうか?


どうぞ、ご教授よろしくお願い致します。

A 回答 (1件)

TSaveDialogをフォームに配置します。



ボタンを押したときのイベントを作成します。

void __fastcall TForm1::Button1Click(TObject *Sender)
{

}

ダイアログの設定を行います。

//デフォルトのファイル拡張子
SaveDialog1->DefaultExt = ".txt";
//ファイルマスク(フィルタ)
SaveDialog1->Filter = "テキストファイル (*.txt)|*.TXT|すべてのファイル (*.*)|*.*";
//ダイアログボックスが開いたときのカレントディレクトリ
SaveDialog1->InitialDir = "C:\\sample"
//ダイアログの外観と動作
SaveDialog1->Options << ofOverwritePrompt << ofCreatePrompt;
//タイトルバーに表示するテキスト
SaveDialog1->Title = "タイトルバーに表示するテキスト";

TSaveDialogのプロパティはマニュアルをご覧ください。

TSaveDialogのExecuteメソッドを呼び、ダイアログを表示します。
Executeメソッドは、ユーザーがファイル名を選択して[保存]をクリックするとtrueを返します。

//ダイアログを表示する
//ユーザーがファイル名を選択して[保存]をクリックするとtrueを返す
if (SaveDialog1->Execute())
{

}

TSaveDialogのFileNameプロパティで、選択されたファイル名を取得します。

//選択されたファイルの名前
Edit1->Text = SaveDialog1->FileName;

全体のコードは次のようになります。

void __fastcall TForm1::Button1Click(TObject *Sender)
{
//デフォルトのファイル拡張子
SaveDialog1->DefaultExt = ".txt";
//ファイルマスク(フィルタ)
SaveDialog1->Filter = "テキストファイル (*.txt)|*.TXT|すべてのファイル (*.*)|*.*";
//ダイアログボックスが開いたときのカレントディレクトリ
SaveDialog1->InitialDir = TPath::GetHomePath();
//ダイアログの外観と動作
SaveDialog1->Options << ofOverwritePrompt << ofCreatePrompt;
//タイトルバーに表示するテキスト
SaveDialog1->Title = "タイトルバーに表示するテキスト";
//ダイアログを表示する
//ユーザーがファイル名を選択して[保存]をクリックするとtrueを返す
if (SaveDialog1->Execute())
{
//選択されたファイルの名前
Edit1->Text = SaveDialog1->FileName;
}
}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!