Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
Delphi 11 Alexandria
|
AW: Ich weiß den Typ und den Inhalt als String. Wie mache ich ein TValue daraus?
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;
|
|
Zitat
|