Delphi 01

Object Pascalの基本
初級プログラミング
基本コンポーネント
サンプルプロジェクト1−5
問題:カウンタの作成  
道路の通行量や会場の入場者を数えたりするのに使われるカウンタを作成する。
塚越一雄「はじめてのDelphi」技術評論社、第3章を参照
  1. 問題分析

  2. フォームの設計                
    オブジェクト名Nameプロパティ役割
    フォーム1Form1プログラム専用の窓
    ラベル1Label1カウント数を表示
    ラベル2Label2文字"回"を表示、ガイド用
    ボタン1Button1カウンタ用、回数を数える
    ボタン2Button2カウント数をクリア
    ビットボタン1BitBtn1実行の終了

  3. プロパティの設定

    • プロパティの設定方法の手順
      1. 設定したいフォームやコンポーネントを選択(クリックしてアクティブにする)する。
      2. オブジェクト・インスペクタのプロパティのページを選択する。
      3. 設定したいプロパティの値欄をクリックする。
      4. プロパティの種類によって次の3通りの方法: (1) 値を直接入力する、 (2) リストボックスから選択する、 (3) ダイアログボックスから選択する、 のいづれかで値を設定する。
      5. 別のコンポーネントを選択するか、[OK]ボタンがあればそれを選択することで、プロパティの設定が完了する。

    今回の設定項目                        
    オブジェクトプロパティ備考
    フォーム1CaptionSample Counter窓のタイトル
    ラベル1Caption0(ゼロ)カウンタの初期値
    AlignmenttaRightJustify表示の設定、右寄せ
    AutoSizeFalse表示サイズの自動調整、しない
    ColorclWhiteラベルの色
    ラベル2Captionカウンタ数のガイド
    ColorclAquaラベルの色
    ボタン1Captionカウントイベント未定義
    ボタン2Captionクリアイベント未定義
    ビットボタン1KindbkClose実行の終了、定義済みイベントから設定

  4. カウントボタンButton1のプログラム

       
    • カウントするには?
         
      • カウント変数を導入する、宣言が必要  
      • カウント変数"Count"の値を1つ増やす   
        Count := Count + 1;   
      • Inc手続き   
        Inc(Count); (または Inc(Count, 1); )は、Count := Count + 1; と同じ働きをする。

    • ラベルに文字を表示するには?   
          
      • それにはCountの数値を Label1 の "Caption"プロパティに代入すればよい。 ただし、整数型であるCountの値を文字列型であるCaptionにそのまま代入することはできない。 この場合、Countの数値をString型の変数("Sc"を導入して)に変換してから代入する。   
      • Integer型とString型の型変換
        手続き:Str(整数, 文字列)整数を文字列に変換
        関数:IntToStr(整数)整数を10進文字列に変換
        関数:StrToInt(整数)10進または16進文字列を整数に変換
          
      • 使用例:次の1行はプログラムの最後のScを使った2行と同じ働きをする、この場合は変数Scを使っていないのでScの宣言も要らない。   
        Label1.Caption := IntToStr(Count);
       
    • カウントボタンを起動して(ダブルクリック)次のようにプログラムを記述する。
        procedure TForm1.Button1Click(Sender: TObject);
        var
            Sc: String;
        begin
              Count := Count + 1;
              Str(Count, Sc);
              Label1.Caption := Sc;
        end;
      
       
    • 変数の宣言   
      変数Scの参照はこのButton1手続き内に限られるのでここで行なう。   
      変数Countについては後述

  5. クリアボタンButton2のプログラム

    • クリアボタンを起動して、次のようにプログラムを記述する。
        procedure TForm1.Button2Click(Sender: TObject);
        begin
                Count := 0;
                Label1.Caption := '0';
        end;
      
       
    • 変数の宣言   
      変数Countについては後述

  6. 変数Countを宣言する位置

    • 変数Countは現在のカウント数を保持するために導入した。この変数はButton1とButton2の2つの手続きから参照される。
    • 変数CountはUnit1内の手続きから参照できれば良いので、次のようにUnit1のimplementation部に変数Countを宣言する。
        implementation
         
           {$R *.DFM}
         
        var
              Count: Integer;
      
  7. 終了ボタンBitBtn1のプログラム
       
    • ビットボタンのKindプロパティの設定により定義済みである

  8. プロジェクトの新規保存
       
    • Delphiの開発環境の確認  
    • とりあえず、プロジェクト名"Sample 1_5"、ユニット名"Sample 1_5un"で保存しよう。

  9. プロジェクトのコンパイルと実行

  10. 発展問題:
    • Str手続きの代わりに、IntToStr関数を使って、カウントボタンButton1の手続きを書き直してみなさい。

1998/05/14 T.Katayama