Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Aufzählungstypen in Delphi (https://www.delphipraxis.net/128890-aufzaehlungstypen-delphi.html)

rey003 8. Feb 2009 18:23


Aufzählungstypen in Delphi
 
Hallo Dpler :)
kann man Delphi sagen, dass es Aufzählungstypen intern als Integer anlegen soll?

Denn in dem Beispiel legt er es als Byte (sizeof(TWert) liefert 1) an.
Delphi-Quellcode:
TWert = (Wert1=0, Wert2=1, Wert3=2);
Da dies bei mir aber ein Teil in einem komplexeren Typ ist, den ich genauso in C++ brauch und Aufzählungstypen in C++ generell als Integer angelegt werden stimmen die Größen der beiden Strukturen nicht überein.

Habt ihr eine Idee?
Mir würde nur ein array of integer einfallen der im Programm ablauf mit Konstanten gefüllt wird.

himitsu 8. Feb 2009 18:40

Re: Aufzählungstypen in Delphi
 
{$MINENUMSIZE 4} oder {$Z4} oder {$Z+}

> [oh]$MINENUMSIZE[/oh] bzw. [oh]$Z[/oh]



[add] oder du machst einfach einen Dummy ans Ende :angel2:
Code:
TWert = (Wert1=0, Wert2=1, Wert3=2, [color=#ff0000]_dummy=31[/color]);
PS: dieses =0, =1 usw. brauchst'e in Delphi nicht angeben, jedenfalls wenn bei 0 begonnen und Fortlaufend gezählt wird.

Code:
TWert = (Wert1, Wert2, Wert3, [color=#ff0000]_dummy=31[/color]);

rey003 8. Feb 2009 19:14

Re: Aufzählungstypen in Delphi
 
Danke dir! Hab mich für ersteres entschieden. Sieht sauberer aus ;)

Schade das VC++ kein #pragma enum (1) kann. Damit würde ich sicherlich ne Menge Speicher sparen^^

Edit: das mit =... hatte ich gemacht weil ich schon probiert hatte ob Delphi den Bereich automatisch erweitert ;)

taaktaak 8. Feb 2009 19:18

Re: Aufzählungstypen in Delphi
 
Zitat:

_dummy=31
Warum sollte diese Anweisung dazu führen, dass Integer verwendet wird?
Verstehe ich nicht :roll:

rey003 8. Feb 2009 19:22

Re: Aufzählungstypen in Delphi
 
naja man müsste sicherlich die Zahl größer wählen, aber es ist ja klar was er damit meint...

taaktaak 8. Feb 2009 19:25

Re: Aufzählungstypen in Delphi
 
Aha, also dann wohl mindesten _dummy=256

rey003 8. Feb 2009 19:26

Re: Aufzählungstypen in Delphi
 
wird auch nich reichen^^ da muss schon was her was richtig in den Integer Bereich geht und kleinere Typen ausschließt...

taaktaak 8. Feb 2009 19:32

Re: Aufzählungstypen in Delphi
 
Ach ja, das ist dann ja erst mal der Typ Word mit 16 bit.
Aber bei 65536 wären wir dann bei 32 bit angekommen.

himitsu 8. Feb 2009 20:35

Re: Aufzählungstypen in Delphi
 
ach stimmt 4294967295 ... war wohl irgendwie bei 'nem Set hängen geblieben :wall:

ansonsten einfach den passenden Kompilerschalter verwenden :stupid:

Namenloser 8. Feb 2009 20:37

Re: Aufzählungstypen in Delphi
 
Dafür gibt es auch die Konstante
Delphi-Quellcode:
MaxInt
Delphi-Quellcode:
High(integer)
würde wahrscheinlich auch noch gehen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:37 Uhr.
Seite 1 von 2  1 2      

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