![]() |
Anzahl der Möglichkeiten in einer Aufzählung
Hi!
Ich denke, der Titel sagt eh schon alles; als Beispiel:
Delphi-Quellcode:
Wie bekomme ich da die Anzahl, also in diesem Fall 3, heraus?
type
TMyType = (mtOpt1, mtOpt2, mtOpt3); LG, ich |
Re: Anzahl der Möglichkeiten in einer Aufzählung
Versuche es mit Integer(high(TMyType))+1. Darfst damm aber keine Wertzuweisungen, wie ab Delphi 6 (?) möglich machen. Dann stimmt das nicht mehr.
|
Re: Anzahl der Möglichkeiten in einer Aufzählung
Tschuldige, ich habs auf einmal doch gefunden:
![]()
Delphi-Quellcode:
In der Hilfe steht aber doch, dass High schon einen Integer-Wert zurückgibt :roll:
Ord(High(TMyType))
Aber Hauptsache es funktioniert - trotzdem DANKE... LG, ich |
Re: Anzahl der Möglichkeiten in einer Aufzählung
Zitat:
|
Re: Anzahl der Möglichkeiten in einer Aufzählung
Hier eine Lösung für Mengen mit Wertzuweisung:
Delphi-Quellcode:
Dieser Ausdruck liefert auch für den folgenden Fall die richtige Lösung (8 Elemente):
Anzahl := Ord(High(TMenge)) - Ord(Low(TMenge)) + 1;
Delphi-Quellcode:
Von diesen 8 Elementen haben im Beispiel nur 3 einen Namen erhalten. Die restlichen Elemente können aber durchaus vorkommen:
TYPE TFarbe = (rot=3, gelb=9, gruen);
TMenge = SET OF TFarbe;
Delphi-Quellcode:
Gruß Hawkeye
Variable := [rot..gruen]; // enthält alle 8 Elemente
|
Re: Anzahl der Möglichkeiten in einer Aufzählung
Danke! Nachdem ich aber eh nur mit "einfachen" Aufzählungen (die bei 0 beginnen) arbeite, sollte die obere möglichkeit auch reichen...
Noch hinzuzufügen, für alle zukünftig suchenden: Das mit
Delphi-Quellcode:
gibt nicht die Anzahl aus, da muss man noch eins addieren; wenn man es aber in einer for-Schleife (wie ich) verwendet, dann braucht mans eben nicht...
Ord(High(TMyType))
LG, ich |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:37 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-2025 by Thomas Breitkreuz