Hallo zusammen,
ich möchte einer Procedure in einer Variablen verschiedene Parameter übergeben. In den Sourcen habe ich zwei Möglichkeiten gefunden. Zum einen, dass ich eine Menge definiere oder indem ich Constanten deklariere.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
type // Möglichkeit 1
TMode = (scmOverwrite, scmCheck);
TModes = set of TMode;
const // Möglichkeit 2
ccmOverwrite = $0001;
ccmCheck = $0002;
procedure AnalyceSet(mode:TModes); // Möglichkeit 1
begin
label1.Caption:='';
if scmOverwrite in mode then label1.Caption:='OverWrite ';
if scmCheck in mode then label1.Caption:=label1.Caption + 'Check';
end;
procedure AnalyceConst(mode:Word); // Möglichkeit 2
begin
label2.Caption:='';
if mode = mode or ccmOverwrite then label2.Caption:='OverWrite ';
if mode = mode or ccmCheck then label2.Caption:=label2.Caption + 'Check';
end;
begin
AnalyceSet([scmOverwrite, scmCheck]);
AnalyceConst(ccmOverwrite + ccmCheck);
end;
Welche Methode hat welche Vor- und Nachteile bzw. ist zu bevorzugen. Oder gibt es sogar noch eine optimalere Variante. In meiner Anwendung sind es bis zu 6 verschiedene Parameter.
Vielen Dank für eure Tips
Gerd