Водород писал(а):Не знаю но всё равно спосибо но в нашей школле мы и подавно такого не изучали если я это вставлю в своё проект то меня сразу впалят((((Алексей а ты можешь написать что то полегче на уровне 10 класса))))
Простите, Водород, а что конкретно Вы не изучали?
1. DrawPoly? Ну, как говорится: "Читающий Хелпы, да прочтёт!" 

 . Однако если по каким-либо (видимо, религиозным) причинам Вам запрещают ЭТО использовать, то приведу реализацию из ФПС:
- Код: Выделить всё
- procedure DrawPoly(numpoints : word;var polypoints);
 type
 ppointtype = ^pointtype; // зачем здесь вот это не знаю. Видимо, великое колдунство.
 pt = array[0..16000] of pointtype;
 var
 i : longint;
 begin
 if numpoints < 2 then
 begin
 _GraphResult := grError;
 exit;
 end;
 for i:=0 to numpoints-2 do
 line(pt(polypoints)[i].x,
 pt(polypoints)[i].y,
 pt(polypoints)[i+1].x,
 pt(polypoints)[i+1].y);
 end;
 
2. Прикол вида:
- Код: Выделить всё
- type
 pt = array[0..16000] of pointtype;
 ...
 pt(polypoints)[i].x...
 - называется, ЕМНИП, "приведение типов". Суть прикола: программист говорит машине "А знаешь, этот PolyPoints на самом деле длиннюююююююющий массив с координатами вершин. Да, не похож... А ты поверь!". После чего тупой компьютер начинает обращаться с этим PolyPoints как с массивом. Все бурно радуются. Пока не происходит выход за границы диапазона. Но это уже совсем другая история.
3. Наконец, "афинское преобразование" на плоскости. В школе, вроде, действительно не проходят. Однако, человеком, знакомым с тригонометрией, выводится легко.
4. Если же у Вас стрелка хранится в памяти как картинка, то посмотрите в примерах по Лазарусу, как советует Виталити.
Если хотите, вот черной вариант:
- Код: Выделить всё
- Program fdgfaf;
 uses graph, crt, SysUtils;
 var
 c : char;
 T : TSystemTime;
 
 gd, gm, r, x, y,i,j     : integer;
 H, PrH, PrM, PrS : integer;
 MinutA, SecundA, HourA, Arrow: array [0..4] of pointtype;
 
 
 const
 Grd : double=pi/180;
 
 Procedure RotateAround(x,y:integer; angle:real; NumPoints:integer; var PolyPoints, OutPoints);
 type
 pt = array[0..16000] of PointType;
 var
 i:integer;
 tx, ty:integer;
 sn, cs:real;
 begin
 if NumPoints<2 then exit;
 sn:=sin(angle*Grd);
 cs:=cos(angle*Grd);
 for i:=0 to NumPoints-1 do begin
 tx:=pt(PolyPoints)[i].x-x;
 ty:=pt(PolyPoints)[i].y-y;
 pt(OutPoints)[i].x:=x+round(tx*cs-ty*sn);
 pt(OutPoints)[i].y:=y+round(tx*sn+ty*cs);
 end;
 end;
 
 BEGIN
 // описываем стрелки
 SecundA[0].X:=300;
 SecundA[0].Y:=250;
 SecundA[1].X:=300;
 SecundA[1].Y:=95;
 SecundA[2].X:=305;
 SecundA[2].Y:=120;
 SecundA[4].X:=295;
 SecundA[4].Y:=120;
 SecundA[3].X:=300;
 SecundA[3].Y:=95;
 
 MinutA[0].X:=300;
 MinutA[0].Y:=250;
 MinutA[1].X:=300;
 MinutA[1].Y:=95+20;
 MinutA[2].X:=305;
 MinutA[2].Y:=120+20;
 MinutA[4].X:=295;
 MinutA[4].Y:=120+20;
 MinutA[3].X:=300;
 MinutA[3].Y:=95+20;
 
 HourA[0].X:=300;
 HourA[0].Y:=250;
 HourA[1].X:=300;
 HourA[1].Y:=95+40;
 HourA[2].X:=305;
 HourA[2].Y:=120+40;
 HourA[3].X:=295;
 HourA[3].Y:=120+40;
 HourA[4].X:=300;
 HourA[4].Y:=95+40;
 
 
 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);
 GetLocalTime(T);
 PrS:=T.Second;
 PrM:=T.Minute;
 PrH:=T.Hour;
 SetColor(1);
 RotateAround(300,250,30*T.Hour,5, HourA, Arrow);
 DrawPoly(5, Arrow);
 SetColor(2);
 RotateAround(300,250,6*T.Minute,5, MinutA, Arrow);
 DrawPoly(5, Arrow);
 SetColor(3);
 RotateAround(300,250,6*T.Second,5, SecundA, Arrow);
 DrawPoly(5, Arrow);
 //SetWriteMode(XorPut);
 
 repeat
 GetLocalTime(T); //Љ®¬ ¤  бзЁвлў Ґв ўаҐ¬п б Є®¬ЇмвҐа .
 if PrS<>T.Second
 then
 begin
 //    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]));
 SetColor(15);
 RotateAround(300,250,30*PrH,5,HourA,Arrow);
 DrawPoly(5, Arrow);
 RotateAround(300,250,6*PrM,5,MinutA,Arrow);
 DrawPoly(5, Arrow);
 RotateAround(300,250,6*PrS,5,SecundA,Arrow);
 DrawPoly(5, Arrow);
 SetColor(0);
 OutTextXY(350,247,Format('%.2d.%.2d.%.4d',[T.Day, T.Month, T.Year]));
 OutTextXY(270,370,Format('%.2d:%.2d:%.2d',[T.Hour, T.Minute, T.Second]));
 Bar(297,95,303,115);
 Bar(435,247,455,253);
 Bar(297,389,303,409);
 Bar(150,247,170,253);
 SetColor(1);
 if T.Hour<>PrH then PrH:=T.Hour;
 RotateAround(300,250,30*PrH,5, HourA,Arrow);
 DrawPoly(5, Arrow);
 SetColor(2);
 if T.Minute<>PrM then PrM:=T.Minute;
 RotateAround(300,250,6*PrM,5, MinutA,Arrow);
 DrawPoly(5, Arrow);
 SetColor(3);
 PrS:=T.Second;
 RotateAround(300,250,6*PrS,5, SecundA,Arrow);
 DrawPoly(5, Arrow);
 
 end;
 if keypressed
 then c:=readkey;
 until c=#27;
 ReadLn;
 CloseGraph;
 END.