Einzelnen Beitrag anzeigen

Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Aufzählungstypen quasi kombinieren

  Alt 16. Aug 2015, 13:03
Ich hab öfter folgende Situation, zum Beispiel so:
Delphi-Quellcode:
TSomeTyp = (stEins, stZwei, stDrei, stVier, stFuenf);

TSomeStyle = (ssEins, ssZwei, ssDrei, ssSechs, ssSieben, ssAcht, ssNeun);
Im Beispiel steten Eins, Zwei und Drei je für das Selbe.

Gibt es eine Chance den zweiten Aufzählungstyp irgendwie so aufzubauen
"TSomeStyle" = "TSomeTyp" - "[stVier, stFuenf]" + "[ssSechs, ssSieben, ssAcht, ssNeun]"; also irgendwie wohl mit integer aber dennoch sprechende Bezeichner?
Dann stehen die ja die Typen  ssEins, ssZwei, ssDrei nicht mehr zur Verfügung.

Hast du die Typen selber definiert? Oder sind die aus einer Komponente, die du als Vorgabe hinnehmen must?

Wenn dir der Präfix egal ist und für alle gleich sein kann, dann kannst du auch mit Sets arbeiten.

Delphi-Quellcode:
type

TSomeTyp = (stEins, stZwei, stDrei, stVier, stFuenf, stSechs, stSieben, stAcht, stNeun);

TSomeTypSet = Set of TSomeTyp;

const

TSomeSubset1 = [stEins, stZwei, stDrei, stVier, stFuenf];

TSomeSubset2 = [stEins, stZwei, stDrei, stSechs, stSieben, stAcht, stNeun];

Dann kannst du mit folgendem prüfen

if SomeType in TSomeSubset1 then Nicht ganz deine gewünschte Lösung. Aber vielleicht ein Ansatz.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat