一个错误,请指点迷津!!!
出问题的地方在最下面(上面是画椭圆的算法)
procedure TForm2.Button1Click(Sender: TObject);
var
a,b,x,y:integer;
d1,d2:real;
begin
form1.Image1.Picture.Bitmap:=Tbitmap.Create;
form1.Image1.Picture.Bitmap.Width:=form1.Image1.Width;
form1.Image1.Picture.Bitmap.Height:=form1.Image1.Height;
a:=strtoint(edit1.Text);
b:=strtoint(edit2.Text);
x:=strtoint(edit3.Text);
y:=strtoint(edit4.Text);
x:=0;
y:=b;
d1:=b*b+a*a*(-b+0.25);
form1.Image1.Canvas.Pixels[x,y]:=clred;
form1.Image1.Canvas.Pixels[-x,-y]:=clred;
form1.Image1.Canvas.Pixels[-x,y]:=clred;
form1.Image1.Canvas.Pixels[x,-y]:=clred;
while b*b*(x+1)<a*a*(y-0.5) do
begin
if d1<=0 then
begin
d1:=d1+b*b*(2*x+3);
x:=x+1;
end
else
begin
d1:=d1+(b*b*(2*x+3)+a*a*(-2*y+2));
x:=x+1;
y:=y-1;
end;
end;
form1.Image1.Canvas.Pixels[x,y]:=clred;
form1.Image1.Canvas.Pixels[-x,-y]:=clred;
form1.Image1.Canvas.Pixels[-x,y]:=clred;
form1.Image1.Canvas.Pixels[x,-y]:=clred;
d2:=b*b*(x+0.5)*(x+0.5)+a*a*(y-1)*(y-1)-a*a*b*b;
while y>0 do
begin
if d2<=0 then
begin
d2:=d2+b*b*(2*x+2)+a*a*(-2*y+3);
x:=x+1;
y:=y-1;
end
else
begin
d2:=d2+a*a*(-2*y+3);
y:=y-1;
end;
end;
form1.Image1.Canvas.Pixels[x,y]:=clred;
form1.Image1.Canvas.Pixels[-x,-y]:=clred;
form1.Image1.Canvas.Pixels[-x,y]:=clred;
form1.Image1.Canvas.Pixels[x,-y]:=clred;
end;
end.
运行程序,显示如下错误:
[Hint] Unit2.pas(46): Value assigned to 'x' never used
[Hint] Unit2.pas(47): Value assigned to 'y' never used
是不是什么地方出现了死循环请多多指教。
急用