HyperCard tribute

簡単電卓


 HyperCardで電卓を作るために必要な知識はたった2つです。画面に式を表示させるための命令と、その式を計算する命令です。この2つだけの知識で、普通の四則演算だけでなく、sinやcosinなどの関数計算もさせることも可能となります。
 そこで、今回は基本的な計算機能を持った電卓を作成してみます。


簡単電卓「easyCalcu」
 ダウンロード(2KB)


 この電卓を作成するのに必要な時間はわずかだと思います。簡単な知識と短い時間で作れる電卓なのですが、残念なことにこの電卓には欠点があります。それは”人間の失敗に対するフォロー”がないということなのです。
 本当の電卓では、四則演算記号が2つ続いたら後から押した方に切り替わります。また、一番大きな位の数字が0になることは絶対にありません。このほかにも、計算式として成り立たせるためのルールがいくつもあるわけですが、そのルールをこの電卓は知らないのです。つまり、この電卓ではこれらのルールを人間がちゃんと監視しなければエラーがでてしまうのです。

 そういう意味では、本当の電卓を作るのは大変なことです。しかし、これらのルールを無視したとすれば、たった2つの知識で作れるのです。これは、HyperCardの大きな利点の一つです。たった2つの命令と、数分で電卓が作れる言語なんて他にはないはずです。
 それでは、順を追って作成手順を説明していきます。


1.新規スタックを作る


2.式を表示させるためのフィールドを作り、名前を 「output」 とする


3.電卓の数字ボタンを1コ作り、名前を「0」とする
  名前は半角数字で入力して下さい。全角の数字では計算させることができません。


4.ボタン「0」のスクリプト編集画面を開き、以下のスクリプトを打ち込む
 1 
 2 
 3 
on mouseUp
  put the short name of me after cd fld "output"
end mouseUp
  • put the short name of me after cd fld "output"
     2行目では、自分自身の名前をフィールド "output" に追加します。


    5.ボタン「0」をコピーしてペーストし、名前を「1」にする
     (optionキーを押しながらドラッグしても良い)


    6.5と同じようにして、ボタン「9」まで作成する
     ボタン「0」をペーストする事によって、ボタンの大きさ、スクリプト内容までもコピーすることができる。
     これで、フィールド "output" に数字を打ち込むことができるようになりました。



    7.5と同じようにして、ボタン「+」「-」「*」「/」「.」を作成する
     これで、四則演算及び小数点表示をさせることができるようになりました。



    8.新規ボタンを作成し名前を「=」にする



    9.ボタン「=」のスクリプト編集画面を開き、以下のスクリプトを打ち込む
     1 
     2 
     3 
     4 
     5 
    
    on mouseUp
      put cd fld "output"
      returnkey
      put "="&msg after cd fld "output"
    end mouseUp
    

  • put cd fld "output"
     2行目で、フィールド "output" の内容をメッセージボックスに入れています。

  • returnkey
     3行目のreturnkeyは、実際にキーボード上のリターンキーを打ったのと同じ効果を意味します。

  • put "="&msg after cd fld "output"
     4行目で、"=" と 計算の答えを、フィールド "output" に追加します。

     これでわかるように、HyperCardは計算式をメッセージボックスに入れてリターンキーを押すことで答えを求めることができます。すなわち、この機能を用いて電卓機能を実現しているのです。
     これで、計算をさせることができるようになりました。次にクリアーボタンを作ります。


    10.新規ボタンを作成し名前を「clear」とします。



    11.ボタン「clear」のスクリプト編集画面を開き、以下のスクリプトを打ち込む
     1 
     2 
     3 
    
    on mouseUp
      put empty into cd fld "output"
    end mouseUp
    




    12.5と同じようにして、ボタン「sqrt(」「sin(」「cos(」「tan(」「^」「(」「)」を作成する
     これらの関数機能を使うときは、括弧をつけるというルールがあるため、最初から前括弧をつけてあります。最後に閉じ括弧をつけるのを忘れないようにして下さい。



     これで完成です。先も言ったように、この電卓では自分で電卓を管理しなければ動いてくれません。例えば、先の閉じ括弧付け忘れだとか、再計算時のクリアーなどもそうですので気を付けて下さい。
     これらの機能については、実践編〜上級〜で追加していきます。