(Gast)
n/a Beiträge
|
Wo liegt der Fehler?
27. Nov 2005, 11:33
Hallo,
Warum funktioniert folgendes nicht?
Delphi-Quellcode:
private
{ Private-Deklarationen }
procedure HausZeichnen;
Delphi-Quellcode:
procedure TStrasse.BtZeichnenClick(Sender: TObject);
begin
with ImBild.Canvas do begin
MoveTo (330,230);
HausZeichnen (50);
end
end;
Delphi-Quellcode:
procedure TStrasse.HausZeichnen (Breite: Integer); // ein Haus wird definiert
begin
with ImBild.Canvas do begin
Rectangle (PenPos.X,PenPos.Y,PenPos.X+Breite,PenPos.Y+Breite);
LineTo (PenPos.X+Round(0.5*Breite),PenPos.Y-Round(0.5*Breite));
LineTo (PenPos.X+Round(0.5*Breite),PenPos.Y+Round(0.5*Breite));
MoveTo (PenPos.X-Round(0.8*Breite),PenPos.Y+Round(0.2*Breite)); // Fenster
Rectangle (PenPos.X,PenPos.Y,PenPos.X+Round(0.2*Breite),PenPos.Y+Round(0.2*Breite));
MoveTo (PenPos.X+Round(0.4*Breite),PenPos.Y); // Fenster
Rectangle (PenPos.X,PenPos.Y,PenPos.X+Round(0.2*Breite),PenPos.Y+Round(0.2*Breite));
MoveTo (PenPos.X,PenPos.Y+Round(0.4*Breite)); // Fenster
Rectangle (PenPos.X,PenPos.Y,PenPos.X+Round(0.2*Breite),PenPos.Y+Round(0.2*Breite));
MoveTo (PenPos.X-Round(0.4*Breite),PenPos.Y); // Tür wird definiert
Rectangle (PenPos.X,PenPos.Y,PenPos.X+Round(0.24*Breite),PenPos.Y+Round(0.4*Breite));
MoveTo (PenPos.X,PenPos.Y+Round(0.2*Breite));
LineTo (PenPos.X+Round(0.1*Breite),PenPos.Y);
MoveTo(PenPos.X-Round(0.2*Breite),PenPos.Y-Round(1.3*Breite)); // Schornstein wird definiert
LineTo (PenPos.X,PenPos.Y+Round(0.4*Breite));
MoveTo (PenPos.X,PenPos.Y-Round(0.4*Breite));
LineTo (PenPos.X+Round(0.2*Breite),PenPos.Y);
LineTo (PenPos.X,PenPos.Y+Round(0.22*Breite));
end;
end;
Bin euch echt sehr dankbar, wenn ihr mir helfen könntet..
Fabgo
|
|
Zitat
|