Einzelnen Beitrag anzeigen

Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#5

AW: Achsenkreuz skalieren mit for-to-Schleife

  Alt 9. Jan 2011, 16:49
Okay, dann nochmal etwas ausführlicher:
Die Einrückung sollte dir aufeigen, welche Befehle tatsächlich in der Schleife stehen und welche nicht. Da du kein begin-end verwendet hast, wird nur der folgende Befehl (i.d.R. bis zum nächsten Semikolon oder die nächste Kontrollstruktur) mehrfach ausgeführt. Alles danach wird wieder einfach sequentiell abgearbeitet.
Das hier:
Delphi-Quellcode:
    for i:=0 to deltax do
      strichposx:=i*einheitx; // Ein Befehl in der Schleife

    // Ab hier geht's "normal" weiter
    PaintBox1.Canvas.MoveTo(strichposx,(round(einheity*ymax))-5);
    PaintBox1.Canvas.LineTo(strichposx,(round(einheity*ymax))+5);
Ist also im Grunde eine sinnlose Schleife.
Was du wahrscheinlich machen wolltest ist das hier:
Delphi-Quellcode:
    for i:=0 to deltax do
    begin
      strichposx:=i*einheitx;
      PaintBox1.Canvas.MoveTo(strichposx,(round(einheity*ymax))-5);
      PaintBox1.Canvas.LineTo(strichposx,(round(einheity*ymax))+5);
    end;

    //y-Achse
    PaintBox1.Canvas.MoveTo(round(einheitx*xmax),0);
    PaintBox1.Canvas.LineTo(round(einheitx*xmax),Paintbox1.Height);
Mit begin-end fasst du mehrere Befehle zu einem Block zusammen.

Pushen ("hochschieben") ist erst 24h nach dem letzten Beitrag erlaubt!
  Mit Zitat antworten Zitat