AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Aufzählungstypen in Delphi

Ein Thema von rey003 · begonnen am 8. Feb 2009 · letzter Beitrag vom 8. Feb 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von rey003
rey003

Registriert seit: 31. Aug 2005
Ort: Sachsen ;-)
46 Beiträge
 
Delphi 2006 Architect
 
#1

Aufzählungstypen in Delphi

  Alt 8. Feb 2009, 19:23
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.
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.
Daniel S.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

Re: Aufzählungstypen in Delphi

  Alt 8. Feb 2009, 19:40
{$MINENUMSIZE 4} oder {$Z4} oder {$Z+}

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



[add] oder du machst einfach einen Dummy ans Ende
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]);
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von rey003
rey003

Registriert seit: 31. Aug 2005
Ort: Sachsen ;-)
46 Beiträge
 
Delphi 2006 Architect
 
#3

Re: Aufzählungstypen in Delphi

  Alt 8. Feb 2009, 20:14
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
Daniel S.
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#4

Re: Aufzählungstypen in Delphi

  Alt 8. Feb 2009, 20:18
Zitat:
_dummy=31
Warum sollte diese Anweisung dazu führen, dass Integer verwendet wird?
Verstehe ich nicht
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von rey003
rey003

Registriert seit: 31. Aug 2005
Ort: Sachsen ;-)
46 Beiträge
 
Delphi 2006 Architect
 
#5

Re: Aufzählungstypen in Delphi

  Alt 8. Feb 2009, 20:22
naja man müsste sicherlich die Zahl größer wählen, aber es ist ja klar was er damit meint...
Daniel S.
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#6

Re: Aufzählungstypen in Delphi

  Alt 8. Feb 2009, 20:25
Aha, also dann wohl mindesten _dummy=256
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von rey003
rey003

Registriert seit: 31. Aug 2005
Ort: Sachsen ;-)
46 Beiträge
 
Delphi 2006 Architect
 
#7

Re: Aufzählungstypen in Delphi

  Alt 8. Feb 2009, 20:26
wird auch nich reichen^^ da muss schon was her was richtig in den Integer Bereich geht und kleinere Typen ausschließt...
Daniel S.
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#8

Re: Aufzählungstypen in Delphi

  Alt 8. Feb 2009, 20:32
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.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#9

Re: Aufzählungstypen in Delphi

  Alt 8. Feb 2009, 21:35
ach stimmt 4294967295 ... war wohl irgendwie bei 'nem Set hängen geblieben

ansonsten einfach den passenden Kompilerschalter verwenden
$2B or not $2B
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#10

Re: Aufzählungstypen in Delphi

  Alt 8. Feb 2009, 21:37
Dafür gibt es auch die Konstante MaxInt High(integer) würde wahrscheinlich auch noch gehen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:30 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