Einzelnen Beitrag anzeigen

NicoDE
(Gast)

n/a Beiträge
 
#2

Re: Untypisierte Konstante übergeben?

  Alt 2. Nov 2005, 16:10
Zitat von tn249:
und jetzt möchte ich in einer function/procedure sowohl BLUE als auch CAR übergeben können, aber wie mache ich das?
Meinst du Sets?
Delphi-Quellcode:
type
  TColor = (
    Blue = 1,
    Red = 2,
    Green = 3
  );
  TColors = set of TColor;

function ColorToStr(Color: TColor): string;
begin
  case Color of
    Blue : Result := 'Blue';
    Red : Result := 'Red';
    Green: Result := 'Green';
  else
    Result := '#' + IntToStr(Integer(Color));
  end;
end;

function ColorsToStr(Colors: TColors): string;
var
  Color: TColor;
begin
  Result := '';
  for Color := Low(TColor) to High(TColor) do
    if (Color in Colors) then
    begin
      if Length(Result) > 0 then
        Result := Result + ', ';
      Result := Result + ColorToStr(Color);
    end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(ColorsToStr([Blue, Red]));
end;
Oder zwei Parameter?procedure Foo(Color: TColor; Kind: TKind); Oder... untypisierte Parameter (allerdings müsste die Funktion/Prozedur dann irgendwie erfahren worum es sich handelt...)?
  Mit Zitat antworten Zitat