第8回 - コーディング(変数と定数)

[ 目次へ | 第7回へ | 第9回へ ]

今回の目標
電卓の動作に必要なコードを、すでに決めている仕様に基づいて記述します。
長くなるので2回に分けます。今回は変数と定数の定義です。

前回、電卓の画面をデザインしました。

今回から2回に分けて、電卓の動作に必要なコードを記述していきます。コードの記述は説明が長くなるので、2回に分けます。まず今回は、変数と定数とを定義します。


ActiveX Control Padで電卓アプリケーションの画面のデザインをしました。まだ作成していない方は、まず第7回をご覧ください。

続いて、第6回で作成した仕様をもう一度確認してみましょう。

変数 一つ目の数値(演算子の前に入力した数値)を覚えておく変数
二つ目の数値(演算子の後に入力した数値)を覚えておく変数
演算子(二つ目の数値の前)を覚えておく変数
直前に押されたキーの種類を覚えておく変数
定数 演算子の種類を表す定数
直前に押されたキーの種類を表す定数
プロシージャ 数値が押された時の処理
演算子が押された時の処理
=が押された時の処理
C(クリアキー)が押された時の処理
CE(クリアエントリーキー)が押された時の処理

プロシージャの概要については、第6回を参照してください。


まずは変数と定数を用意します。なお変数などを用意することを、プログラミングの世界では「変数を定義する」などのように「定義」といいます

変数にはそれぞれ以下のような名前をつけることにします。もちろん自由な名前をつけてもかまいませんが、今回は以下のようにつけることにします。編集の方法はすぐ後に説明します。

変数の用途 変数名 変数の型
一つ目の数値 dblPrevNumber Double
二つ目の数値 dblCurrentNumber Double
演算子 intPrevOperation Integer
直前に押されたキー intLastKey Integer

それぞれの変数の頭に"dbl"や"int"とついていますが、これは変数の型をあらわしています。それぞれ、"dbl"は小数を、"int"は整数を記憶するための変数であることを意味します。
intやdblなどの接頭辞はなくてもかまわないのですが、変数の役割を理解しやすいように、整数ならば"int"、文字列ならば"str"など、型を表す名前を変数の頭に付けるといいでしょう。これらの接頭辞の詳細は、MSDN Libraryを参照してください。
自分なりのルールがあればそれでもかまわないので、マイクロソフトの推奨を気にしすぎることはないと思いますが、サンプルのコード(マイクロソフト提供のもの以外も含めて)ではこれらの接頭辞が使われることが多いので、慣れておくと役に立ちます。

続いて定数です。定数は次の通りです。電卓では、全ての定数の型は整数型(Integer)です。

定数の分類 意味 定数
演算子の種類 記憶している演算子なし 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

それでは定数と変数を停止してみましょう。まずは定数から定義します。

プロジェクトエクスプローラでfrmMainを選択し、[コードの表示]ボタンをクリックします()。定数は"Const 定数名 As 型 = 値"と書く決まりなので、この図を参考に以下のように入力します。入力するのは上の定数の表に示したもの全てです。

Const OP_NO As Integer = 0
Const OP_EQUAL As Integer = 1
Const OP_PLUS As Integer = 2
Const OP_MINUS As Integer = 3
Const OP_MULTIPLE As Integer = 4
Const OP_DIVIDE As Integer = 5
Const OP_ERROR As Integer = -1

Const KEY_NUMBER As Integer = 1
Const KEY_EQUAL As Integer = 2
Const KEY_OTHER As Integer = 0

続いて変数の定義です。すでに説明したように、今回の電卓では4つの変数が必要です。それらを、定数定義に続いて以下のように入力します。

Dim dblPrevNumber As Double
Dim dblCurrentNumber As Double
Dim intPrevOperation As Integer
Dim intLastKey As Integer

VBScriptとの違いは、変数に型の概念があることです。VBScriptでは定数定義ができなかったので、変数に値を代入するという方法で代用しましたが、Visual BasicではConstを使って定数を定義することができます。また、変数も型付きで定義します。


変数・定数の定義は、以上で終わりです。次回は、プロシージャの定義をします。

[ 目次へ | 第7回へ | 第9回へ ]


メール 瀬尾佳隆 (webmaster@seosoft.net)