Thema: Delphi Typ Werte Als String?

Einzelnen Beitrag anzeigen

Benutzerbild von Sprint
Sprint

Registriert seit: 18. Aug 2004
Ort: Edewecht
712 Beiträge
 
Delphi 5 Professional
 
#6

Re: Typ Werte Als String?

  Alt 14. Dez 2004, 15:23
Zitat von Kedariodakon:
nu will ich gern den TAuto-Typ-Wert als String haben!
z.B. wenn TAuto = aBMW möchte ich aBMW als String zurückhaben...
Geht das irgendwie ohne eine lange Case-Funktion zu benutzen
Also indirekt über einen kleinen Umweg geht es. Stichwort: RTTI

Delphi-Quellcode:
...

uses TypInfo;

...

type
  TAuto = (Opel, BMW, VW, Audi, Nissan);
  TAutos = Set of TAuto;

...

function FabrikatToStr(Autos: TAutos): String;
var
  I: TAuto;
begin
  Result := '';
  for I := Low(TAuto) to High(TAuto) do
  begin
    if I in Autos then
    begin
      if Result <> 'then
        Result := Result + ', ';
      Result := Result + GetEnumName(TypeInfo(TAuto), Ord(I));
    end;
  end;
end;

...

procedure TForm1.Button1Click(Sender: TObject);
var
  Auto: TAutos;
begin
  Auto := [Nissan];
  ShowMessage(FabrikatToStr(Auto));
end;

...
Ciao, Sprint.

"I don't know what I am doing, but I am sure I am having fun!"
  Mit Zitat antworten Zitat