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

CBアプリ工房


Tips >   

StringGrid で計算する 

更新 : 2010/09/12

 


解説:
StringGrid はセルに数値を代入して計算ができます。エクセルのように本格的な計算をするには、工夫が必要ですが、アプリケーション内で簡易的に利用するには、少しのコードを追加すれば実現できます。

今回は単純な足し算をしてみます。

使用例:
以下の例では、アプリケーション起動後、セルに数字を入力すると計算結果がセルに表示されます。

準備として StringGrid を配置したあと、オブジェクトインスペクタで ColCount プロパティを 4、Options プロパティの goEditing を true に設定しておきます。

OnKeyUp イベントハンドラに、入力されたセルの数字が足し算されるようにコードを記述します。
まず入力されたセルの数字を調べ、数値に変換します。計算が可能であれば合計が右端のセルに表示されます。

簡易的な計算でしたので、もう少し使いやすく工夫してみてください。

//-------------------------------------------------------------------
void __fastcall TForm1::StringGrid1KeyUp(TObject *Sender, WORD &Key,
    TShiftState Shift)
{
    static int line = 1;

    int x = StrToIntDef(StringGrid1->Cells[1][line], 0);
    int y = StrToIntDef(StringGrid1->Cells[2][line], 0);
    StringGrid1->Cells[3][line] = IntToStr(x + y);

    line = StringGrid1->Row;
}
//-------------------------------------------------------------------



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