Einzelnen Beitrag anzeigen

lxo

Registriert seit: 30. Nov 2017
286 Beiträge
 
Delphi 12 Athens
 
#11

AW: Case-Anweisung - Zwingen alle Elemente des Typen auszuprogrammieren

  Alt Gestern, 13:52
Meine Idee mit dem Ord(High(TEnum)) war so gedacht:

Delphi-Quellcode:
type
  TEnum = ( t1, t2, t3);
var
  lEnum: TEnum;
begin
  {$DEFINE ENUMCOUNT 0}
  case lEnum of
    t1:
     begin
      {$DEFINE ENUMCOUNT ENUMCOUNT+1}
      ...
     end;
    t2:
     begin
      {$DEFINE ENUMCOUNT ENUMCOUNT+1}
      ...
     end;
    // Hier immer letztes Element aus der Case-Anweisung eintragen.
    {$IF Ord(High(TEnum)) <> ENUMCOUNT} {$MESSAGE Error 'Case-Fall fuer jedes Element ausprogrammieren!'} {$IFEND}
  else
    raise Exception.Create('Fehlermeldung');
  end;
end;
  Mit Zitat antworten Zitat