§3 電卓の制作 VB6
 (4) 演算キーの追加 T 前へ 目次へ 次へ 

 四則演算(+, −, ×, ÷)の機能キーを追加する。

図3-4-1

 四則演算(+, −, ×, ÷)のキーと等号(=)キーを用意する。この5個のキーを1グループとして扱うため、コントロール配列にする。オブジェクト名は、cmdEnzanとし、+キーから順に0,1,2,…とする。

 クリアキーと同じように、機能キーの色を濃いグレーなどに変更する。Styleプロパティを1-グラフィックスに設定し、BackColorプロパティを濃いグレーなどに設定する。また、表示する文字をFontプロパティで太字に設定する。


処理とプログラムリスト

 処理としては、例えば加算のときは、[数値1]+[数値2]のように数値を2つ記憶しておく必要があるので、2つの変数を用意する。この変数は、クリアキーを押したときに0にする必要もあるので、モジュール間で有効なグローバル変数として宣言する。グローバル変数は、(General)の(Declarations)で宣言する。変数名は、dData1dData2とする。どちらも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 

 

 

inserted by FC2 system