Einzelnen Beitrag anzeigen

Steve-0

Registriert seit: 30. Nov 2009
10 Beiträge
 
#1

Geschriebenes Programm stürzt ab

  Alt 9. Dez 2009, 15:30
Hallo liebe Forengemeinde,
Ich habe ein Problem, dass ich rein gar nicht verstehe, ich soll für die Schule eine Pyramide zeichnen, in der sich immer kleiner werdende andere Pyramiden schachteln mit Hilfe von Variablen zeichnen. Ich bin leider nicht weit gekommen, denn bei dem Eintrag
LineTo (PenPos.X+ Round((Breite-BZ)/2), PenPos.Y-(Breite-BZ)); In einer while Schleife stürzt das Programm ab, nachdem ich den Button zum Zeichnen gedrückt habe, d.h. es reagiert nicht mehr, zeichnet aber auch nicht. Ich kann es nur über Run-->Program Reset schließen, komischerweise läuft das Programm, wenn ich das geteilt durch 2 und den Round Befehl weg lasse, aber dann zeichnet es ja nicht richtig. ICh bin ziemlicher Anfänger, vlt. ist einfach irgendwo ein Fehler, den ich nicht sehe, ich hoffe mal ihr könnt mir das erklären

Hier der restliche Programm Text:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    ImZeichnen: TImage;
    Zeichnen: TButton;
    procedure ZeichnenClick(Sender: TObject);
  private
    { Private declarations }
    procedure DreieckZeichnen (Ebenen: Integer; Breite: Integer; X1,Y1: Integer);
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.DreieckZeichnen(Ebenen: Integer; Breite: Integer; X1,Y1: Integer);
var BZ: Integer;
begin
BZ := Round (Breite/Ebenen);
with ImZeichnen.Canvas do begin
MoveTo (x1,y1);
LineTo (PenPos.X+Round (Breite/2), PenPos.Y-Breite);
LineTo (PenPos.X+Round (Breite/2), PenPos.Y+Breite);
LineTo (x1,y1);
while PenPos.X < Breite do begin
MoveTo (x1+BZ,y1);
LineTo (PenPos.X+ Round((Breite-BZ)/2), PenPos.Y-(Breite-BZ));
end;
end;
end;

procedure TForm1.ZeichnenClick(Sender: TObject);
begin
DreieckZeichnen (7,100,0,100);
end;

end.
  Mit Zitat antworten Zitat