普通の電卓は表示するスペースは上部にある
そこで表示部分を上部に配置しようと思う、
が、そこで少し考える
前回のようにpos命令に直接数値を指定している場合には
このような変更があった場合にはとても大変な作業になる
大変な作業はバグを誘発しやすい
そこで、この作業を楽にする為に、位置を変数に保持する
今回の場合はあらかじめ定まった数値であるので
定数として定義する
これには#CONST 命令を使用する
#const Wind_main 0
#const gyo1X 10
#const gyo2X 80
#const gyo3X 150
#const hoseiY 20
#const gyo0Y 0
#const gyo1Y 10+hoseiY
#const gyo2Y 35+hoseiY
#const gyo3Y 60+hoseiY
#const gyo4Y 85+hoseiY
各行における横位置(X)、と縦位置(Y)と縦の補正値を設定してみた
どうしても後で変更する際に、全部の縦位置を変更するのは計算が面倒な為に
補正値として増減分を指定した
これは定数でありながら変数の「ような」使い方でR
そして本文では
pos gyo1X,gyo3Y
このように変更することで、いつでも位置の指定が簡単に変更できるのでR
これで前回よりも「電卓らしく」なった
以下全ソースプログラム
#const Wind_main 0
#const gyo1X 10
#const gyo2X 80
#const gyo3X 150
#const hoseiY 20
#const gyo0Y 0
#const gyo1Y 10+hoseiY
#const gyo2Y 35+hoseiY
#const gyo3Y 60+hoseiY
#const gyo4Y 85+hoseiY
screen Wind_main,300,200
pos gyo1X,gyo3Y
button "1" ,*_1
pos gyo2X,gyo3Y
button "2" ,*_1
pos gyo3X,gyo3Y
button "3" ,*_1
pos gyo1X,gyo2Y
button "4" ,*_1
pos gyo2X,gyo2Y
button "5" ,*_1
pos gyo3X,gyo2Y
button "6" ,*_1
pos gyo1X,gyo1Y
button "7" ,*_1
pos gyo2X,gyo1Y
button "8" ,*_1
pos gyo3X,gyo1Y
button "9" ,*_1
pos gyo1X,gyo4Y
button "0" ,*_1
pos 220,gyo1Y
button "+" ,*_1
pos 220,gyo2Y
button "-" ,*_1
pos 220,gyo3Y
button "*" ,*_1
pos 220,gyo4Y
button "/" ,*_1
pos gyo1X,gyo0Y // 表示枠
sdim siki,200
input siki,200 :a=siki
*_1
stop
PR