AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Geometrische Objekte in Liste speichern
Thema durchsuchen
Ansicht
Themen-Optionen

Geometrische Objekte in Liste speichern

Ein Thema von Informatik-LK · begonnen am 7. Jan 2009 · letzter Beitrag vom 8. Jan 2009
 
WS1976
(Gast)

n/a Beiträge
 
#5

Re: Geometrische Objekte in Liste speichern

  Alt 8. Jan 2009, 05:26
Hallo,

für jeden Typ eine Klasse? Viel zu umständlich.
ich würde eine Klasse nutzen in der es ein Array of Tpoint gibt. Zusätzlich definierst du dir einen Aufzählungstyp sodass du nachher fesstellen kannst was in der Klasse gespeichert wurde.
Willst du z.B. zusätzlich eine Zeichenroutine einfügen kannst du das mit canvas.polygon (weiss nicht exakt wie die procedure heisst) machen.

Delphi-Quellcode:
   Ageotyp=(Dreieck,Viereck,Kreis);
   Tgeometrie=class
      punkte:array of Tpoint;
      parameter:array of integer; //Radius für Kreis, 2 Radien für Ellipse
      geotyp:Ageotyp; //Ageotyp musst du als Aufzählungstyp definieren Ageotyp=(Dreieck,Viereck,Kreis)

      Constructor, Destructor, Prozeduren......
   end;
Beide Arrays sind offen, das heisst du musst, bevor du sie nutzen kannst die Grösse festlegen.
Als Beispiel für die Definition eines Kreises(habs nicht ausprobiert, also nicht böse sein wenn Fehler drin sind):

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var a:Tgeometrie;
begin
  a.Create;
  a.geotyp:=Kreis;
  setlength(a.punkte,1);
  setlength(a.parameter,1);
  a.punkte[0].X:=100; //Mittelpunkt X Wert
  a.punkte[0].Y:=100; //Mittelpunkt Y Wert
  a.parameter[0]:=50; //Radius
end;
Versuchs einfach mal, solltest du nicht zurecht kommen kannst du ja deinen Code posten.

Ich hoffe dir ist damit geholfen.

Grüsse
Rainer
  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 19:22 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