Delphi 7 Здравствуйте нужна полетел компьютер а мне нужно сделать листинг программы Задача такая:
Разработать проект, реализующий динамическое изображение графическими средствами канвы формы или компонента Image, и показать его преподавателю.
Солнце с 10 лучами вращается против часовой стрелки с дискретом 100/сек. Длина цикла 30 сек. Запуск движения – команда контекстного меню.
Вот сам код:
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Menus;
type
TForm1 = class(TForm)
Image1: TImage;
Timer1: TTimer;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure N3Click(Sender: TObject); private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
i,x,y,z: integer;
begin
Label1.Caption := IntToStr(0); Label2.Caption := IntToStr(0); Label3.Caption := IntToStr(0); Label4.Caption := IntToStr(0);
x := StrToInt(Label1.Caption);
y := StrToInt(Label2.Caption);
z := StrToInt(Label4.Caption); Image1.Canvas.Pen.Color := clRed;
For i := 1 to 10 do begin Image1.Canvas.PolyLine([Point(150+Trunc(125*Cos(2*i*Pi/10-z/360)-x), 150-Trunc(125*Sin(i*2*Pi/10-z/360)-x)), Point(150, 150)]);
end;
Image1.Canvas.Pen.Color := clYellow; Image1.Canvas.Brush.Color := clYellow; Image1.Canvas.Pie(50, 50, 250, 250, 0, 0, 0, 0);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
i,x,y,z: integer;
begin
x := StrToInt(Label1.Caption);
y := StrToInt(Label2.Caption);
z := StrToInt(Label4.Caption); Image1.Canvas.Pen.Color := clWhite; For i := 1 to 10 do begin Image1.Canvas.PolyLine([Point(150+Trunc(125*Cos(2*i*Pi/10-(z+1)/360)-y), 150-Trunc(125*Sin(2*i*Pi/10-(z+1)/360)-y)), Point(150, 150)]);
end; Image1.Canvas.Pen.Color := clRed; For i := 1 to 10 do begin Image1.Canvas.PolyLine([Point(150+Trunc(125*Cos(2*i*Pi/10-z/360)-x), 150-Trunc(125*Sin(i*2*Pi/10-z/360)-x)), Point(150, 150)]);
end;
Image1.Canvas.Pen.Color := clYellow; Image1.Canvas.Brush.Color := clYellow; Image1.Canvas.Pie(50, 50, 250, 250, 0, 0, 0, 0); Label4.Caption := IntToStr(z-1); end;
procedure TForm1.N1Click(Sender: TObject); begin Timer1.Enabled := True; end;
procedure TForm1.N2Click(Sender: TObject);
begin Timer1.Enabled := False;
end; p
rocedure TForm1.N3Click(Sender: TObject);
begin Close;
end;
end.
сейчас подожди