Доброго времени суток, проблема вот такого рода.
я сделал такой код по вот такому заданию
В проекте выполнить построение звезды на канве при ЩК мыши (клике). Звезда прорисовывается в месте клика, а цвет зависит от кнопки, которой был произведён клик, т.е. правой кнопкой или левой.
Вот код
Код:
unit Stars_;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
procedure StarLine(x0,y0,r: integer); // рисует звезду
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
// рисует звезду
procedure TForm1.StarLine(x0,y0,r: integer);
// x0,y0 - координаты центра звезды
// r - радиус звезды
var
p : array[1..11] of TPoint; // массив координат лучей и впадин
a: integer; // угол между осью ОХ и прямой, соединяющей
// центр звезды и конец луча или впадину
i: integer;
begin
a := 18; // строим от правого гор. луча
for i:=1 to 10 do
begin
if (i mod 2 = 0) then
begin // впадина
p[i].x := x0+Round(r/3*cos(a*2*pi/360));
p[i].y:=y0-Round(r/3*sin(a*2*pi/360));
end
else
begin // луч
p[i].x:=x0+Round(r*cos(a*2*pi/360));
p[i].y:=y0-Round(r*sin(a*2*pi/360));
end;
a := a+36;
end;
p[11].X := p[1].X; // чтобы замкнуть контур звезды
p[11].Y := p[1].Y;
Canvas.Polyline(p); // начертить контур звезды
end;
// нажатие кнопки мыши
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft // нажата левая кнопка?
then Canvas.Pen.Color := clBlack
else Canvas.Pen.Color := clRed;
StarLine(x, y, 30);
end;
он не компилируется и пишет вот это.
Цитата:
[Pascal Fatal Error] E2202 Required package 'dss' not
found
|
Что это такое?