Probem z Canvasem

0

Witam ma taki problem. Mam program ktory liczy mi rozne [CIACH!] i interpretacja wyniku ma byc kolo o srednicy ktora jest wynikiem obliczen. Kolo rysuje w ten sposob:

procedure Kolo(Canvas:TCanvas; x,y,r:integer);
var d:integer;
begin
Canvas.MoveTo(x, y+r);
for d:=0 to 360 do
    Canvas.LineTo(round(x+sin(d*PI/180)*r), round(y+cos(d*PI/180)*r));
    Canvas.Pen.Color
  end;

procedure TForm1.BitBtn1Click(Sender: TObject);
var r:Integer;
begin
for r:=0 to fgh do
Kolo(Form1.Canvas, 550, 350, r div 2);
for r:=0 to fgh do
Kolo(Form1.Canvas, 700, 350, r div 2);
end;

Problem jest tego typu ze jak juz narysuje najwiekrze kolo i chcial bym narysowac nastepnie mniejsze to go nie widac byo rysuje sie na tym najwiekszym. Jak ten problem rozwiazac? Dodatkowo chcial bym by oba kola mialy inne kolory.Jak to zrobic? Bardzo prosze o szybka odpowiedz,a najlepiej o wklejenie kodu gdyz nie znam sie prawie wcale na programowaniu.
Z gory dziekuje za szybka odpowiedz.
0

Co to za konstrukcja : ?

Canvas.Pen.Color
  end;
0
with Canvas do
begin
  Brush.Style := bsClear;
  Pen.Color := clRed;
  Ellipse(550 - r div 2, 350 - r div 2, 550 + r div 2, 350 + r div 2);
end;
0

Co do

Canvas.Pen.Color
  end;

To to byl blad,znalazl sie przez przypadek

0

Dzieki,dziala po kilku malych przerobkach.A co zrobic z "wymazywaniem ekranu".Tzn chcial bym by za kazdym razem jak ma mi sie rysowac nowe kolo,poprzednie "znikaly"
Wie ktos jak to zrobic??

1 użytkowników online, w tym zalogowanych: 0, gości: 1