Danke für die Antworten.
Sorry für den Titel.
Hintergrund: Ich speichere sehr oft Flags in bitcodierten int64-Feldern in
DB's weg. auf Oberflächen nutze ich eine Komponente, der ich einen int64-Wert übergebe und die dann je nach gesetzten Bits ein optisches Feedback an den Benutzer gibt. Um eben die Lesbarkeit meines Codes zu erhöhen, arbeite ich mit Enums und Sets.
Wenn nun ein paar Flags zusammenkommen, dann wird:
Delphi-Quellcode:
MeineProbleme := [mpKleinesProblem,mpMittleresProblem];
MeineFlagShowComponent.Value := 0;
MeineFlagShowComponent.Value := MeineFlagShowComponent.Value OR MeineProbleme;
mit:
"Operator auf diesen Operandentyp nicht anwendbar"
quittiert. Bei 50 Elementen im Enum jedes einzelne prüfen bläht den Code schnell auf. Und da es um Anzeigen von Flags zu Datensätzen in grids geht, in denen schnell gescrollt werden soll, sind Schleifen wg. Performance auch ätzend. Daher mein Wunsch nach "was schnellem".
Vorschläge?
Gruß