AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Geschriebenes Programm stürzt ab

Ein Thema von Steve-0 · begonnen am 9. Dez 2009 · letzter Beitrag vom 23. Dez 2009
 
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
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz