Also, ich weiss ja nicht was du genau vorhast...
Die Elemente eines Aufzählungstyp haben eine Wertigkeit. (So wie die Reihenfolge in der Deklaration)
Aufzählungstypen sind nur für die innere Verarbeitung da. Sie machen deinen Quellcode übersichtlicher. Ausgeben kann man sie nicht, deshalb das konstante Array. Mit
Karten[herz] kommt man nun an den Text für das Element
herz. Wenn du jetzt mit Mengen arbeiten würdest, dann könntest du mit einer FOR-Schleife die Menge überprüfen. Ist das zu testende Element in der Menge, wird es ausgegeben. Durch die innere Reihenfolge des Typs, wird immer alles genau in dieser Reihenfolge ausgegeben. Beim zusammenstellen der Menge brauchst du dir dann keine Gedanken mehr über die Reihenfolge zumachen. Doppelte Elemente werden dann auch gleich ausgeschlossen bzw. kommen nur einmal vor.
Beispiel...
Delphi-Quellcode:
type TKartenmenge = set of TKarten;
var Karte:TKarten;
begin
Kartenmenge:=[herz];
for Karte:=low(TKarten) to high(TKarten) do
if Karte in Kartenmenge then
Ausgabe von Karten[Karte]
end;
@DGL-luke:
nix casten! Da nimmt man die Ordinalzahl (Ord-Funktion)
Und ausserdem haben Elemente von Aufzählungstypen schon von sich aus eine Reihenfolge und können über diese miteinander verglichen werden.
MfG
Thorsten