Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Eigenen Datentyp erstellen (https://www.delphipraxis.net/139890-eigenen-datentyp-erstellen.html)

Christian18 7. Sep 2009 21:58


Eigenen Datentyp erstellen
 
Hallo,

ich möchte mir einen eigenen Datentyp für Binäre, Oktale, Dezimale und Hexadezimale Werte erstellen.

Wie geht das?

Wenn ich zum Beispiel einen Binären Datentyp anlege, sollte auch erkannt werden, das ich einen Binären Wert speichere. Wenn das nicht der Fall sein sollte, sollte das Programm gar nicht erst kompiliert werden können. Geht sowas?

MfG Christian18

jfheins 7. Sep 2009 22:00

Re: Eigenen Datentyp erstellen
 
Du kannst Werte gar nicht anders als Binär speichern.

Es macht also keinen Sinn, einen Hexadezimalen Datentypen zu erstellen. Oktal, Hex und Binär sind vielmehr verschiedene möglichkeiten, ein und denselben Wert darzustellen.

Sinnvoller wäre deshalb eine Funktion IntToOct():String die eine Zahl in einen String umwandelt und dabei das Oktalsystem benutzt (als Beispiel)

himitsu 8. Sep 2009 09:24

Re: Eigenen Datentyp erstellen
 
jupp, es kommt erstmal drauf an, was du genau willst.

Soll der Typ intern die verschiedenen Darstellungen alle in einer eigenständigen Darstellung speichern
und wenn ja un welcher (z.B. Binär oder als String).

Oder kann es intern binär im Zweierkomplement (also z.B. als Integer) gepeichert werden und soll nur nach Außen die anderen Darstellungen unerstützen.


in "neueren" Delphis kanns du dir z.B. eine Klasse erstellen, welcher die Daten und die Umwandlungsfunktionen enthält oder auch einen Operator-Record.

Auch wäre ein Record mit den Daten und dann nur noch Umwandlungsprozeduren .

Oder auch die Umwandlungsprozeduren und die Daten in schon existierenden Stantardtypen. (Integer, String oder Dergleichen).


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