Как преобразовать значение любого типа в строку

Previous  Top  Next

    
 

Более подробно ищите в хелпе Delphi по словам "Variant" и "TVarData"...

 

Code:

 

function ToString(Value: Variant): String;

begin

case TVarData(Value).VType of

   varSmallInt,

   varInteger   : Result := IntToStr(Value);

   varSingle,

   varDouble,

   varCurrency  : Result := FloatToStr(Value);

   varDate      : Result := FormatDateTime('dd/mm/yyyy', Value);

   varBoolean   : if Value then Result := 'T' else Result := 'F';

   varString    : Result := Value;

   else            Result := '';

end;

end;

 

Использование:

Code:

ShowMessage(ToString(10.87));

ShowMessage(ToString(10));

 

 

или

 

Code:

var

V1 : Double;

V2 : Integer;

V3 : TDateTime;

V4 : Boolean;

 

begin

...

 

ShowMessage(ToString(V1));  // Double a String

ShowMessage(ToString(V2));  // Integer a String

ShowMessage(ToString(V3));  // DateTime a String

ShowMessage(ToString(V4));  // Boolean a String

end;

 

 

Так же можно пользоваться другими вариантами, например:

 

varCurrency  : Result := CurrToStrF(Value ,ffFixed,CurrencyDecimals);

 

и

 

varDate: Result := DateToStr(Value);

 

©Drkb::00946

http://delphiworld.narod.ru/

DelphiWorld 6.0