?? unit_pluse.~pas
字號:
unit Unit_Pluse;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Menus;
type
TFrm_Pluse = class(TForm)
Image_CAD: TImage;
Timer_Pluse: TTimer;
PopupMenuP: TPopupMenu;
Menu_SuiJi: TMenuItem;
Menu_DanSe: TMenuItem;
MenuItem1: TMenuItem;
Menu_Dai: TMenuItem;
Menu_Ye: TMenuItem;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Timer_PluseTimer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Image_CADDblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Play_Shu:Integer;
Xian_Dai:String;
Duo_Dan:Boolean;
end;
var
Frm_Pluse: TFrm_Pluse;
implementation
uses Unit_Main;
{$R *.dfm}
procedure TFrm_Pluse.FormClose(Sender: TObject; var Action: TCloseAction);
begin
try
Action:=CaFree;
Frm_Main.Menu_Pluse.Enabled:=True;
Frm_Pluse.Timer_Pluse.Enabled := False;
except
Frm_Main.Caption:= Frm_Main.Caption;
exit;
end;
end;
procedure TFrm_Pluse.Timer_PluseTimer(Sender: TObject);
var
xmax,ymax,x,x1,r,y,alpha:single;
i,Temp:integer;
prior,next:TPoint;
const Su_Du:Integer=1000;
begin
try
if Frm_Main.Play_Stop = True then
begin
if Frm_Pluse.Duo_Dan = True then
begin
if Xian_Dai ='Xian' then
begin
Frm_Pluse.Timer_Pluse.Enabled := False;
xmax:=Image_CAD.Width;
ymax:=Image_CAD.Height;
// Image_CAD.Canvas.Brush.Color := Rgb(0,0,0);
// Image_CAD.Canvas.FillRect(Rect(0,0,Image_CAD.Width,Image_CAD.Height));
Image_CAD.Canvas.Pen.Width := 1;
for i:=0 to 500 do
begin
Image_CAD.Canvas.Pen.Color := Rgb(Round(Random(255)),Round(Random(255)),Round(Random(255)));
alpha:=i*0.0131416;
r:=200*cos(10*alpha);
x:=r*sin(alpha)+xmax/2;
y:=r*cos(alpha)+ymax/2;
next.X :=trunc(x);
next.Y:=trunc(y);
for Temp:= 0 to Su_Du do
Application.ProcessMessages;
if i = 0 then
begin
prior:=next;
Image_CAD.Canvas.MoveTo(prior.X,prior.Y);
end;
Image_CAD.Canvas.LineTo(next.X,next.Y);
prior:=next;
end;
end;
if Xian_Dai ='Dai' then
begin
Frm_Pluse.Timer_Pluse.Enabled := False;
ymax:=Image_CAD.Height;
// Image_CAD.Canvas.Brush.Color := Rgb(0,0,0);
// Image_CAD.Canvas.FillRect(Rect(0,0,Image_CAD.Width,Image_CAD.Height));
Image_CAD.Canvas.Pen.Width := 1;
for i:=0 to Image_CAD.Width do
begin
for Temp:= 0 to Su_Du do
Application.ProcessMessages;
Image_CAD.Canvas.Pen.Color := Rgb(Round(Random(255)),Round(Random(255)),Round(Random(255)));
x1:=i*0.04;
y:=100*cos(x1)+ymax/2;
Image_CAD.Canvas.MoveTo(i,trunc(y));
Image_CAD.Canvas.LineTo(i+50,trunc(y));
end;
end;
end
else
begin
if Xian_Dai ='Xian' then
begin
Frm_Pluse.Timer_Pluse.Enabled := False;
xmax:=Image_CAD.Width;
ymax:=Image_CAD.Height;
// Image_CAD.Canvas.Brush.Color := Rgb(0,0,0);
// Image_CAD.Canvas.FillRect(Rect(0,0,Image_CAD.Width,Image_CAD.Height));
Image_CAD.Canvas.Pen.Color := Rgb(Round(Random(255)),Round(Random(255)),Round(Random(255)));
Image_CAD.Canvas.Pen.Width := 1;
for i:=0 to 500 do
begin
alpha:=i*0.0131416;
r:=200*cos(10*alpha);
x:=r*sin(alpha)+xmax/2;
y:=r*cos(alpha)+ymax/2;
next.X :=trunc(x);
next.Y:=trunc(y);
for Temp:= 0 to Su_Du do
Application.ProcessMessages;
if i = 0 then
begin
prior:=next;
Image_CAD.Canvas.MoveTo(prior.X,prior.Y);
end;
Image_CAD.Canvas.LineTo(next.X,next.Y);
prior:=next;
end;
Play_Shu:=Play_Shu+1;
if Play_Shu = 10 then
begin
Play_Shu:=0;
Xian_Dai:='Dai';
end;
end;
if Xian_Dai ='Dai' then
begin
Frm_Pluse.Timer_Pluse.Enabled := False;
ymax:=Image_CAD.Height;
// Image_CAD.Canvas.Brush.Color := Rgb(0,0,0);
// Image_CAD.Canvas.FillRect(Rect(0,0,Image_CAD.Width,Image_CAD.Height));
Image_CAD.Canvas.Pen.Color := Rgb(Round(Random(255)),Round(Random(255)),Round(Random(255)));
Image_CAD.Canvas.Pen.Width := 1;
for i:=0 to Image_CAD.Width do
begin
for Temp:= 0 to Su_Du do
Application.ProcessMessages;
x1:=i*0.04;
y:=100*cos(x1)+ymax/2;
Image_CAD.Canvas.MoveTo(i,trunc(y));
Image_CAD.Canvas.LineTo(i+50,trunc(y));
end;
Play_Shu:=Play_Shu+1;
if Play_Shu = 10 then
begin
Play_Shu:=0;
Xian_Dai:='Dai';
end;
end;
end;
Frm_Pluse.Timer_Pluse.Enabled := True;
end;
except
Frm_Main.Caption:= Frm_Main.Caption;
exit;
end;
end;
procedure TFrm_Pluse.FormCreate(Sender: TObject);
var
xmax,ymax,x,r,y,alpha:single;
i:integer;
prior,next:TPoint;
begin
try
xmax:=Image_CAD.Width;
ymax:=Image_CAD.Height;
Image_CAD.Canvas.Brush.Color := Rgb(0,0,0);
Image_CAD.Canvas.FillRect(Rect(0,0,Image_CAD.Width,Image_CAD.Height));
Image_CAD.Canvas.Pen.Color := Rgb(0,255,0);
Image_CAD.Canvas.Pen.Width := 1;
for i:=0 to 1000 do
begin
alpha:=i*0.0131416;
r:=200*cos(10*alpha);
x:=r*sin(alpha)+xmax/2;
y:=r*cos(alpha)+ymax/2;
next.X :=trunc(x);
next.Y:=trunc(y);
if i = 0 then
begin
prior:=next;
Image_CAD.Canvas.MoveTo(prior.X,prior.Y);
end;
Image_CAD.Canvas.LineTo(next.X,next.Y);
prior:=next;
end;
Xian_Dai:='Xian';
except
exit;
end;
end;
procedure TFrm_Pluse.Image_CADDblClick(Sender: TObject);
begin
try
if Xian_Dai = 'Xian' then
Xian_Dai :='Dai'
else
Xian_Dai:='Xian';
except
exit;
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -