• ベストアンサー

コマンドボタンをクリック時のコードから抜けたい

C++ Builder 2009でプログラムやってます。 コマンドボタンのクリックでファイルを開くプログラミングを作っているのですが、 ”OpenDialog1->FileName”に存在しないファイルのパスが入っていた場合に、そのコマンドボタンのコードから抜けたいのですがどうしたらよいのでしょうか? if(!FileExists(OpenDialog1->FileName)){ break; } というのがビルドエラーになるのですが、方法をご教授頂きますようお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

return; じゃなくて?

diy_sunny
質問者

お礼

回答頂きありがとうございます。解決しました。

その他の回答 (2)

回答No.3

breakを使用すると、switch、for、while、doブロックの処理を終えます。 これらのブロックの外でberakを使っているのではないでしょうか。 現在の関数を終了して、呼び出し側のルーチンに戻るにはreturnを使用します。 break - RAD Studio http://docwiki.embarcadero.com/RADStudio/XE4/ja/Break return - RAD Studio http://docwiki.embarcadero.com/RADStudio/XE4/ja/Return

diy_sunny
質問者

お礼

回答頂きありがとうございます。解決しました。

  • wormhole
  • ベストアンサー率28% (1621/5657)
回答No.2

何度かいってると思いますが、せめてC++入門書など一通りは読まれた方がよいのでは? ろくに英語の単語も文法も知らずに英語の小説書きますか? >というのがビルドエラーになるのですが、方法をご教授頂きますようお願い致します。 どういうエラーが出たのかそっくりそのまま書きましょう。 あなた以外にはどういうエラーが出てるのかわかりません。 推測はできるかもしれませんが、その推測が当たってるとは限りませんから(「どんなエラーが出たのか当ててください」ってクイズ?やってるんじゃないんだし)

diy_sunny
質問者

お礼

回答頂きありがとうございます。解決しました。エラー文の確認とか大事ですね。

関連するQ&A

  • OpenDialog1->FileNameについて

    C++ Builderでプログラミングしています。 OpenDialog1->FileName = Edit1->Text; このようなテキストボックスに書かれたファイルパスをOpenDialog1->FileNameにいれてそこがNULLだった場合は、ファイルの読み込みを中止する処理をするようなことをやりたいと思っています。 if(OpenDialog1->FileName == NULL){ Edit1->Text;のなかに何も入っていない状態でNULLかどうかのif文に来たときに、NULLではないと判定されるのですが、この書き方に問題があるのでしょうか? また、OpenDialog1->FileName に入っているパスが存在しない場合にファイル読み込みを中止させるような方法はありますでしょうか? どうぞ、ご教授の程よろしくおねがい致します。

  • コマンドボタンでファイルの保存先を設定したい。

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

  • C++BuilderにてEFCreateErrorが回避できません

    こんにちは。プログラミング初心者でくだらない質問だったら申し訳ないのですが、調べてもどうしても解決できなかったので質問させて下さい。お手数をおかけしますが宜しくお願い致します。 C++Builderにて単純なプログラムを作成しています。 内容はTEditコンポーネント,TButtonコンポーネント,TOpenDialogコンポーネントを設置し、TButtonのクリックイベントでOpenDialogのExcecuteメソッドを呼びます。 ExcecuteメソッドがtrueだったらOpenDialogのFileNameプロパティの値をTEditのTextにコピーし、そのText、つまりファイルのフルパスをExtractFileName関数でファイル名のみにした値をTStringList型にAddします。 そして最後に保存ボタンクリックでTStringListオブジェクトのSaveToFileメソッドで保存する、という内容なのですが、保存ボタンクリック時にEFCreateErrorが発生してしまいます。 常に発生するのであれば原因も絞れるのですが、「OpenDialogのExcecuteメソッドを呼び出した場合のみ」という条件で例外が発生してしまい、原因が分からず困っております。 つまり、手入力でTEditに入力した場合などは正しく保存できるのですが、OpenDialogにてファイルパスを選択した場合のみ発生してしまいます。 これはどのような原因が考えられますでしょうか?

  • AVIファイルを読み込む方法

    C++でプログラミング中の者です。 使っているコンポーネントはanimate、MediaPlayer、Edit、Botton、OpenDialogです。 OpenDialogで選択したファイル名をEditに表示させ、Mediaplayerを使ってAnimateに表示させるプログラミングをしたいと思っています。 なかなかうまくいかないので、アドバイスお願いいたします。 次のは現在のプログラムです。 #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { //OpenDialog1->DefaultExt = "AVI"; //OpenDialog1->FileName = "*.avi"; if(OpenDialog1->Execute()==true){ // ファイル名が選択されたときに実行する処理  Edit1->Text=OpenDialog1->FileName; //Edit1に選択したファイル名を表示 //Animate1->Active=LoadFromFile(OpenDialog1->FileName); } } //--------------------------------------------------------------------------- void __fastcall TForm1::Edit1Change(TObject *Sender) { MediaPlayer1->Open(); MediaPlayer1->Play(); } //---------------------------------- よろしくお願いします。

  • C++Builder 6のOpenDialogでファイルではなくディレクトリ

    C++Builder 6のOpenDialogで ファイルではなくディレクトリのみを選択し パスを取得したいのですが どの様にすればよろしいのでしょうか? 宜しくお願いいたします。

  • testコマンドifコマンドについて

    testコマンドifコマンドについて fedoracore9で現状のフォルダ構成が以下になります。 /a/aa/filename /a/ab/ /a/ac/filename /a/ad/ ・ ・ ・ filenameというファイルがある場合はコマンド1をない場合はコマンド2を実行するシェルを書いてみました。 fname=filename if test -f /a/*/$fname then コマンド1 else コマンド2 fi 以上を作成しましたがうまくいきませんでした。各フォルダともコマンド1しか実行されませんでした。 2階層目の各フォルダに対してif文を実行する場合はどのようにすればよろしいのでしょうか。 よろしくお願いいたします。

  • Word2010 コマンド ボタンを作りたい

    ワード文書の中に、クリックすればリンクしたmid ファイルが起動して、音楽が鳴るようにしたいのですが? 挿入->ハイパーリンクで、ファイル パスのテキストを入れて、クリックさすとできるのですが、 ファイル パスのむき出しは見えない様に、コマンド ボタンに埋め込む簡単な方法は無いでしょうか? VBAを使うとかは、難しすぎますので。 よろしくお願いします。

  • VS 2005インストール後、コマンドプロンプトからコンパイルをしたい

    友人に誘われてプログラミングを始めました。 VS 2005をインストールしたのですが、 cppファイルをコマンドプロンプトからコンパイルすることはできるでしょうか。 コマンドラインでファイル名などを指定するプログラムを書く際、 VSでプログラムを書く →VS上でビルド(コマンドラインからの引数がないのでエラーが出る) →コマンドプロンプトでプログラムを実行 としているので、ちょっと不便しています。

  • BCB  読み込み。

    OpenDialogでバイナリファイルを読み込むのですが、、 同じフォルダに同じファイルネームで形式が違うものを同時に読み込みたかったので。(A.txt A.dat B.txt B.dat....) ///// FILE *fp; if(OpenDialog1->Execute()) {          A1 = ExtractFilePath(OpenDialog1->FileName); A2 = ExtractFileName(OpenDialog1->FileName); A3 = ChangeFileExt(A2,"");        FN1 = A1 + A3 +".dat"; FN2 = A1 + A3 +".txt"; fp = fopen("FN1", "rb" ); fread(Data,2,3000,fp); } ///// FN1とFN2をメモ確認してみたところFN2の方はそのままのファイルの中身が表示されましたが、FN1はそのdatファイルの絶対パスが表示されたので上のようにやってみたのですがうまく読み込めませんでした。 ご指導の方お願いします。

  • EXCELのVBAのコマンドボタンの動作について

    EXCELのVBAでコマンドボタンを押したとき、あるテキストを、単にテキストとして開く為に、以下のコーディングをしました。 しかし、「shell」コマンドは実行形式でないといけないようで、うまく行きません。どなたか、判る方いらっしゃいますか? --------------------------------------------- wk_path = ThisWorkbook.Path & "\memo1.txt" wk_rc = Shell(wk_path, vbNormalFocus) --------------------------------------------- (エラーコード:メッセージ) 5:プロシジャーの呼び出し、または引数が不正です。

専門家に質問してみよう