AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Anzahl der Möglichkeiten in einer Aufzählung
Thema durchsuchen
Ansicht
Themen-Optionen

Anzahl der Möglichkeiten in einer Aufzählung

Ein Thema von Delphi-Freak · begonnen am 21. Apr 2006 · letzter Beitrag vom 21. Apr 2006
Antwort Antwort
Benutzerbild von Delphi-Freak
Delphi-Freak

Registriert seit: 26. Sep 2004
Ort: Wien Nähe (Österreich)
321 Beiträge
 
Delphi 2006 Architect
 
#1

Anzahl der Möglichkeiten in einer Aufzählung

  Alt 21. Apr 2006, 17:07
Hi!
Ich denke, der Titel sagt eh schon alles; als Beispiel:
Delphi-Quellcode:
type
  TMyType = (mtOpt1, mtOpt2, mtOpt3);
Wie bekomme ich da die Anzahl, also in diesem Fall 3, heraus?

LG, ich
Gerhard Pfister
*
»To him who loves us and has freed us from our sins by his blood [...] be glory and power for ever and ever! Amen.« (Revelation*1,*5?6)
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#2

Re: Anzahl der Möglichkeiten in einer Aufzählung

  Alt 21. Apr 2006, 17:09
Versuche es mit Integer(high(TMyType))+1. Darfst damm aber keine Wertzuweisungen, wie ab Delphi 6 (?) möglich machen. Dann stimmt das nicht mehr.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Freak
Delphi-Freak

Registriert seit: 26. Sep 2004
Ort: Wien Nähe (Österreich)
321 Beiträge
 
Delphi 2006 Architect
 
#3

Re: Anzahl der Möglichkeiten in einer Aufzählung

  Alt 21. Apr 2006, 17:13
Tschuldige, ich habs auf einmal doch gefunden: http://www.delphipraxis.net/internal...ct.php?t=27715
Ord(High(TMyType)) In der Hilfe steht aber doch, dass High schon einen Integer-Wert zurückgibt
Aber Hauptsache es funktioniert - trotzdem DANKE...

LG, ich
Gerhard Pfister
*
»To him who loves us and has freed us from our sins by his blood [...] be glory and power for ever and ever! Amen.« (Revelation*1,*5?6)
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#4

Re: Anzahl der Möglichkeiten in einer Aufzählung

  Alt 21. Apr 2006, 17:16
Zitat von Delphi-Freak:
In der Hilfe steht aber doch, dass High schon einen Integer-Wert zurückgibt
Aber Hauptsache es funktioniert - trotzdem DANKE...
Nur bei einem Integer-Typen. Bei einer Aufzählung gibt er den Aufzählungstypen zurück. Eine direkte Zuweisung an einen Integer ist damit nicht möglich
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Anzahl der Möglichkeiten in einer Aufzählung

  Alt 21. Apr 2006, 17:51
Hier eine Lösung für Mengen mit Wertzuweisung:

Anzahl := Ord(High(TMenge)) - Ord(Low(TMenge)) + 1; Dieser Ausdruck liefert auch für den folgenden Fall die richtige Lösung (8 Elemente):

Delphi-Quellcode:
TYPE TFarbe = (rot=3, gelb=9, gruen);
     TMenge = SET OF TFarbe;
Von diesen 8 Elementen haben im Beispiel nur 3 einen Namen erhalten. Die restlichen Elemente können aber durchaus vorkommen:

Variable := [rot..gruen]; // enthält alle 8 Elemente Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Freak
Delphi-Freak

Registriert seit: 26. Sep 2004
Ort: Wien Nähe (Österreich)
321 Beiträge
 
Delphi 2006 Architect
 
#6

Re: Anzahl der Möglichkeiten in einer Aufzählung

  Alt 21. Apr 2006, 18:42
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
Ord(High(TMyType)) 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...

LG, ich
Gerhard Pfister
*
»To him who loves us and has freed us from our sins by his blood [...] be glory and power for ever and ever! Amen.« (Revelation*1,*5?6)
  Mit Zitat antworten Zitat
Antwort Antwort


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 11:19 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