1.) Ein Viertelkreis zeichnen kannst du bestimmt Windows überlassen, so brauchst du keine Schleife.
Delphi-Quellcode:
begin
Image1.Picture.Bitmap.Canvas.Ellipse(0, -300, 600, 300);
end;
2.) deine For-Schleife ist wahrhaftig etwas sonderbar. Delphi-Pascal != C, deshalb kannst du das nur mit einer WHILE-Struktur machen (Außerdem gibt es einen eleganteren Weg für die Abbrechung (u => Abbr (Boolean):
Delphi-Quellcode:
var i: Integer;
begin
Abbr := false;
while not Abbr do
begin
Application.ProcessMessages;
//...
end;
end;
Dein Abbrechen sieht dann einfach so aus, dass du Abbr auf TRUE setzt.
2. Wie lautet der richtige Quellcode für die Berechnung von PI:=((4*Viertelkreispixel)/Gesamtzahlpixel)? Anders gefragt: Welche Typen müssen die Variablen haben?
PI sollte dann mindestens Single sein (Das reicht
IMHO für 12 Nachkommastellen, wenn nicht Double).
Die Variable Viertelkreispixel reicht, wenn sie Integer ist. So viele Pixel und vor allem Zeit hast du gar nicht zur Verfügung (Integer geht bis 2 Mrd). Für Gesamtpixel reicht dann auch Integer. Du kannst diese allerdings beide nicht errechnen, sondern darfst deine Pixelregen-Funktion dahingehend umschreiben, dass die automatisch die entsprechenden Werte aktualisiert.
Bernnhard