Аналоговые часы создание стрелок через типизированный массив
 Добавлено: 18.05.2010 14:58:56
Добавлено: 18.05.2010 14:58:56Народ вот помогли сделать часы 
А щас не получается вместо стрелок(простых линий) сделать типизированный массив (такой красивой объёсной стрелки) и тогда я окончательно доделаю работу
ну или хоть подскажите команды и как их делать а стрелку я сам дорисую очень надо плизз вот через два дня работы сдавать
			- Код: Выделить всё
- Program fdgfaf;
 uses graph, crt, SysUtils;
 var
 c : char;
 T : TSystemTime;
 
 gd, gm, r, x, y,i,j : integer;
 H, PrH, PrM, PrS : integer;
 const
 Grd : double=pi/180;
 BEGIN
 gd:=vga;
 gm:=2;
 InitGraph(gd,gm,'');
 r:=174;
 SetColor(15);
 SetFillStyle(1,12);
 Circle(300,250,200);
 Circle(300,250,180);
 FloodFill(110,250,15);
 SetColor(15);
 SetFillStyle(1,10);
 Circle(300,250,174);
 FloodFill(126,250,15);
 SetColor(15);
 SetFillStyle(1,15);
 FloodFill(299,249,15);
 SetFillStyle(1,12);
 Bar(150,247,170,253);
 Bar(435,247,455,253);
 Bar(297,389,303,409);
 Bar(297,95,303,115);
 repeat
 GetLocalTime(T); //Љ®¬ ¤ бзЁвлў Ґв ўаҐ¬п б Є®¬ЇмвҐа .
 if T.Hour>=12
 then H:=T.Hour-12
 else H:=T.Hour;
 if PrH<>T.Hour
 then
 begin
 x:=300+round((r-55)*sin(PrH*30*Grd));
 y:=250-round((r-55)*cos(PrH*30*Grd));
 SetColor(15);
 Line(300,250,x,y);
 PrH:=T.Hour;
 end;
 if PrM<>T.Minute
 then
 begin
 x:=300+Round((r-55)*sin(PrM*6*Grd));
 y:=250-Round((r-55)*cos(PrM*6*Grd));
 SetColor(15);
 Line(300,250,x,y);
 PrM:=T.Minute;
 end;
 if PrS<>T.Second
 then
 begin
 x:=300+Round((r-25)*sin(PrS*6*Grd));
 y:=250-Round((r-25)*cos(PrS*6*Grd));
 SetColor(14);
 Line(300,250,x,y);
 setcolor(15);
 Line(300,250,x,y);
 PrS:=T.Second;
 end;
 SetColor(0);
 SetFillStyle(1,15);
 Bar(345,240,400,255);
 SetfillStyle(1,12);
 OutTextXY(350,247,Format('%.2d.%.2d.%.4d',[T.Day, T.Month, T.Year]));
 SetFillStyle(1,15);
 Bar(265,365,370,390);
 SetFillStyle(1,12);
 SetColor(0);
 OutTextXY(270,370,Format('%.2d:%.2d:%.2d',[T.Hour, T.Minute, T.Second]));
 case T.Second of
 00..01,59 : Bar(297,95,303,115);
 14..16 : Bar(435,247,455,253);
 29..31 : Bar(297,389,303,409);
 44..46 : Bar(150,247,170,253);
 end;
 x:=300+Round((r-55)*sin(H*30*Grd));
 y:=250-Round((r-55)*cos(H*30*Grd));
 SetColor(0);
 Line(300,250,x,y);
 x:=300+Round((r-55)*sin(T.Minute*6*Grd));
 y:=250-Round((r-55)*cos(T.Minute*6*Grd));
 SetColor(0);
 Line(300,250,x,y);
 x:=300+Round((r-25)*sin(T.Second*6*Grd));
 y:=250-Round((r-25)*cos(T.Second*6*Grd));
 SetColor(14);
 Line(300,250,x,y);
 Delay(500);
 if keypressed
 then c:=readkey;
 until c=#27;
 ReadLn;
 CloseGraph;
 END.
А щас не получается вместо стрелок(простых линий) сделать типизированный массив (такой красивой объёсной стрелки) и тогда я окончательно доделаю работу
ну или хоть подскажите команды и как их делать а стрелку я сам дорисую очень надо плизз вот через два дня работы сдавать

 ) координат этих самых точек.
 ) координат этих самых точек. 