第2章 - 電卓を作ろう -

第1節 - 丸写しプログラムと代入文 -

プログラムの起動

Delphi 6 Personal を起動しましょう。画面左下の スタート から【プログラム(P)】→【Borland Delphi 6】→【Delphi 6】と進みます。

プログラムの保存

ここで、プログラムを保存しておきます。まだ何も作っていませんが、プログラミングの途中でコンピュータが止まってしまうこともあるので、最初に名前をつけて保存するようにするとよいでしょう。

Delphi_in_the_Dark フォルダのなかにサブフォルダ copy を作って、そこにこのプログラムを保存しましょう。 二段階保存の第一段階であるフォームの保存では、名前を copy_mainform 、第二段階であるプロジェクトの保存では、名前を copy_project にします。

今後はこまめにファイル(F)メニューから上書き保存(S)を選んで保存するようにしましょう。

フォームをつくる

まっさらなフォームに、一つのボタンと、二つのスピンエディットとよばれるコンポーネントを貼りつけます。ボタンの貼りつけ方は前に説明しました。ここではスピンエディットの貼りつけ方を説明します。これでコンポーネント一般の貼りつけ方がわかると思います。

コンポーネントパレットの Samples タブをクリックしてください。

そのなかのスピンエディットのアイコンをクリックします。

そして、フォーム上で1回クリックします。すると、フォームにスピンエディットが貼りつけられます。

同じようにしてさらにもう一つスピンエディットを貼りつけてください。また、ボタンも一つ貼りつけてください。できたら、だいたい下の図のように並べてください。フォームのサイズも小さくしておくといいでしょう。

プログラムの実行

プログラムを実行してみましょう。実行(R)メニューから実行(R)を選びます。

スピンエディットは、右側の小さなボタンを押すことによって値を変えることができます。試してみましょう。ただし、値は整数にしかなりません。

これから命令を書きます。どんなプログラムを作るかというと、今、上のように左のスピンエディットに 5 、右に 17 が入っているとします。ここで真ん中の Button1 を押したとたん、右のスピンエディットも 5 になるようにします。左の値を右に丸ごとコピーするプログラムです。

今はボタンを押しても丸ごとコピーはされません。これから命令を書きましょう。いったん、フォームの右上の×を押してプログラムを終了してください。

命令を書く場所

書く命令は「ボタンを押したら、左の値を右側に丸ごとコピーせよ」です。これをどこに書けばいいのでしょうか。

オブジェクトツリーのなかの Button1 をクリックしてください。

オブジェクトインスペクタの白い窓に、先ほど選んだ Button1 と表示されていることを確認してください。そして、イベントタブをクリックしてください。

これから書く命令は、ボタンを押したとき( Click したとき)に何をするかという命令です。なので、 OnClick と書かれた部分に注目します。この部分の右側の白いところをダブルクリックしてください。

すると、次の図のようにコードエディタが前面に出てきます。

命令を書くのは、コードエディタのカーソルが点滅しているところです。

丸ごとコピーの命令−代入文−

さて、「左の値を右側に丸ごとコピーせよ」という命令を書きましょう。一行だけです。下線を引いた部分を追加してください。これからも同じです。命令はすべて半角文字で書いてください。

procedure TForm1.Button1Click(Sender: TObject);
begin
  SpinEdit2.Value:=SpinEdit1.Value;
end;

この命令に出てくる Value は、Height や Width と同じようにプロパティの一つです。Height は高さ、Width は幅を表しました。Value は「値」という意味で、スピンエディットに表示される数値を表します。

SpinEdit2.Value:=SpinEdit1.Value; は、「 SpinEdit2 の値に SpinEdit1 の値を代入せよ」という命令になります。「 := 」が「右を左に代入」という意味です。ただのイコール「 = 」ではいけません。このように「 := 」を使って「右を左に代入」させる命令文を代入文といいます。この代入文が、Delphi in the Dark で書いてもらう初めての命令文になりました。

「 . 」は、とりあえず、「の」と考えればいいでしょう。「 SpinEdit2.Value 」は、「 SpinEdit2 の値」になります。

最後の「 ; 」は、一つの命令文の終わりを表します。日本語の「。」と同じです。

ところで、SpinEdit2 の前にスペースが空いています。これは必ず半角スペースで空けてください。2マス分にする意味はありません。何マスでもいいですが、2マスほど空けておくとプログラムが見やすくなります。

実行結果の確認

さて、プログラムを実行して動作を確認してみましょう。左側のスピンエディットの値を変えてから、真ん中の Button1を押します。スピンエディットの値が右側にコピーされれば合格です。

ところで、プログラムが正しく実行されず、下のような図が出ることがあります。

これはたいてい、プログラムの一部にミスがあったときに起こります。上の図の例では、代入を表す「 := 」を書かなければならないところを「 = 」にしてしまったミスです。カーソルが点滅しているところにミスがあります。どんなミスかは、コードエディタの下の方の[エラー]と書かれた部分を読むとわかることがあります。プログラムを見直して修正してから、再度実行してみてください。

正しく実行できたら、上書き保存をしてから Delphi を終了してください。