Einzelnen Beitrag anzeigen

choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#4

Re: StringToBenutzerdefinierter Typ

  Alt 19. Dez 2003, 13:46
Hallo Niels,
wenn ich Dich richtig verstanden habe, möchtest Du etwas in der Art
bla:= StringToBenutzerdefinierterTyp('mtBla'); haben.

Das lässt sich zwar mit der RTTI erreichen, dieser Bereich ist allerdings nur spärlich in der OH oder den Handbüchern beschrieben ist. Deshalb hier etwas Source-Code:
Delphi-Quellcode:
uses
  TypInfo;

type
  TMyType = (mtFoo, mtBar);

function StringToMyType(const AString: String): TMyType;
begin
  Result:= TMyType(GetEnumValue(TypeInfo(TMyType), AString));
end;

function MyTypeToString(const AValue: TMyType): string;
begin
  Result:= GetEnumName(TypeInfo(TMyType), Integer(AValue));
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  myVar: TMyType;
begin
  myVar:= StringToMyType('mtFoo');
  Showmessage(MyTypeToString(myVar));
end;
gruß, choose
  Mit Zitat antworten Zitat