いろんな図形を表示させよう

いろんな図形が画面に飛び出してきます。とても面白いので、ぜひ遊んでみてください。まず、フォームにSystemページにあるTimerコンポーネントを貼り付けて下さい。次に、その貼り付けたコンポーネントをダブルクリックして、以下のコードを書いてください。

procedure TForm1.Timer1Timer(Sender: TObject);
var
  x, y: Integer;
begin
  x := Random(Screen.Width - 10);
  y := Random(Screen.Height - 10);
  Canvas.Pen.Color := Random(65535);
  Canvas.Pen.Width := Random(5);

  case Random(3) of
    0: Canvas.Rectangle(x, y, x+Random(400), y+Random(400));
    1: Canvas.RoundRect(x, y, x+Random(300), y+Random(300), 20, 20);
    2: Canvas.Ellipse(x, y, x+Random(300), y+Random(300));
  end;
end;

出来ましたら、今度はオブジェクトインスペクタでフォームを選択して、イベントページのOnActivateの右側にある空白をダブルクリックして、以下のコードを書いてください。

procedure TForm1.FormActivate(Sender: TObject);
begin
  WindowState := wsMaximized;
  Timer1.Interval := 50;
  Randomize;
end;

画面にいろんな図形が出てきます。

ちょっと一言: Delphiでは、フォームに貼り付けたボタンをダブルクリックすると、以下のプログラムが自動生成されます。

procedure TForm1.Button1Click(Sender: TObject);
begin

end;

では例えば、この貼り付けたボタンがいらなくなった場合は、どうしたら良いのでしょう。試しに、貼り付けたボタンをダブルクリックして自動生成されたプログラムに何も書かないで( begin, end の中身を空っぽにして)Ctrl + F9 キーを押してください。すると。自動生成されたプログラムが消えてしまいました。Delphi では、begin と end に何も書かれていないものは、自動的に消してくれます。( var が書かれていたら消してくれません) 自分で、これを消してしまうと少し困ったことになります。(あまり困らないかも知れませんが、エディタ内を見回してみると、まだ Button1 に関して自動生成されているものがあるので、それも消さないといけなくなります。) つまり、Delphi が自動生成したものは、Delphiに消させましょうということです。(フォームにあるボタンは、Delete キーで消せます)


up next
Last update: 2002/3/3