Thema: Delphi auflisten + Graf

Einzelnen Beitrag anzeigen

BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#35

Re: auflisten + Graf

  Alt 21. Mär 2009, 10:52
Zitat:
Die Prozedur für die Punktberechnung habe ich komplett verstanden, bei der Zeichnung des Koordinatensystems gibt es bei mir Verständnisprobleme.
Könntest du mir, falls du Zeit und Lust hast, mir die Prozedur Schritt für Schritt erklären?
Ok hier noch die Procedure mit den Erklärungen:

Delphi-Quellcode:
procedure TForm1.KoordinatenSystem_zeichnen;
var ySchritt, xSchritt, i: integer;
begin
  // Ok Ziel ist es 5 Teilstriche auf der X und Y Achse darzustellen.
  // Dafür habe ich die Zeilen mal neu geordnet (es sind keine weiteren
  // dazugekommen) damit es vieleicht besser Verständlich ist.

  // zuerst zeichnen ich die Achsen an sich mit folgenden beiden Zeilen
  // X-Achse wird 10 Pixel über dem unteren Rand gezeichnet.
  Line_zeichnen(0,PaintBox1.Height-10, Paintbox1.Width, PaintBox1.Height-10);
  // Y-Achse wird 10 Pixel vom linken Rand gezeichnet.
  Line_zeichnen(10,0, 10, PaintBox1.Height);

  // Für meine 5 Teilstriche bleiben, damit sie gleichmäßig über die Strecke
  // verteilt sind jeweils PaintBox1-Höhe und Breite minus 10 Pixel.
  // Also ermittel ich mir die Weite der Strichabstände indem ich durch 5 Teile.
  xSchritt := trunc((PaintBox1.Width-10)/5);
  ySchritt := trunc((PaintBox1.Height-10)/5);

  // Nach der Ermittlung der Schrittweite für diese Striche muss ich sie nur noch
  // zeichnen. Der einfachheithalber nutze ich da eine For-Schleife. Bedenken muss
  // ich nur, dass ich jeweils bei Pixel 10 erst anfange zu zählen (erklärt die 10+...)
  for i := 1 to 5 do
    begin
      Line_zeichnen(10+i*xSchritt, PaintBox1.Height-15,10+i*xSchritt, PaintBox1.Height-5);
      Line_zeichnen(5,PaintBox1.Height-(+i*ySchritt), 15,PaintBox1.Height-(+i*ySchritt));
    end;

  // Damit ich die Änderungen überhaupt sehen kann lass ich mir die Paintbox nochmal neu
  // zeichnen.
  PaintBox1.Refresh;
end;
  Mit Zitat antworten Zitat