AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Wie läßt sich die Anzahl der Elemente eines AufzählungsTyps bestimmen?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie läßt sich die Anzahl der Elemente eines AufzählungsTyps bestimmen?

Ein Thema von Andreas13 · begonnen am 21. Apr 2023 · letzter Beitrag vom 21. Apr 2023
Antwort Antwort
Seite 1 von 2  1 2      
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#1

Wie läßt sich die Anzahl der Elemente eines AufzählungsTyps bestimmen?

  Alt 21. Apr 2023, 13:10
Delphi-Version: XE5
Hallo Community,
ich möchte gerne die die Anzahl der Elemente eines AufzählungsTyps ermitteln.
Beispiel:
Delphi-Quellcode:
Type
  MyType = (aa, bb, cc, dd, ee); // --> 5 sollte bestimmt werden
Gibt es dazu eine Delphi-Funktion?

Danke für jede Idee + Anregung im Voraus!

Viele Grüße
Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.508 Beiträge
 
Delphi 7 Professional
 
#2

AW: Wie läßt sich die Anzahl der Elemente eines AufzählungsTyps bestimmen?

  Alt 21. Apr 2023, 13:50
Anzahl := High(MyType) + 1; https://www.delphipraxis.net/104698-...ermitteln.html
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#3

AW: Wie läßt sich die Anzahl der Elemente eines AufzählungsTyps bestimmen?

  Alt 21. Apr 2023, 13:58
Funktioniert aber nicht bei solchen Deklarationen (aus dem Delphi DokWiki):
Delphi-Quellcode:
type
  Size = (Small = 5, Medium = 10, Large = Small + Medium);
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.508 Beiträge
 
Delphi 7 Professional
 
#4

AW: Wie läßt sich die Anzahl der Elemente eines AufzählungsTyps bestimmen?

  Alt 21. Apr 2023, 13:59
Steht alles ausführlich im verlinkten Post aus der DelphiPraxis
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#5

AW: Wie läßt sich die Anzahl der Elemente eines AufzählungsTyps bestimmen?

  Alt 21. Apr 2023, 14:11
Sorry Delphi.Narium,
has hatte ich bereits probiert: XE5 meldet:
[dcc32 Fehler] Anzahl_Elemente_AufzaehlungsTyps_1.dpr(52): E2010 Inkompatible Typen: 'Integer' und 'MyType'
Grüße
Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#6

AW: Wie läßt sich die Anzahl der Elemente eines AufzählungsTyps bestimmen?

  Alt 21. Apr 2023, 14:13
Funktioniert aber nicht bei solchen Deklarationen (aus dem Delphi DokWiki):
Delphi-Quellcode:
type
  Size = (Small = 5, Medium = 10, Large = Small + Medium);
Danke Uwe,
aber obige Type-Deklaration paßt leider nicht zu meinem Anwendungsfall
Grüße, Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.508 Beiträge
 
Delphi 7 Professional
 
#7

AW: Wie läßt sich die Anzahl der Elemente eines AufzählungsTyps bestimmen?

  Alt 21. Apr 2023, 14:18
Sorry Delphi.Narium,
has hatte ich bereits probiert: XE5 meldet:
[dcc32 Fehler] Anzahl_Elemente_AufzaehlungsTyps_1.dpr(52): E2010 Inkompatible Typen: 'Integer' und 'MyType'
Grüße
Andreas
Dann die Variante mit der For-Schleife aus verlinktem Post probieren.
Delphi-Quellcode:
var
  i: TMyEnum;
  Zahler: Integer;
begin
  Zahler := 0;
  for i := Low(TMyEnum) to High(TMyEnum) do
    Inc(Zaehler);
end;
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#8

AW: Wie läßt sich die Anzahl der Elemente eines AufzählungsTyps bestimmen?

  Alt 21. Apr 2023, 14:18
So funktioniert es:
Anzahl := Ord(High(MyType)) + 1; Danke Euch für die Hilfe!

Grüße, Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.623 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

AW: Wie läßt sich die Anzahl der Elemente eines AufzählungsTyps bestimmen?

  Alt 21. Apr 2023, 14:24
Sorry Delphi.Narium,
has hatte ich bereits probiert: XE5 meldet:
[dcc32 Fehler] Anzahl_Elemente_AufzaehlungsTyps_1.dpr(52): E2010 Inkompatible Typen: 'Integer' und 'MyType'
Grüße
Andreas
Anzahl := Ord(High(MyType))+1;
Thomas Mueller

Geändert von dummzeuch (21. Apr 2023 um 16:54 Uhr)
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#10

AW: Wie läßt sich die Anzahl der Elemente eines AufzählungsTyps bestimmen?

  Alt 21. Apr 2023, 14:26
Danke, Thomas!
bin inzwischen auch drauf gekommen...
Grüße, Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  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 00:21 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