Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Ich weiß den Typ und den Inhalt als String. Wie mache ich ein TValue daraus?

  Alt 16. Aug 2013, 13:32
Funktionieren tut das schon:
Delphi-Quellcode:
type
  TVarTypeEnum = (vtEmpty, vtNull, vtSmallint, vtInteger, vtSingle, vtDouble, vtCurrency, vtDate, vtOleStr, vtDispatch, vtError,
    vtBoolean, vtVariant, vtUnknown, vtDecimal, varUndef0F, vtShortInt, vtByte, vtWord, vtLongWord, vtInt64, vtUInt64);

function GetRttiValueFromString(const AValue, AType: string): TValue;
var
  ValueType: TVarTypeEnum;
begin
  ValueType := TVarTypeEnum(GetEnumValue(TypeInfo(TVarTypeEnum), 'vtInteger'));
  Result := TValue.FromVariant(VarAsType('42', Integer(ValueType)));
end;

// benutzen:
var
  MyValue: TValue;
begin
  MyValue := GetRttiValueFromString('42', 'vtInteger');
  ShowMessage('Inhalt: ' + MyValue.ToString + ' (' + MyValue.TypeInfo.Name + ')');
end;
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat