Autor Beitrag
martin.ich
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Sa 01.05.04 11:45 
Hallo, ich habe ein Problem mit der Grafikprogrammierung bei Delphi 6 Personal.

Wie stelle ich einen Würfel dreidimensional auf einer Image-Componente dar?
Die Kantenlänge beziehe ich aus einem Edit-Feld.

Mein bisheriger Versuch:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm2.Button2Click(Sender: TObject);
begin
  with image1.Canvas do
  begin
    MoveTo(30,30);
    lineto(StrToInt(edit1.Text)*10+30,30);
    lineto(StrToInt(edit1.Text)*10+30,StrToInt(edit1.Text)*10+30);
    lineto(30,StrToInt(edit1.Text)*10+30);
    lineto(30,30);
    lineto(IntToStr(sqrt(sqr(StrToInt(edit1.Text))/2)*10+30),IntToStr(sqrt(sqr(StrToInt(edit1.Text))/2)*10+30));
      //[Zeile ist noch fehlerhaft!]
  end;


Könnte mir jemand einen Lösungsvorschlag machen?

Danke!
martin.ich

Moderiert von user profile iconPeter Lustig (12:48, 01.05.2004): Delphi-Tags hinzugefügt
Moderiert von user profile iconPeter Lustig (12:49, 01.05.2004): Topic verschoben
Johannes Maier
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 173

Win XP
D7 Prof
BeitragVerfasst: Sa 01.05.04 18:56 
Hi,

dass die Zeile fehlerhaft dürfte daran liegen, dass du IntToStr(...) geschrieben hast, die Koordinaten bei LineTo aber vom Typ Integer sind und kein String :wink:
Weiterhin würde ich mal eine Variable einführen, zB:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
[...]
var
  kl: Integer;  //Kantenlänge
begin
  kl := StrToInt(edit1.text);
  [...]
end;

das macht den Code wesentlich einfacher zu lesen und weniger Arbeit beim Tippen :wink:

Greetz
Johannes

_________________
MfG
Johannes ehem. jbmaier