Einzelnen Beitrag anzeigen

Benutzerbild von bernau
bernau

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

AW: Logische Operatoren als Aufzählungstyp

  Alt 18. Dez 2014, 15:28
Wieso führst Du überhaupt einen Enum ein? Schreib doch einfach die paar Methoden separat? Oder mach es mit einzelnen Klassen. Dann verzichtest Du auf dein 'case'-Statement, was in einer sauberen Methode ohnehin nichts zu suchen hat (sagen die Puristen).
Hättest du das nicht geschrieben, hätte ich es jetzt getan
Guckstu das
Den Enum wollte ich einführen, da ich die Logische Operation Dynamisch ermitteln wollte.

Delphi-Quellcode:
Procedure Irgendetwas;
var
  lOperator:TLogicalOperator;
  lMeinArray:TDoubleDynArray;
begin
  lOperator:=GibMirDenOperator;
  FuelleMeinArray(lMeinArray);
  MeineFunktion(lOperator,lMeinArray);
  
  lOperator:=GibMirEinenAnderenOperator;
  FuelleMeinArrayMitAnderenWerten(lMeinArray);
  MeineFunktion(lOperator,lMeinArray);
end;
Würde ich den Operator nicht in "MeineFunktion" verwenden, würde es ja so aussehen:


Delphi-Quellcode:
Procedure Irgendetwas;
var
  lOperator:TLogicalOperator;
  lMeinArray:TDoubleDynArray;
begin
  lOperator:=GibMirDenOperator;
  FuelleMeinArray(lMeinArray);
  case loperator of
    loAnd:MeineFunktionAnd(lMeinArray);
    loOr:MeineFunktionOr(lMeinArray);
  end;
  
  lOperator:=GibMirEinenAnderenOperator;
  FuelleMeinArrayMitAnderenWerten(lMeinArray);
  case loperator of
    loAnd:MeineFunktionAnd(lMeinArray);
    loOr:MeineFunktionOr(lMeinArray);
  end;
end;
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de

Geändert von bernau (18. Dez 2014 um 15:30 Uhr)
  Mit Zitat antworten Zitat