testv4.pp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. { %VERSION=1.1 }
  2. program testv3;
  3. uses variants,varutils;
  4. Procedure TestConvert(Var V : Variant);
  5. Var
  6. I64 : Int64;
  7. LI : Longint;
  8. SI : Smallint;
  9. HI : Shortint;
  10. Q : QWord;
  11. C : Cardinal;
  12. W : Word;
  13. B : Byte;
  14. begin
  15. DumpVariant(TVarData(V));
  16. I64:=V;
  17. Writeln('To Int64 : ',I64);
  18. LI:=V;
  19. Writeln('To Longint : ',LI);
  20. SI:=V;
  21. Writeln('To Smallint : ',SI);
  22. HI:=V;
  23. Writeln('To Shortint : ',HI);
  24. Q:=V;
  25. Writeln('To QWord : ',Q);
  26. C:=V;
  27. Writeln('To Cardinal : ',C);
  28. W:=V;
  29. Writeln('To Word : ',W);
  30. B:=V;
  31. Writeln('To Byte : ',B);
  32. end;
  33. Procedure TestLongInt;
  34. Var
  35. V : Variant;
  36. I : LongInt;
  37. begin
  38. I:=1;
  39. V:=I;
  40. TestConvert(V);
  41. end;
  42. Procedure TestSmallInt;
  43. Var
  44. V : Variant;
  45. I : SmallInt;
  46. begin
  47. I:=2;
  48. V:=I;
  49. TestConvert(V);
  50. end;
  51. Procedure TestShortInt;
  52. Var
  53. V : Variant;
  54. I : ShortInt;
  55. begin
  56. I:=3;
  57. V:=I;
  58. TestConvert(V);
  59. end;
  60. Procedure TestCardinal;
  61. Var
  62. V : Variant;
  63. C : Cardinal;
  64. begin
  65. C:=4;
  66. V:=C;
  67. TestConvert(V);
  68. end;
  69. Procedure TestWord;
  70. Var
  71. V : Variant;
  72. W : Word;
  73. begin
  74. W:=5;
  75. V:=W;
  76. TestConvert(V);
  77. end;
  78. Procedure TestByte;
  79. Var
  80. V : Variant;
  81. B : Byte;
  82. begin
  83. B:=6;
  84. V:=B;
  85. TestConvert(V);
  86. end;
  87. // 64 bit values
  88. Procedure TestInt64;
  89. Var
  90. V : Variant;
  91. I : int64;
  92. begin
  93. I:=7;
  94. V:=I;
  95. TestConvert(V);
  96. end;
  97. Procedure TestQWord;
  98. Var
  99. V : Variant;
  100. Q : QWord;
  101. begin
  102. Q:=8;
  103. V:=Q;
  104. TestConvert(V);
  105. end;
  106. begin
  107. TestLongint;
  108. TestSmallInt;
  109. TestShortInt;
  110. TestCardinal;
  111. TestWord;
  112. TestByte;
  113. TestInt64;
  114. TestQWord;
  115. end.