BCB6で教科書付属プログラム実行表示

このQ&Aのポイント
  • BCB6で教科書付属のプログラムを実行し、リストを表示する方法についての質問です。
  • 具体的には、表示部分のコンポーネントやプログラムの貼り付け場所、ボタンのイベント処理について分からない点があります。
  • また、以前はMAKEファイルを使用して実行していたが、BCB6では必要ないのかもしれません。
回答を見る
  • ベストアンサー

BCB6で教科書付属プログラム実行表示

呼んで下さり大変ありがとうございます。現在大学で卒業研究に取り組んでいるものです。 教科書に付属されていたCDのプログラムを、BBC55のもとで一緒に書かれていたMAKEファイルによってリスト表示するという内容のもので、実行することが出来ました。 このプログラムをbuilderで実行させ、ボタンを押すことにより同じリストを表示したいのですが、どのようにしたらよいのか分かりません‥ 分からないことを端的に述べますと 1.表示部分のコンポーネントはLabel?Memo?   何を使うのがよいのか。 2.プログラムを貼り付けるところはどこか? 3.buttomのイベントにはなんと書けばいいのか 4.以前はmakeファイルによって実行しましたが、BCB6ではmakeファイルは必要ないのか。 です。大変初心者で聞くに堪えない質問かもしれませんが、お答え頂けたら幸いです。よろしくお願いします。また、不明な点等ありましたらお答えしますので質問のは度よろしくお願いします。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

1. 表示部分には、好きな物を使えばいいと思います。 テキストがだらだら表示されるのであれば、メモがいいかもしれませんし、 ホントにリストとしてあとから使うようなものであれば、リストボックスを使うとか。 2. GUIベースのイベント駆動されるプログラムでは、 ほとんどイベントの部分に記入すれば良いと思います。(まあ、一般的な話で、いつもそうというわけではないですが) 3. ボタンのイベントに主となる(main関数は、システムが用意するので必要なくなる)プログラムを書けば(転記)すればよいと思います。 コンソール出力だった部分を、1.で選んだコンポーネントに出力するよう変更しないといけないと思います。 4. makeファイルはシステムが用意します。 特別には必要ありません。 ビルドとか、いきなり実行を選ぶとコンパイル&実行されます。 役に立つ回答かどうかはわかりませんが、 がんばって下さい。

makefile
質問者

お礼

返信大変ありがとうございました。また質問になってしますのですが,MEMOにボタンを押すことにより,リストを表示させるにはどのような命令を書けばいいのですか??本やサイトを見ても参考のものがなく理解に乏しい状態です。。また,ボタンのクリックイベントにプログラムを転記してみましたが,エラーが続出してしまい‥下に略したプログラムを載せておりますので,参考にして頂けたら幸いです。ご返答ありがとうございました。またお時間ありましたらアドバイスをよろしくお願いします。 #include <deque> #include <algorithm> #include <iostream> using namespace std; struct State { // // 状態を表すフラグ // false は、川の左岸、true は、川の右岸を表わす // bool wolf; bool goat; bool cabbage; bool man; // // この状態になるまでの道のり // deque<State> path; public: // // -------- 初期化 -------- // // 初期状態では、全て川の左岸 State() : wolf( false ), goat( false ), cabbage( false ), man( false ), path() { } // // -------- 状態のチェック -------- // // 目標状態かどうか bool succeeded() const { return( this -> wolf && this -> goat && this -> cabbage && this -> man ); } // 禁止状態かどうか bool failed() const { return( (wolf == goat && man != wolf) || (goat == cabbage && man != goat) ); }

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

>どのように結果を表示させたらよいのか分からず頭を悩ませています っていうか、それって、BCBで書き直すというより もとのプログラム自体理解できてないってことじゃないですか? まず、プログラムの理解をしないと、ただ動いたってだけじゃ意味がありません。 なんていうか、目隠しでワケもわからず、車を走らせているようなもんです。 どういう操作をしたら車が走ったり曲がったりするのかわかってないで運転はできません。 まず、元のプログラムの動作を理解するってところに戻りましょう。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

Memo1とEdit1があって、 ボタンを押すたびに Editボックスに書かれた文字列をメモに追加するには、 Button1Clickに以下のように書きます。 Memo1->Lines->Add(Edit1.Text); つまり、 Memo1->Lines->Add("書きたい文字列"); のようにして、メモに行を追加することができます。 具体的には、 例えば、printf("なんたらかたら%d\n",var); のように出力していた部分を Memo1->Lines->Add(Format("なんたらかたら%d",var)); みたいな形でメモに書き出せば良いです。 Format関数についても、詳しくはヘルプを見て下さい。 ボーランドの開発環境は、BCBに限らず、ヘルプが充実しているので、このようなことは、調べればすぐわかります。 例えば、フォームデザインの処で、 Memoオブジェクトをクリックして選択された状態でF1キーを押すと、Memoコンポーネントについてのヘルプが見れます。 そこで、プロパティやメソッドについて調べることができ、さらに、そこで使われているクラスなどについて同じようにたどって調べることができます。 クラス定義は、イベントに書いたりしないで、プロジェクトから追加するようにします。

makefile
質問者

お礼

ご返答ありがとうございました。アドバイスの元に,やってみました。ら,Memoにどのように結果を表示させたらよいのか分からず頭を悩ませています。こんな初歩的な質問に答えて下さり本当にありがとうございました。

関連するQ&A

  • 教科書に載っているJavaプログラムが実行できない!?

    http://www.mathcs.duq.edu/drozdek/DSinJava/ DbObject.java Personal.java Student.java Database.java UseDatabase.java にある上の5つのファイルをDLして 上の順番の通りに並べて一つのファイルに結合しました。 教科書にはそう載っているからです。 でもimport java.io.*;のラインで 最初のimport java.io.*;以外はエラーが出てしまいます(4つ出ます)。 //でコメントアウトすれば消えるのですが、それで実行できるかというと出来ません。 「"Database.java": シンボルを解決できません。」というエラーが11個も出ます。 教科書に載っている通りで何も変更していません。 何が悪いのか、さっぱりです。 これが出来ないと何も先に進まないんです。 本当にこのプログラム、実行できるんですか??? (この教科書、誤字脱字ひどいし、プログラムもおかしい可能性もあるかも、なんて思ってます。) すみません、ド素人の私に分かるように一つ一つ実行の仕方を教えて下さい。 お願いします。

    • ベストアンサー
    • Java
  • プログラムを実行すると、なぜかメモ帳が起動してしまうのですが・・・

    まったくの初心者です。 コンパイラまではうまくいっているのですが、そのあとプログラムを実行すると、メモ帳が起動してしまいます。(ファイルの指定は間違ってないです。)起動されたメモ帳には、ソースコードが書かれています。 コマンドプロンプトには、実行結果が表示されません。使っているエディタはTeraPadを使っています。 なぜ、メモ帳が起動して、実行結果が表示されないのかわかりません。 どなたか、わかる方がいましたらよろしくお願いします。

  • 「Borland C++ Builder 5」で作成したプログラムについて

    「Borland C++ Builder 5」で作成したプログラム(コンポーネント使用)を、Builderを起動せずフリーソフトのようにWindows上で実行させるにはどうすればよいのでしょうか。

  • BCB5:フォームに自作のプロパティを作ることは可能でしょうか?

    こんにちは。 今、BorlandC++Builder5で、PhotoShopの情報パレットのような マウス位置などの情報を表示するパレットを作成しています。 フォームが二つあり、以下のようにしています。 Form1 → マウス位の置情報を得るフォーム Form2 → Form1から受け取った「マウス位置の情報」を、表示するフォーム。 表示にはLabelコンポーネントを使用する 最初、Form1のOnMouseMoveから直接、  Form2->Label1->Caption = IntToStr(X) というように書いていました。 しかし、できることならForm1からは値だけを渡し、 Form2上でLabel1のCaptionを書き換えるようにしたいと思っています。 そこで思いついたのが、Form2に自作プロパティを作り、 ・Form1からは、そのForm2上のプロパティに値を渡す ・Form2は、そのプロパティでLabel1->captionを書き換える という方法なのですが、やり方どころか、 それか可能なのかさえよくわかっていない状況です。 プロパティを使う方法でも、それ以外の方法でも構いませんので、 どうすれば可能なのか教えていただけないでしょうか? お手数ですが、よろしくお願いします。

  • Builder TMemo 最初の行から表示

    Builder のMemoでリストを表示すると、Memoの高さがリストの長さより短い時、リストの最後が表示されています。 これをリストの最初から表示する方法は無いでしょうか。 表示したリストの長さを覚えて置いて、その分 Memo1->Perform(EM_SCROLL, SB_LINEUP, 0); を行えば目的は達成されるのですが、それではちょっとプログラム的に格好悪いので、何か方法をご存知の方居られましたらお教え下さい。 よろしくお願い致します。

  • プログラムの実行中にtextファイルから文章を読み込みたい

    はじめまして。ここへの質問は初めてとなります。 早速ですが、質問です。 私はVisual C++ .netを使用しているのですが、プログラム実行中に「メモ帳」などのtextファイルから文章を読み取りたいのですが、方法がわかりません。 どうすればよろしいでしょうか?

  • BCB6でのエラー…

    BCB6のMEMOコンポーネントに、プログラムの実行結果を表示したく、ButtonClickイベントにプログラムを書き、実行すると 「テンプレート引数に、静的リンゲージまたはローカルリンゲージを入れることはできない」 というエラーが出てしまいます。プログラムを添付致しますのでよろしかったらご覧になって下さい。 struct State { // 状態を表すフラグ // false は、川の左岸、true は、川の右岸を表わす bool wolf; bool goat; bool cabbage; bool man; // この状態になるまでの道のり deque<State> path // -------- 初期化 -------- // 初期状態では、全て川の左岸 State() : wolf( false ), goat( false ), cabbage( false ), man( false ), path() { } // -------- 状態に対するオペレーター ------ // 狼を移動させる State move_wolf() const { State s = *this; s.path.push_back( *this ); if ( s.wolf == s.man ) { s.wolf = !s.wolf; s.man = !s.man; } return( s ); } のように続きます。 deque<State> pathの部分にエラーが表示されます。 初心者で全く分からないので、プログラム等、不明な点があればお答え致しますので、どうか分かる方いましたらお返事をよろしくお願いいたします。

  • 実行ファイルの表示

    こんにちは。 ボタンをクリックしたら、Cソールをコンパイルした 実行ファイル(バイナリープログラム)をKylixのフォーム上に 表示させたいと考えているのですが、可能でしょうか? どのようにすればよいのですか? ファイル選択したら新しくウィンドウが生成されるのではなくて、 Imageを貼り付けた中など、指定した場所に表示させたいです。 よろしくお願いします。 Borland社の製品は使い方が似ているようなので、C++builder、Delphiを お使いの方もご教授お願いします。 OS:Red Hat Linux7.2 Softwear:Borland Kylix Open Edition

  • Pythonのプログラムの実行の考え方について

    pythonの教科書のサンプルの実行についてお尋ねします。 テキストのサンプルには普通、インタープリターで書いてあるものと、プログラムをファイルに書き出してそれをコマンドで一気に処理するもの(こちらの方が他の言語の実行に近いか)の2通りがあります。 インタープリター向きに記述されたものをファイルに書き出してpythonコマンドで、インタープリターと同じように実行するにはどのような書き換えが必要になるのでしょうか。結果を出力するときにインタープリターでは配列名を入力するだけでその内容が出力されたりしますが、ファイルではそれができないのでコマンドを指定するとかになると思いますが、他になにかあるでしょうか。 ファイルに書き出したプログラムの実行ですが、Pythonコマンドを実行しても実行形式の出力がないのでコンパイルではないわけですが、これはバッチとかシェルスクリプトと同じような意味になるのでしょうか。1行1行実行していくということですが。とするとインタープリターと同じになるのかなと思うのですが。 実行形式が単体のファイルとして出力されて単体として実行できるというのは従来のプログラム(C,Fortranなど)ですが、Pythonはそれがないわけですね。Ruby, Perlに近いものなのでしょうか。速度が求められる科学技術計算ではライブラリを導入して高速化できるということですが、どの程度かなと思いますが。その中間的なものがJavaなのかなと思いますが(半分実行ファイルみたな)。 たぶんベタな質問と思いますが、よろしくお願いします。

  • pythonによるプログラムのコンパイルと実行

    Linux上ではプログラムの実行ファイルの作成は基本はmakeだったと思います。ワンパターンでmakeでMakefileに書いてあることが淡々と進行して実行ファイルができ、それを./abcなどと入力して実行する、そういうパターンだったと思います。make cleanとかおなじみだったと思います。最近はsetup.pyのようなものが用意されてpython setup.pyとすればコンパイルとか実行もそれだけでやってくれます。これは従来のmake系のこととはかなり違いますが、一方でpythonの中でmakeされているということになるのでしょうか。つまり、見た目が違うけれども裏側でやっていることは同じというコンセプトです。この辺をどう理解したらいいのでしょうか。pythonをc++, Javaのようなものと同格のもの捉えるものではないということになるのでしょうか。上記はunix, Linuxの例でしたが、Windows,Macではどういう位置づけになるのでしょうか。pythonを別格と考えるべきものでしょうか。

専門家に質問してみよう