Thema: Delphi Vereinfachung gesucht

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

AW: Vereinfachung gesucht

  Alt 2. Sep 2010, 11:38
@blackfin: wenn, dann doch eher so: (diese CASE würden es nicht grad vereinfachen)
Delphi-Quellcode:
if RadioButton1.Checked then begin
  if CheckBox1.Checked then mode := 1
  else if CheckBox2.Checked then mode := 2 else mode := 0;
  if mode in [0, 1] then SQL.Add('abc');
  if mode in [0, 2] then SQL.Add('def');
end;

[add]
CheckBoxen optional (einfach nil übergeben) und mehrere Strings:
(kann man auch noch mit überladenen Proceduren und/oder Default-Parametern aufmotzen und mit der "mode"-Variante kombinieren)
Delphi-Quellcode:
procedure DoThis(Group: TRadioButton; Check1, Check2: TCheckBox; SQL: TIrgendwas; Add1, Add2: array of String);
var
  i: Integer;
begin
  if Group.Checked then
    if Assigned(Check1) and Check1.Checked then begin
      for i := 0 to High(Add1) do SQL.Add(Add1[i]);
    end else if Assigned(Check2) and Check2.Checked then begin
      for i := 0 to High(Add2) do SQL.Add(Add2[i]);
    end else begin
      for i := 0 to High(Add1) do SQL.Add(Add1[i]);
      for i := 0 to High(Add2) do SQL.Add(Add2[i]);
    end;
end;
[edit]
Schade, for Add1 in S do SQL.Add(S); geht nicht.
$2B or not $2B

Geändert von himitsu ( 2. Sep 2010 um 11:49 Uhr)
  Mit Zitat antworten Zitat