§3 電卓の制作 VB6 | |
(1) 数字キーの処理 |
実数の四則演算(+, −, ×, ÷)ができる電卓を制作する。
新規フォームを用意して、0から9までの数字、小数点、演算記号などをボタンで用意する。結果は、テキストボックスに表示する。
ボタンは10個以上になるので、コントロール配列として配置することにする。
オブジェクト名
これまでオブジェクト名は既定の名前をそのまま使用してきた。例えば、コマンドボタンはCommand1、テキストはText1などのようにである。オブジェクト名も変数などと同じように、わかりやすい名前を付けた方がプログラムを見たときにわかりやすくなって良い。
図3-1-1 |
オブジェクトの名前は、プロパティの(オブジェクト名)で変更することができる。プロパティリストの一番上にある。
モグラゲームの時とは違って、デザインのときにボタンをすべて配置する。
一つ目のボタンを配置し、オブジェクト名をcmdNum(cmdはCommandButtonであることをNumはNumberを表している)に変更する。次に、Indexプロパティを0に設定し、コントロール配列にする。
残りのボタンもオブジェクト名をcmdNumにする。オブジェクト名を同じものにすると自動的にコントロール配列になる。配列の添字は、Indexプロパティで変更できる。
ボタンに表示する数字(Captionプロパティ)と配列の添字(Indexプロパティ)は判定がしやすいように、同じものにする。
テキストボックスのオブジェクト名もtxtDisplayに変更する。表示する文字は、Textプロパティで0(半角文字)に設定する。表示が右側に来るようにAlignmentプロパティで1-右揃えに設定する。
・プログラムリスト
Private Sub cmdNum_Click(Index As Integer) If txtDisplay.Text = "0" Then '0が1文字だけの時 txtDisplay.Text = "" '0を消す End If If Index <= 9 Then '0 - 9数字 txtDisplay.Text = txtDisplay.Text & Trim(Str(Index)) ElseIf Index = 10 Then '.小数点 If txtDisplay.Text = "" Then '最初が小数点 txtDisplay.Text = "0." ElseIf InStr(txtDisplay.Text, ".") = 0 Then '小数点無し txtDisplay.Text = txtDisplay.Text & "." '小数点追加 End If End If End Sub
※ 関数Trimは、文字列の前後にある空白を除去する関数である。数値(Index)を関数Strで文字列に変換すると、符号として+のときに空白が付くため関数Trimを使用している。
※ 関数InStrは、文字列の中から指定した文字列を探し、見つけたときはその位置(先頭からの文字数)を返す関数である。テキストエディタの作成で検索に使用した関数である。
(1) 数字キーの処理 | |
Copyright © 2001,2002 Hiroshi Masuda |