ホーム
|
アプリケーション | Tips | ダウンロード | プログラム
| コラム

CBアプリ工房


アプリケーション > 計算ソフトを作る [ 1 | 2 ]

計算ソフトを作る - 2/2

更新 : 2009/01/07

 


関数のコーディングは以上です。

次に各イベントハンドラを記述していきます。

まず、乱数発生ルーチンの初期化です。先ほど実装した InitCalc 関数を使い、フォームが表示されるとき、計算部分の表示をすべて初期化しておきます。


void __fastcall TForm1::FormShow(TObject *Sender) 
{
    randomize(); //乱数発生ルーチンの初期化

    InitCalc(false); //計算部分を初期化
}

始めに、計算するときに使う "もんだい" ボタンのイベントハンドラです。

このボタンには、ユーザーが入力した数字をクリアして、乱数で作成された問題を表示するようにコーディングします。


void __fastcall TForm1::StartBtnClick(TObject *Sender) 
{
    InitCalc(true);
    ResultLabel->Caption = "";
    MakeQuestion();
}

"けいさん" ボタンでは、正解を ResultLabel に表示しています。


void __fastcall TForm1::CalcBtnClick(TObject *Sender) 
{
    if (UpLabel->Caption == "")
        InitCalc(true);
    else
        ResultLabel->Caption = "こたえは " 
                             + IntToStr(result) + " だよ。";
}

最後に、テンキーをクリックした時、KetaMemo へ数字を入力するコードを記述します。

まず Sender から SpeedBtn0〜9 のどのコンポーネントがクリックされたかを調べ、コンポーネントの Caption から数値を判定し、得られた数値を変数 num に格納しておきます。KetaMemo に変数 num の値を代入します。


void __fastcall TForm1::CommonSpeedBtnClick(TObject *Sender) 
{
    //テンキーボタンの数字を取得
    int num = StrToInt(((TButton*)Sender)->Caption);

    //答えとして入力
    KetaMemo->Lines->Strings[0] = num;
}

以上でコーディングは終了です。コンパイルして実行してみてください。
ちゃんと計算ができましたか?

計算ソフトの作成はこれで終わりです。お疲れ様でした。



今後の課題
今回作成した計算ソフトは、1 桁の足し算だけしかできません。すこし高学年になると物足らなくなりそうです。それにちょっと面白みにかけるので、計算意欲が盛り上がらないかもしれません。対策として、桁数を増やしたり、加減乗除を選択できるようにしたり、いろいろとアイデアを出して、子供が使ってくれるソフトに成長させてください。

DownLoad のページからソフトがダウンロードできます。参考にしてください。イメージ画像を貼り付けておきます。

小学生のたし算支援ソフト Plus

以上のコードは、ご自由にお使いいただいて結構です。ただし、コードを使用した結果、問題が生じても責任はいっさい負いかねますのでご了承ください。



[ ホーム | ページトップ | 前へ | ブック | リンク | サイトマップ ]
Copyright(c) 2003 Shibu All rights reserved.