люди добрые... помогите мну пожалуйста...
мине нада вывести цифры 3, 6, 9 и 12 на циферблате...
вроде программку написала, всё здорово, радостная прихожу на пару, показываю преподу, а он БАЦ! и сказал: "а где цифры?! ет ж у тибя ЦИ-ФЕР-блат! давай выводе мне цифры 3, 6, 9 и 12"
я знаю, что нада использовать процедуру OutTextXY... но пчему т у мну как-то не так вышло...
ааа.. помогите мну пожалуйста... или хотя бы подскажите как деалть... ((
З.Ы.: НУ Ж ОЧ ГОРИТ...
вот прога если что:
Uses Graph, CRT;
var
d,r,r1,r2,rr,k,
x1,y1,x2,y2,x01,y01: Integer;
Xasp,Yasp : Word;
begin
{Инициируем графику}
d := detect; InitGraph(d, r, '');
k := GraphResult; if k <> grOK then WriteLn(GraphErrorMSG(k))
else begin
{Определяем отношение сторон и размеры экрана}
x1 := GetMaxX div 2;
y1 := GetMaxY div 2;
GetAspectRatio(Xasp, Yasp);
{Вычисляем радиусы:}
r:= round(3*GetMaxY*Yasp/8/Xasp);
r1 := round(0.9*r); {Часовые деления}
г2 := round(0.95*r); {Минутные деления}
{Изображаем циферблат}
SetBkColor(blue);
SetFillStyle(SolidFill,15);
SetColor(15);
PieSlice(x1,y1,0,360,round(1.02*r));
SetColor(6);
Circle(x1,y1,r); {Первая внешняя окружность}
Circle(x1,y1,round(1.02*г) ); {Вторая окружность}
for k := 0 to 59 do {Деления циферблата}
begin
if k mod 5=0
then rr := r1 {Часовые деления}
else rr : = r2; {Минутные деления}
{Определяем координаты концов делений}
x0l := x1+Round(rr*sin(2*pi*k/60));
y0l := y1-Round(rr*Xasp*cos(2*pi*k/60)/Yasp);
x2 := x1+Round(r*sin(2*pi*k/60));
y2 := y1-Round(r*Xasp*cos(2*pi*k/60)/Yasp);
Line(x01,y01,x2,y2) {Выводим деление}
end;
{Готовим вывод стрелок}
SetWriteMode(XORPut);
SetLineStyle(SolidLn,0,ThickWidth);
SetColor(9);
{Счетчик минут в одном часе}
{k = минуты}
r := 0;
{Цикл вывода стрелок}
repeat
for k := 0 to 59 do if not KeyPressed then
begin
(Координаты часовой стрелки}
x2 := x1+Round(0.85*r1*sin(2*pi*r/60/12));
y2 := y1-Round(0.85*r1*Xasp*cos(2*pi*r/60/12)/Yasp);
{Координаты минутной стрелки}
x01 := x1+Round(r2*sin(2*pi*k/60));
y01 := y1-Round(r2*Xasp*cos(2*pi*k/60)/Yasp);
{Изображаем стрелки}
Line(x1,y1,x2,y2);
Line(x1,y1,x01,y01) ;
Delay(100); {Для имитации реального темпанужно установить задержку 60000}
{Для удаления стрелок выводим их еще раз!}
Line(x1,y1,x01,y01);
Line(x1,y1,х2,у2);
{Наращиваем и корректируем счетчик минут в часе}
inc(r);
if r=12*60 then
r := 0;
end;
until KeyPressed;
CloseGraph;
end;
end.