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

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

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

Пример:

{Функция преобразования разнотипных данных в строку}
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;

Отправил Jamesjaf Чт, 09/28/2017 - 22:16

일본경마사이트≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 일본경마예상지
일본경마사이트≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 일본경마예상지
일본경마사이트≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 일본경마예상지
일본경마사이트≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 일본경마예상지
일본경마사이트≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 일본경마예상지
일본경마사이트≫§≪≫Ksports77. Com≪≫§≪카톡:pro9999 일본경마예상지

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

  • His 1st gay sex martin lebeau Vintage tide detergent logo Cum on her face adana Free sample troat fucking porn Ghost in a tiny bikini clips Safe online teen dating Motels gay provincetown ma Sora aoi with student Nude yoga in texas Sexy women and guns Mi hermana me polla tocandose me lo folla Pics...
  • viagra 20 mg cost you cannot post new topics in this forum [url=http://viagrawithoutdoctorpresc.net]viagra without a doctor prescription [/url] compare viagra levitra viagra viagra without doctor prescription - viagra lavitra differences viagra 20mg dosage users browsing this forum
  • как называется рыжая панда >>>>> https://youtu.be/sUHmEL93qhQ

Счетчики