12.数字の処理




『数字の処理』
前章までに作った処理シーケンスの内、数字の処理(色を付けた部分)をプログラム化したいと思います。
詳細に関しては特に説明は必要と無いと思いますので、省きます。


DIM  BTNSUU( 10 )
ARRAY BTNSUU( 0 ) = ( 82 , 79 , 80 , 81 , 75 , 76 , 77 , 71 , 72 , 73 )
CH=G@SETUP(320,240,16,1)                 //画面の準備
CH2=G@CHRLOAD("DENTAKU.BMP")            //電卓の画像を読み込み
G@COLOR(0,0,1)                          //文字を黒色にする
SUU1 = 0                                //画面に表示する数字
LOOP
  G@CHRCOPY( CH2 , CH , 0 , 0 )         //電卓の画像を画面に貼る
  I@KEYGET2( )                          //キーボートのチェック
  IF I@KEYBTN2( 1 ) == 1 THEN           //ボタンは押された
    BT = I@KEYBTN2( 0 )                 //ボタンの種類を変数BTに代入
    FOR I = 0 TO 9                      //配列をたどる
      IF BTNSUU( I ) == BT THEN         //ボタンの種類を配列から調べる
        BREAK                           //ボタンが分かったのでFOR〜NEXTを抜ける
      ENDIF
    NEXT                                //最後まで見つからなければI=10で終わる
    IF I < 10 THEN                      //「I<10」ならば数字が押された
      IF ( 214748364 > SUU2 )OR(( 214748364 == SUU2 )AND( I<=7 )) THEN
                                        //オーバーフローしない?
        SUU2 = SUU2 * 10 + I            //桁の処理
      ENDIF
    ENDIF
  ENDIF
  G@PRINT( CH , 32 , 8 , STR( SUU2 ) )  //数字を表示する
  G@FLIP( )                             //画面を更新
ENDLOOP