Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Eigener Datentyp (https://www.delphipraxis.net/91957-eigener-datentyp.html)

dr. love 12. Mai 2007 12:04


Eigener Datentyp
 
Ich habe einen eigenen Datentyp geschrieben, der ähnlich einem dynamischen Array eine beliebige Anzahl von Werten speichern kann, bei der Suche allerdings geschwindigkeitsoptimiert ist. Mein Problem nun: Ich möchte dass der Nutzer bei einer Variablendeklaration folgenden Text (wie bei der Deklaration eines Arrays) eingeben kann:

variable: datenstruktur of typ

Wie kann man so etwas umsetzen, also dass meiner Datenstruktur automatisch den jeweiligen Typ speichern kann und der Nutzer das dann auch mit Hilfe von OF ... angeben kann? (Die Datenstruktutr selbst ist ein Typ, der dann natürlich über Create für die Variable initialisiert werden müsste).

mkinzler 12. Mai 2007 12:09

Re: Eigener Datentyp
 
So gar nicht aber so sollte es möglich sein:

Delphi-Quellcode:
variable: <datenstruktur>;
...
variable := <datenstruktur>.Create( <Typ);

dr. love 12. Mai 2007 12:11

Re: Eigener Datentyp
 
Also den Typ in Klammern dahinter angeben? Schade, dass ich nicht die Vorteile nutzen kann, wie sie der Programmierer bei der Deklaration eines Arrays vorfindet.

mkinzler 12. Mai 2007 12:14

Re: Eigener Datentyp
 
Array ist halt kein Typ sondern ein "eingebautes" Konstrukt

Apollonius 12. Mai 2007 12:16

Re: Eigener Datentyp
 
Nebenbei: wie hast du das mit dem variablen Typen realisiert? Ich wollt so was nämlich auch mal versuchen...

dr. love 12. Mai 2007 12:18

Re: Eigener Datentyp
 
Naja, is noch nicht ganz fertig, aber ich werds online stellen sobald man damit vernünftig arbieten kann :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:46 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