前回
、ActiveX Control Padで電卓アプリケーションの画面のデザインをしました。まだ作成していない方は、まず第8回をご覧ください。続いて、第5回で作成した仕様をもう一度確認してみましょう。
変数 | 一つ目の数値(演算子の前に入力した数値)を覚えておく変数 |
二つ目の数値(演算子の後に入力した数値)を覚えておく変数 | |
演算子(二つ目の数値の前)を覚えておく変数 | |
直前に押されたキーの種類を覚えておく変数 | |
定数 | 演算子の種類を表す定数 |
直前に押されたキーの種類を表す定数 | |
プロシージャ | 数値が押された時の処理 |
演算子が押された時の処理 | |
=が押された時の処理 | |
C(クリアキー)が押された時の処理 | |
CE(クリアエントリーキー)が押された時の処理 |
プロシージャの概要については、第5回を参照してください。
まずは変数と定数を用意することにします。既に書いたようにVBScriptでは、定数という概念がありませんので、変数を代用することになります。よって、上に書いた変数・定数はすべて同じ要領で作成します。なお、プログラミングの世界では「変数を定義する」などのように「定義」といいます
変数にはそれぞれ以下のような名前をつけることにします。もちろん自由な名前をつけてもかまいませんが、今回は以下のようにつけることにします。なお、CPadの操作方法はすぐ後に説明します。
一つ目の数値 | dblPrevNumber |
二つ目の数値 | dblCurrentNumber |
演算子 | intPrevOperation |
直前に押されたキー | intLastKey |
それぞれの変数の頭に"dbl"や"int"とついていますが、これは変数の型をあらわしています。
それぞれ、"dbl"は小数を、"int"は整数を記憶するための変数であることを意味します。続いて定数です。定数は次の通りです。
定数の分類 | 意味 | 定数 | 値 |
演算子の種類 | 記憶している演算子なし | OP_NO | 0 |
= | OP_EQUAL | 1 | |
+ | OP_PLUS | 2 | |
- | OP_MINUS | 2 | |
* | OP_MULTIPLE | 4 | |
/ | OP_DEVIDE | 5 | |
エラー | OP_ERROR | -1 | |
直前のキーの種類 | 数値 | KEY_NUMBER | 1 |
= | KEY_EQUAL | 2 | |
その他 | KEY_OTHER | 0 |
CPadで、変数・定数を定義する方法は以下の通りです。ここでは、dblPrevNumberを定義してみましょう。
まず、calc.alx(電卓の画面デザインウィンドウ)を表示します。HTMLファイルの「<OBJECT
CLASSID=」で始まっている行を探して、その左側にあるアイコンをクリックすれば表示されます。その状態で、CPadのメニューで「Tools/Script
Wizard」を選んでください(ツールバーから選択してもかまいません)。
Script Wizardが開いたら、右上の「Insert Actions」というペインで右クリックしてください。このペインの中であれば、どこでもかまいません。メニューが出てきますから、「New
Global Variable」を選びます。小さなダイアログボックスが出てきますから、ここで、dblPrebNumberと入力して、OKボタンを押します。これで変数が一つ定義できました。
同じようにすべての変数・定数を入力してください。なお定数は、上の表の「定数」という項目(OP_NOやKEY_NUMBERなど)を入力してください。「値」の方は後で指定します。まずは、すべての変数と定数を定義してください。
なお、Script WizardのCancelボタンを押すと、それまでの操作がキャンセルされて、操作を始める前の状態に戻ってしまいますから注意してください。Script
Wizardを閉じるには必ずOKボタンを押すようにしてください。
全て済んだら定数値の指定をします。定数値の指定はVBScriptのソースコードを実際に覗く必要があるので、せっかくですから今までの操作がVBScriptのソースにどのように反映されているのかもちょっとだけ見てみましょう。
もしまだScript Wizardを開いたままであれば、OKボタンを押して閉じてください。
calc.alxで右クリックして、メニューで「View Source Code」を選びます。「Layoutを閉じるか」と聞いてきますが、OKを押してください。メモ帳が開いて、テキストが表示されます。これが、calc.alxのソースファイルです。
「<SCRIPT LANGUAGE="VBScript">」と「</SCRIPT>」で挟まれた部分がVBScriptで記述されたソースコードです。「<DIV
ID=」で始まる部分もあると思いますが、これは画面デザインに関係した部分ですから編集しないようにしてください。ここを編集すると、せっかく決めた画面のデザインが崩れてしまいます。
変数・定数の定義の際の操作によっては、「<SCRIPT
LANGUAGE="VBScript">」で始まる部分が複数見つかるかもしれません。これは、Script
Wizardを開くたびに新しくブロックが追加されるからで、一つにまとまっていても、いくつかに別れていても、動作に変わりはありません。しかし、見た目は一つにまとまっている方がきれいですし、あとで見直した時もわかりやすいので、一つにまとめることをすすめます。また、変数・定数の間に空の行が入っていると思いますが、ソースコードの行数が長くなるだけなので削除してかまいません。
定数値の指定は、このメモ帳のウィンドウ内で行います。このファイルは普通のテキストファイルなので、メモ帳が使いにくいと思ったら別のテキストエディタを使ってもかまいません。
第3回で覚えたように、VBScriptでは変数(定数)の定義は、「Dim
変数名」のようになります。確かに今回のソースファイルでも同じような行が並んでいます。定数値は、定数の定義行の後に「定数
= 値」のように記述します。
dim OP_NO dim OP_EQUAL dim OP_PLUS dim OP_MINUS dim OP_MULTIPLE dim OP_DEVIDE dim OP_ERROR dim KEY_NUMBER dim KEY_EQUAL dim KEY_OTHER OP_NO = 0 OP_EQUAL = 1 OP_PLUS = 2 OP_MINUS = 3 OP_MULTIPLE = 4 OP_DEVIDE = 5 OP_ERROR = -1 KEY_NUMBER = 1 KEY_EQUAL = 2 KEY_OTHER = 0
変数・定数の定義は、以上で終わりです。以上のコーディングを済ませたソースコードがこちらのページにあります。実際のコーディングはこちらをご覧ください。
次回は、プロシージャの定義をします。
瀬尾佳隆 (webmaster@seosoft.net) |