AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Geschriebenes Programm stürzt ab

Ein Thema von Steve-0 · begonnen am 9. Dez 2009 · letzter Beitrag vom 23. Dez 2009
Antwort Antwort
Seite 2 von 2     12
Micha88
(Gast)

n/a Beiträge
 
#11

Re: Geschriebenes Programm stürzt ab

  Alt 11. Dez 2009, 14:31
Damit es auch funktioniert, folgende Verbesserung:

grundflaeche_halb := grundflaeche DIV 2;
  Mit Zitat antworten Zitat
thepaine91

Registriert seit: 29. Okt 2009
Ort: Neckarsulm
36 Beiträge
 
Delphi 6 Enterprise
 
#12

Re: Geschriebenes Programm stürzt ab

  Alt 11. Dez 2009, 14:57
Michael Linden es funktioniert auch so schon lies dir nochmal den Quelltext durch.
mfg nic
  Mit Zitat antworten Zitat
thepaine91

Registriert seit: 29. Okt 2009
Ort: Neckarsulm
36 Beiträge
 
Delphi 6 Enterprise
 
#13

Re: Geschriebenes Programm stürzt ab

  Alt 23. Dez 2009, 11:39
Mir war schon wieder langweilig so ein Tag vor dem Urlaub, ^^
da hab ich das ganze mal umgeschrieben. So das eine (3D) Pyramide gezeichnet wird. ^^
Kannst ja nach den Schulferien(sind ja atm soweit ich weis) deinem Lehrer geben. ^^

Delphi-Quellcode:
procedure TForm1.Pyramide_3d_paint(grundflaeche, anzahl_ebenen: Integer);
var i, i2, hoehe, grundflaeche_halb, rw_d3d: integer;
begin
  with form1.Canvas do
  begin
    if frac(grundflaeche / 2) <> 0 then
      grundflaeche := grundflaeche -1;
    hoehe := trunc((grundflaeche * sqrt(3)) /2);
    grundflaeche_halb := trunc(grundflaeche / 2);
    Pen.Color := clred; // Sieht so ganz nett aus auf schwarzem Hintergrund :D
    for i := 0 to anzahl_ebenen -1 do
    begin
      MoveTo(0 + grundflaeche_halb * i , hoehe * (anzahl_ebenen - i));
      for i2 := 0 to (anzahl_ebenen -1) - i do
      begin
        MoveTo(PenPos.X + grundflaeche, PenPos.Y);
        LineTo(PenPos.X - grundflaeche_halb, PenPos.Y - hoehe);
        LineTo(PenPos.X - grundflaeche_halb, PenPos.Y + hoehe);
        LineTo(PenPos.X + grundflaeche, PenPos.Y);
      end;
    end;
    rw_d3d := round(Sqrt(grundflaeche_halb * grundflaeche_halb / 2));
    for i := 0 to anzahl_ebenen - 1 do
    begin
      MoveTo((grundflaeche * anzahl_ebenen) - ( grundflaeche_halb * i ), hoehe * (anzahl_ebenen - i));
      for i2 := 0 to (anzahl_ebenen -1) - i do
      begin
        MoveTo(PenPos.X + rw_d3d, PenPos.Y - rw_d3d);
        LineTo(PenPos.X - rw_d3d - grundflaeche_halb, PenPos.Y + rw_d3d - hoehe);
        LineTo(PenPos.X + grundflaeche_halb, PenPos.Y + hoehe);
        LineTo(PenPos.X + rw_d3d, PenPos.Y - rw_d3d);
      end;
    end;
  end;
end;
Ps: Mathe ist bei mir lang her falls ihr einen Fehler entdeckt einfach Bescheid sagen. Meiner Erinnerung nach sollte das aber so stimmen.
>>> Hier könnte eine Signatur stehen <<<
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz