unit ReactionTime3; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Buttons, mmsystem; type TForm1 = class(TForm) Image1: TImage; Button1: TButton; BitBtn1: TBitBtn; Image2: TImage; Button2: TButton; Button3: TButton; Button5: TButton; Label1: TLabel; Label2: TLabel; Edit2: TEdit; Label3: TLabel; Label4: TLabel; Label5: TLabel; Image3: TImage; Button4: TButton; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Edit7: TEdit; Edit8: TEdit; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Edit9: TEdit; Label11: TLabel; Label12: TLabel; Label13: TLabel; Edit1: TEdit; Button6: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button6Click(Sender: TObject); private { Private 錾 } public { Public 錾 } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); var r1,r2,g1,g2,b1,b2,rad: integer; begin r1:=strtoint(edit6.text); g1:=strtoint(edit7.text)*256; b1:=strtoint(edit8.text)*256*256; r2:=strtoint(edit3.text); g2:=strtoint(edit4.text)*256; b2:=strtoint(edit5.text)*256*256; rad:=strtoint(edit9.text); image1.Canvas.pen.style:=psclear; image1.Canvas.brush.color:=r1+g1+b1; image1.Canvas.Rectangle(0,0,201,201); image2.Canvas.pen.style:=psclear; image2.Canvas.brush.color:=r1+g1+b1; image2.Canvas.Rectangle(0,0,201,201); image2.Canvas.brush.color:=r2+g2+b2; image2.Canvas.ellipse(100-rad,100-rad,100+rad,100+rad); activecontrol:=button4; end; procedure TForm1.Button2Click(Sender: TObject); begin image1.visible:=false; image2.visible:=true; end; procedure TForm1.Button3Click(Sender: TObject); begin image1.visible:=true; image2.visible:=false; end; var start_time,appear_time,end_time: integer; procedure TForm1.Button4Click(Sender: TObject); var delay,ran,t: integer; begin activecontrol:=button5; button4.enabled:=false; delay:=1000+random(4000); start_time:=timegettime; t:=0; while (t < delay) do begin appear_time:=timegettime; t:=appear_time-start_time; end; image1.visible:=false; image2.visible:=true; edit1.text:=inttostr(delay); end; procedure TForm1.Button5Click(Sender: TObject); var t: integer; begin end_time:=timegettime; t:=end_time-appear_time; edit2.text:=inttostr(t); button4.enabled:=true; activecontrol:=button4; image1.visible:=true; image2.visible:=false; end; procedure TForm1.FormCreate(Sender: TObject); begin randomize; button1click(sender); activecontrol:=button4; end; procedure TForm1.Button6Click(Sender: TObject); begin activecontrol:=button4; image1.visible:=true; image2.visible:=false; end; end.