プロシジャーを作る

今までは、イベントハンドラから自動で作られるプロシージャだけでプログラミングをしていましたが、プロシージャは自分で作ることもできるんですよね~。コード中の必要な場所から、プロシジャーを呼び出すことができますが、利用する前に「interface部に作成した手続き(または関数)が宣言されている」を確認する必要があります。

同じような操作(4つのボタンをクリックしたとき)をするので、いちいち4つのボタンをクリックしてイベントハンドラからプロシージャを作らなくても、一つにまとめてしまえばプログラムも短くなるし見やすい。賢いですねぇ

今回は、ボタンをクリックしたときのイベントプロシジャーから作ったプロシジャー「ShowItem」を呼び出しています。
カッコの中は引数です。引数を渡すことで、血液型を教えているとうわけ。たとえば1ならA型というふうに。

プログラム(プロシジャー部分)

//プロシジャーを作る(入力する)
procedure ShowItem(Blood : Integer);
var
  BloodType : string;
  UranaiNum : Integer;
  UranaiItem : string;
  begin
    case Blood of
      1 : BloodType := 'A型';
      2 : BloodTYpe := 'B型';
      3 : BloodTYpe := 'O型';
      4 : BloodTYpe := 'AB型';
    end;

    UranaiNum := Random(5);

    case UranaiNum of
      0 : UranaiItem := '犬';
      1 : UranaiItem := 'ネコ';
      2 : UranaiItem := '鳥';
      3 : UranaiItem := 'ウサギ';
      4 : UranaiItem := 'サル';
     end;//Case文終わり
  ShowMessage(BloodType + 'あなたの幸運の鍵は' + UranaiItem);
  end;

procedure TForm1.btnAClick(Sender: TObject);
//ボタンA型が押されたとき
begin
   // プロシジャーを呼び出す
   ShowItem(1);
 end;

procedure TForm1.btnBClick(Sender: TObject);
begin
   ShowItem(2);
end;

procedure TForm1.btnOClick(Sender: TObject);
begin
  ShowItem(3);
end;

procedure TForm1.btnABClick(Sender: TObject);
begin
  ShowItem(4);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  //乱数表の順番をランダムにする関数
  Randomize;
end;

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です