Предлагаю размещать здесь исходники программ написанные вами в данных средах, а также выкладывать всевозможные интересные коды. Вдруг вы откроете в себе талант программиста.
Программы в среде Delphi i Turbo Pascal
Сообщений 1 страница 3 из 3
Поделиться22008-01-21 00:16:25
Это исходник для создания эллипса в среде Delphi
procedure Zimet(x,y,xc,yc:Integer);
begin
Form1.Canvas.Pixels[x+xc,y+yc]:=$000000;
Form1.Canvas.Pixels[-x+xc,y+yc]:=$000000;
Form1.Canvas.Pixels[x+xc,-y+yc]:=$000000;
Form1.Canvas.Pixels[-x+xc,-y+yc]:=$000000;
end;
procedure Ellipse(xc,yc,rx,ry:Integer);
var x,y:Integer;
Rx2y,Ry2x,Rx2,Ry2,p:Real;
begin
x:=-1;
y:=Ry;
Rx2:=sqr(Rx);
Ry2:=sqr(Ry);
Rx2y:=2*Rx2*y;
Ry2x:=2*Ry2*x;
p:=Ry2-Rx2+0.25*Rx2;
While Ry2x<=Rx2y do
begin
if p<0 then
begin
x:=x+1;
Ry2x:=2*Ry2*x;
p:=p+Ry2x+Ry2;
end
else
begin
x:=x+1;
y:=y-1;
Rx2y:=2*Rx2*y;
Ry2x:=2*Ry2*x;
p:=p+Ry2x-Rx2y+Ry2;
end;
Zimet(x,y,xc,yc);
end;
p:=Ry2*sqr(x+0.5)+Rx2*sqr(y-1)-Rx2*Ry2;
while y>=0 do
begin
If p>0 then
begin
y:=y-1;
Rx2y:=2*Rx2*y;
p:=p-Rx2y+Rx2;
end
else
begin
x:=x+1;
y:=y-1;
rx2y:=2*Rx2*y;
ry2x:=2*Ry2*x;
p:=p+Ry2x-Rx2y+Rx2;
end;
Zimet(x,y,xc,yc);
end;
end;