Как преобразовать в текст содержимое переменных любого типа, причем, тип и их количество заранее не известно?

Во-первых, необходимо в функцию передавать открытый массив, чтобы обеспечить передачу любого количества разнотипных переменных.
Во-вторых, проверять тип каждой полученной переменной и преобразовывать ее в текстовую строку функцией, предназначенной конкретно для этого типа.

В примере ниже приведен алгоритм преобразования наиболее часто используемых типов.

Пример:

{Функция преобразования разнотипных данных в строку}
FUNCTION TForm1.AllToStr(CONST Value: ARRAY OF CONST): STRING;
CONST BString: ARRAY [Boolean] OF STRING = ('False', 'True');
VAR
 
 i: Integer;
 S: STRING;
 
BEGIN
 
 Result := ''; 
 FOR i := Low(Value) TO High(Value) DO 
 
  WITH TVarRec(Value[i]) DO BEGIN
 
   CASE VType OF
 
    vtInteger : S := IntToStr(VInteger);
    vtBoolean : S := BString[VBoolean];
    vtChar : S := VChar;
    vtExtended : S := FloatToStr(VExtended^);
    vtString : S := VString^;
    vtPointer : S := IntToHex(LongInt(VPointer), 8);
    vtPChar : S := StrPas(VPChar);
    vtObject : S := vObject.ClassName;
    vtClass : S := vClass.ClassName;
 
   END;
  AppendStr(Result, S);
 
 END;
 
END;
 
............
 
{Пример использование функции AllToStr}
procedure TForm1.Button1Click(Sender: TObject);
VAR a, b: Integer;
begin
 
 a := 10; b := 20;
 Label1.Caption := AllToStr([ a, '+', b, '=', a+b, #9 ]);
 
end;

Последние комментарии

  • 경마일정≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 경마예상 경마일정≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 경마예상 경마일정≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 경마예상 경마일정≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 경마예상 경마일정≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 경마예상 경마일정≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 경마예상 경마일정≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 경마예상 경마일정...
  • 경마사이트≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 경마정보 경마사이트≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 경마정보 경마사이트≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 경마정보 경마사이트≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 경마정보 경마사이트≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 경마정보 경마사이트≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 경마정보 경마사이트≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999...
  • 경마공원≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 경마배팅 경마공원≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 경마배팅 경마공원≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 경마배팅 경마공원≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 경마배팅 경마공원≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 경마배팅 경마공원≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 경마배팅 경마공원≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 경마배팅 경마공원...

Счетчики