Zitat von
MathiasSimmack:
Macht sich auch gut beim Setzen von Flags (für Controls, usw.), die von bestimmten Bedingungen abhängig sein sollen.
Aber auch bei typisierten Ordinalwerten, zB
Delphi-Quellcode:
type
TMyState = (msUnknown, msReady, msRunning, msDone);
function MyStateToString(const AState: TMyState): string;
const
ArResult: array[TMyState] of string = ('Unbekannt', 'Bereit', 'Aktiv', 'Fertig');
begin
Result:= ArResult[AState];
end;
Neben Übersichtlichkeit und Geschwindigkeit hat diese Variante gegenüber dem case-Statement den Vorteil, dass der Compiler die Anzahl der Elemente überprüft, also darauf hinweist, wenn nicht "jeder Fall bedacht" wurde.
Das ist iÜ eine der Möglichkeiten, die ich mit meinem Posting unter dem Punkt
Zitat von
choose:
Typesierte Ordinalwerte, um "selbstüberprüfende" Routinen zu schreiben (unbedachte Fälle vom Compiler "aufspüren" lassen)
meinte...