Einzelnen Beitrag anzeigen

LkZ

Registriert seit: 26. Mai 2004
75 Beiträge
 
Delphi 6 Enterprise
 
#8

Re: Diese prozedur gängig machen

  Alt 26. Nov 2004, 16:13
Hier ist nochmal der "richtige" code (ohne Tippfehler )

Delphi-Quellcode:
procedure TForm1.DrawModel(Canvas:TCanvas;AtomNr:Real;Rad:integer);
var x0,y0,n,k:integer;
    a,sa:Real;
begin
x0:=Form1.ClientWidth div 2; {Mitte der Form finden}
y0:=Form1.ClientHeight div 2;
a:=AtomNr / 2; {Formel für bestimmung von Elektronen pro Schale: 2*n^2}
sa:=sqrt(a); {Gleichung aufstellen: nach n auflösen; ges.:n=Anzahl SchAle}
n:=round(sa); {Atom Nummer=2*n^2   | /2}
                    {<=> Atom Nummer/2=n^2  | Wurzel}
                    {<=> Wurzel(Atom Nummer/2) = n}

Canvas.Ellipse(x0-Rad,y0-Rad,x0+Rad,y0+Rad); {Für den (Atom)Kern}
for k:=1 to n do {n gefunden}
 begin
  Canvas.Ellipse(x0-(Rad*k),y0-(Rad*k),x0+(Rad*k),y0+(Rad*k));
                                                      {Kreise zeichen mit gleichem Abstand}
  end;
end;
abgesehen von der Formel, weiss ich, wegen den rundungen
bei der for-to-do Schleife müsste eigentl. k:=2 to n, weil die zeile vor der schleife den Atomkern zeichnet. wenn k:=1 und Rad*k = Rad, dann haut das nicht wirklich hin. Toll ....2. Problem

MfG
Immer probiern!
  Mit Zitat antworten Zitat