§3 電卓の制作 VB6 | |
(4) 演算キーの追加 T |
四則演算(+, −, ×, ÷)の機能キーを追加する。
図3-4-1 |
四則演算(+, −, ×, ÷)のキーと等号(=)キーを用意する。この5個のキーを1グループとして扱うため、コントロール配列にする。オブジェクト名は、cmdEnzanとし、+キーから順に0,1,2,…とする。
クリアキーと同じように、機能キーの色を濃いグレーなどに変更する。Styleプロパティを1-グラフィックスに設定し、BackColorプロパティを濃いグレーなどに設定する。また、表示する文字をFontプロパティで太字に設定する。
処理とプログラムリスト
処理としては、例えば加算のときは、[数値1]+[数値2]のように数値を2つ記憶しておく必要があるので、2つの変数を用意する。この変数は、クリアキーを押したときに0にする必要もあるので、モジュール間で有効なグローバル変数として宣言する。グローバル変数は、(General)の(Declarations)で宣言する。変数名は、dData1とdData2とする。どちらもDouble(実数)型で宣言する。
Option Explicit
Dim dData1 As Double, dData2 As Double '数値記憶用
※ Option Explicit命令は、宣言をしないで使われている変数があるとエラーを表示してくれる。変数の宣言し忘れ防止に有効である。
数字を押した後に演算キーを押したときと、続けて演算キーを押したときで、処理が変わる。数字を押した後(True)、数字を押した後ではない(False)の2つの値だけでよいので、Boolean型で宣言する。変数名はSuuFlagsrとする。この変数もグローバル変数として宣言する。(Boolean型の変数は、True(真)かFalse(偽)のどちらかしか値として記憶できない変数である。)
Dim SuuFlag As Boolean '数字キー用
加算のときは[数値1]+[数値2]のように、数字入力後、初めて演算キーを押したときには、数値1とするためにグローバル変数dData1に記憶し、それ以降の数字はグローバル変数dData2に記憶する。
初めて(正確には、起動後初めて、クリアキーまたは等号(=)キーあと初めて)の演算キーかどうかを判定する必要がある。この変数も初めて(False)、初めてではない(True)の2つの値だけでよいので、Boolean型で宣言する。変数名はEFlagとする。この変数もグローバル変数として宣言する。
Dim EFlag As Boolean '演算キー用
[数値]+=と押したとき、[数値]の加算となる。例えば、10+=とキーを押したとき、20と表示される。ここで、等号(=)キーの前に押した演算キーを記憶しておく必要がある。演算の種類は、ボタンの配列の添字に合わせる。変数名はEnzanとし、Integer型でグローバル変数として宣言する。
また、演算の種類が0は加算、1は減算では覚えにくいので、定数として宣言しておく。
Dim Enzan As Integer '演算種類記憶用(+:0,-:1,*:2,/:3,4:=)
Const NONE = -1
Const TASU = 0
Const HIKU = 1
Const KAKERU = 2
Const WARU = 3
Const EQU = 4
ここまでのグローバル変数の宣言と定数の定義を次にまとめておく。(General)の(Declarations)で宣言する。 Option Explicit Dim dData1 As Double, dData2 As Double '数値記憶用 Dim SuuFlag As Boolean '数字キー用 Dim EFlag As Boolean '演算キー用 Dim Enzan As Integer '演算種類記憶用(+:0,-:1,*:2,/:3,4:=) Const NONE = -1 Const TASU = 0 Const HIKU = 1 Const KAKERU = 2 Const WARU = 3 Const EQU = 4 |
(4) 演算キーの追加 T | |
Copyright © 2001,2002 Hiroshi Masuda |