LAST UPDATE 1998/07/01


『 その3-6 』



 ■ タイマーイベントの実験

 覚えたことはさっそく試してみるのである。

1)
「スタートボタン」の横にもう一つコマンドボタンを追加する。(図1)
2)
プロバティーウインドウを使い、
オブジェクト名を「Com_Stop」に書き直し、
Captionを「Stop」に書き直す。
(図1)
3)
オブジェクトリストを左クリックして、Generalを選択する。(図2)
(図2)
4)
T_Countという変数を宣言するため、キーボードを使って図のようにコードを書き込む。(図3)
(図3)
5)
オブジェクトリストを使ってCom_Startを呼び出しそこに図のようにコードを書き込む。(図4)
(図4)
6)
Com_Stopを呼び出し図のようにコードを書き込む。(図5)
(図5)
7)
Timerイベントが発生したときのコードを書き込む。(図6)
(図6)
8)
プロパティーウインドウでTimerを呼び出して Enabled = False Interval=1000に設定する。(図7)
(図7)


 ■ 実行してみる

 ではこのプログラムを実行してみよう。 「Start」ボタンをクリックすると1秒毎に数値がカウントアップされていく。 「Stop」をクリックすると止まる。実に幼稚なプログラムである。ついでにカウントアップが働いている状態で、何でも良いから別のアプリを起動してみよう。このカウントアップは他のプログラムと共存して同時に動いている。



 ■ プログラムの解説

 2つのコマンドボタン用のソースコードは、 Clickイベントのところに書き込まれている。これらはマウスがクリックされた時に呼び出され、 Timer.EnabledTrueFalseというブール値をセットして、タイマーを動かしたり止めたりしているのである。
  Timerに書き込んだソースコードは、現在の T_Countの内容を Picに表示して、数値を1つカウントアップしている。 TimerIntervalというプロパティーには1000を設定してあるため、このタイマーイベントは1秒間に1回発生することになる。
  Generalという場所で Public T_Count& などというコードを書き込んだ。これは変数の宣言である。そう言えば「先生の恋人」プログラムの先頭で Dim i& などというコードを書き込んだ。これも変数の宣言である。
 最初の T_Countであるが、 GeneralDeclarationsという場所で Publicというキーワードを使って宣言すると、この変数はプログラム起動時に0という初期値が入り、プログラム終了まで生きている。そして、同一のフォーム内のプログラム全てがその変数を使うことができるのである。
 次に i であるがこれは、そのプロシージャ(関数とかサブルーチン)が呼び出された時点で生成されて という初期値が入れられる。 Dimというキーワードを使って宣言する。そのプロシージャが処理されている間は生きているが、終了すると消えてしまう。同一のフォーム内であっても別のプロシージャからの使用は不可能である。要するに、その場限りの仮の変数と考えれば良い。
  T_Countの場合は秒数をカウントするために使いたいので、起動から終了まで生きていてもらわなければ困る。それに対し i はその場で100万回用のカウンターとして役に立てば良いわけであるから、プロシージャの終了と同時に消えてもらって構わないのである。
 それから、両方における変数名のあとにつけられた&であるが、これは「長整数型」を表し、「As Long」と記述しても同じ事である。いずれ意味を説明するが、今は深く考えずに「整数を扱う変数は をつけて宣言する。」とだけ覚えておこう。(プログラマーは学者じゃないモード)



その3-1 | その3-2 | その3-3 | その3-4 | その3-5 | その3-6

『 サルのゲーム製作講座 』 目次 | その 1 | その 2 | その 3 | その 4 |
その 5 | その 6 | その 7 | その 8 | その 9 | その 10 | その 11


もどる

e-mail: sc_3da@magical2.egg.or.jp