Ich brauche Hilfe. Bitte keine blöden Antworten! Für Gute gibts nen Stern!
Ich weiß nciht genau,was ich falsch gemacht hab, aber es geht nicht.
Ich programmiere in Delphi in Lazarus. Danke!
TForm1 = class(TForm)
BZeichnen: TButton;
Beenden: TButton;
Image1: TImage;
procedure BZeichnenClick(Sender: TObject);
procedure Image1Click(Sender: TObject);
private
{ private declarations }
procedure HausZeichnen(x,y: integer);
public
{ public declarations }
end;
var
Form1: TForm1;
i:integer;
implementation
{ TForm1 }
procedure TForm1.HausZeichnen(x,y: integer);
begin
Image1.Canvas.MoveTo(x,y);
Image1.Canvas.LineTo(x+50,y);
Image1.Canvas.LineTo(x+50,y-50);
Image1.Canvas.LineTo(x,y-50);
Image1.Canvas.LineTo(x,y);
end;
procedure TForm1.Image1Click(Sender: TObject);
begin
end;
procedure TForm1.BZeichnenClick(Sender: TObject);
begin
for i:=1 to 2 do begin
HausZeichnen(xStart,100);
xStart:=xStart+100;
end;
end;
Update:Es wird gemeckert, dass:
HausZeichnen(xStart,100);
xSTart:=xStart+100;
Copyright © 2024 Q2A.ES - All rights reserved.
Answers & Comments
Verified answer
Für 12 Jahre nicht schecht erkannt Toxy
xStart ist weder deklariert noch defniert.
Das heisst es wird eine unbekannte Variable mit einem unbekannten Startwert um 100 hochgezählt. und das kann nicht funktionieren.
probiers mit
TForm1 = class(TForm)
BZeichnen: TButton;
Beenden: TButton;
Image1: TImage;
Integer: xStart = 0;
procedure BZeichnenClick(Sender: TObject);
...
hmmm, ich habe Pascal das letzte mal vor 12 jahren benutzt. drum bin ich jetzt nicht 100% sicher.
aber:
du benutzt die variable xStart, ohne diese vorher deklariert und initialisiert zu haben.