begin
unit Unit1;
interface
uses
Windows,messages.SysUtils.Variants,Classes.Graphics,Vontrols,Formas,
Dialogs,ExtCtrls,StdCtrls;
type
TForm1=class (TForm)
Shape1:tsHAPE;
Button1:TButton;
Button2:TButton;
Timer1:TTimer:
procedure Button1Click (Sender:TObject);
procedure Button2Click (Sender:TObjcet);
procedure Timer1Timer (Sender:TObject);
private
{Private declarations}
public
{Public declarations}
end;
var
Form1:TForm1;
implementation
{$R*.dfm} procedure TForm1.Button1Click (sender:TObject);
//小球开始运动
begin
Timer1.Enabled:=true;
end;
procedure TForm1.Timer1Timer (Sender:TObject);
//小球停止运动
begin
Timer1.Enabled:=false;
end;
procedure TForm1.Timer1Timer (Sender:TObject);
//实现小球运动
下面的就不能运行了,提示错误。上面的可以正常运行,各位帮我一下啊
begin
if Shape1.left>255 then
Shape1.left:=0
else
begin
Shape1.Left:=Shape1.left+10;
Shape1.Width:=(Shape1.Width+1) mod 80;
Shape1.Height:=(Shape1.Height+1) mod 80;
end;
end.
unit Unit1;
interface
uses
Windows,messages.SysUtils.Variants,Classes.Graphics,Vontrols,Formas,
Dialogs,ExtCtrls,StdCtrls;
type
TForm1=class (TForm)
Shape1:tsHAPE;
Button1:TButton;
Button2:TButton;
Timer1:TTimer:
procedure Button1Click (Sender:TObject);
procedure Button2Click (Sender:TObjcet);
procedure Timer1Timer (Sender:TObject);
private
{Private declarations}
public
{Public declarations}
end;
var
Form1:TForm1;
implementation
{$R*.dfm} procedure TForm1.Button1Click (sender:TObject);
//小球开始运动
begin
Timer1.Enabled:=true;
end;
procedure TForm1.Timer1Timer (Sender:TObject);
//小球停止运动
begin
Timer1.Enabled:=false;
end;
procedure TForm1.Timer1Timer (Sender:TObject);
//实现小球运动
下面的就不能运行了,提示错误。上面的可以正常运行,各位帮我一下啊
begin
if Shape1.left>255 then
Shape1.left:=0
else
begin
Shape1.Left:=Shape1.left+10;
Shape1.Width:=(Shape1.Width+1) mod 80;
Shape1.Height:=(Shape1.Height+1) mod 80;
end;
end.
但是看了兄台的程序怎么有两个
procedure TForm1.Timer1Timer (Sender:TObject);
的噢。为什么把
Timer1.Enabled:=false;
放到
procedure TForm1.Timer1Timer (Sender:TObject);
呀,这样不就是一开始就不能再执行你那段控制小球运动运动的代码了?我想应该把程序改为如下形式就可以了吧(只是想法,没有测试过的):
procedure TForm1.Button1Click (sender:TObject);
//小球开始运动
begin
Timer1.Enabled:=true;
end;procedure TForm1.Button2Timer (Sender:TObject);
//小球停止运动
begin
Timer1.Enabled:=false;
end;procedure TForm1.Timer1Timer (Sender:TObject);
//小球运动的代码
begin
if Shape1.left>255 then
Shape1.left:=0
else
begin
Shape1.Left:=Shape1.left+10;
Shape1.Width:=(Shape1.Width+1) mod 80;
Shape1.Height:=(Shape1.Height+1) mod 80;
end;
end.试试看?应该可以的。