![]() |
Werte in Datentypen zählne
Hi Leute :)
Wie kann ich alle Möglichen Werte eines Datentyps zählen? Also wenn ich z.B. TMyType = (mtEins, mtZwei, ...) habe, wie kann ich Zählen wie viele Werte es gibt? Gruß Johannes |
AW: Werte in Datentypen zählne
|
AW: Werte in Datentypen zählne
Delphi-Quellcode:
.
Anzahl := Ord(High(TDeinEnum)) + 1;
PS: Wenn man die einzelnen Felder ds ENums mit einem Wert vorbelegt hätte, dann hat dieser Type keine detailierte RTTI und man kommt sowieso nicht weiter, da man dann die Felder nicht auflisten kann. Die RTTI hilft also nur, wenn die einzelnen Enumwerte aufeinanderfolgend, von 0 beginnend sind ... und bei diesem Standardfall kann man es auch direkt berechnen (siehe oben) Vorbelegung:
Delphi-Quellcode:
TMyENum = (ein, zwei, zehn=10);
|
AW: Werte in Datentypen zählne
@himitsu
Zitat:
|
AW: Werte in Datentypen zählne
Jupp, der maximale Wert plus die Null = Anzahl laut Definition.
Sollten Teile übersprungen werden, hat man Pech (Emba hört ja nicht auf mich, bzw. meinen Vorschlag für eine mögliche Lösung ... einfach die Leerwerte mit einem Leerstring/Dummywert befüllen). SizeOf(TDeinEnum) * 8 = Anzahl laut Datengöße. |
AW: Werte in Datentypen zählne
Zitat:
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:24 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 by Thomas Breitkreuz