【基礎課題 1-6】で作ったフォームをもとに、コピープログラムを作りましょう。
まず、各コンポーネントのオブジェクト名を次のように指定します。
コピープログラムとは、
![]() |
実行して |
上のテキストボックスに言葉を入力して |
![]() |
![]() |
「コピー」コマンドボタンを押すと |
上のテキストボックスに入力した言葉が、 |
![]() |
というプログラムです。
このプログラムの処理は、
という2点がポイントになります。
まず、1.から説明します。
メニューの「表示」→「コード」を選ぶ。すると、コードウィンドウと呼ばれるものが出てくる。 | ![]() |
何かをさせたい対象(この課題の場合はコマンドボタンなので、「CommandCopy」)を左上の欄で選択する。 | ![]() |
この課題では、「コマンドボタンをクリックしたとき」の処理を考えているので、右上の欄を「Click」にする。(ただし、今回は自動的に「Click」になるので、何もしなくて良い。) | ![]() |
すると、次のような画面が現れます。
この画面の意味
CommandCopy を Click
したときの処理内容は、以下の通り。 ここまでが処理内容。 |
Private Sub と End Sub の間に、「CommandCopy」をクリックしたときにしたいこと(この課題では、「上のテキストボックス欄に入力した文字を下のテキストボックス欄にコピーする」こと)を書きます。
それでは、「2. 上のテキストボックス欄に入力した文字を下のテキストボックス欄にコピーする」ことを、VisualBasic ではどのように記述するのでしょうか。
すでに「1-3」で学習した通り、「テキストボックス」コンポーネントの「Text」プロパティに入力した文字はテキストボックス欄に表示されます。
逆に、プログラム実行時に「テキストボックス」コンポーネントに入力された文字は、下のように「Text」プロパティに記憶(保存)されます。このように「Text」プロパティは文字が保存される“場所”と考えることができます。
上方の「テキストボックス」コンポーネントの名前は「TextFrom」であるので、上図の状態は、「TextFrom コンポーネントの Text プロパティ」に「こんにちは」という文字が保存されている状態である、という事ができます。
ところで、VisualBasic では、「TextFrom の Text プロパティ」を、
TextFrom.Text
という形式で書き表す事になっています。
同様に、「TextTo (下の「テキストボックス」コンポーネント)の Text プロパティ」は「TextTo.Text」と書き表されます。
したがって、「上のテキストボックス欄に入力した文字を下のテキストボックス欄にコピーする」を VisualBasic の言葉に直すと、
「TextFrom.Text の中身(値)を TextTo.Text にコピーする」
という事になります。
ここに、さらに「コピーする」という言葉は、プログラミングの世界では「代入する」という言葉に置き換えられます。「代入する」というと数学的な用語のように聞こえますが、値をそっくりそのままコピーするという意味に他なりません。
さぁ、それでは、コピープログラムを完成させましょう。
下の空欄を埋めて、プログラムを完成させて下さい。
◆解説
「=」は、「代入する」を意味します。「=」の右辺の内容を、左辺に代入するという命令を意味する記号です。
◆注意
プログラミングでは、命令はすべて半角文字で書きます。
実行して、動作を確かめてみましょう。
・・・ うまく動作しましたか? うまく行けば【基礎課題 2-1】は終了です。
ここで人間とコンピュータの関係を少し考えてみましょう。
このように、人間とコンピュータの関係は、
ようになっています。
人間がコンピュータに対して何かをする時の、“何か(アクション)”をイベントといいます。
それに対する処理内容を規定したもの(プログラム)を、イベントプロシージャといいます。
例えば、上の【基礎課題 2-1】の例でいうと、
イベント | [コピー]コマンドボタンのクリック |
イベントプロシージャ | 「TextFrom.Text の値を TextTo.Text にコピーするプログラム」 |
となります。
VisualBasic では、「あるイベントが発生すると、それに対応したイベントハンドラが起動する」という形でプログラムが動作します。
そして、各コンポーネントには、それぞれ(必要と思われる)「イベント」が用意されています。そこで、プログラム開発者の行う仕事は
という事になります。