tnoext3.pp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. { %norun }
  2. {$x-}
  3. uses
  4. variants;
  5. type
  6. tobj = object
  7. constructor init;
  8. destructor done;
  9. end;
  10. constructor tobj.init;
  11. begin
  12. end;
  13. destructor tobj.done;
  14. begin
  15. end;
  16. procedure testcomplexassignments;
  17. var
  18. s1,s2: shortstring;
  19. a1,a2: ansistring;
  20. w1,w2: widestring;
  21. u1,u2: unicodestring;
  22. v1,v2: variant;
  23. arr: array[1..4] of char;
  24. c: char;
  25. wc: widechar;
  26. p: pchar;
  27. pw: pwidechar;
  28. darr: array of char;
  29. begin
  30. s1:=s2;
  31. a1:=a2;
  32. w1:=w2;
  33. u1:=u2;
  34. v1:=v2;
  35. s1:=arr;
  36. a1:=arr;
  37. w1:=arr;
  38. u1:=arr;
  39. arr:=s1;
  40. arr:=a1;
  41. arr:=w1;
  42. arr:=u1;
  43. s1:=c;
  44. a1:=c;
  45. w1:=c;
  46. u1:=c;
  47. s1:=wc;
  48. a1:=wc;
  49. w1:=wc;
  50. u1:=wc;
  51. s1:=p;
  52. a1:=p;
  53. w1:=p;
  54. u1:=p;
  55. s1:=pw;
  56. a1:=pw;
  57. w1:=pw;
  58. u1:=pw;
  59. v1:=darr;
  60. end;
  61. procedure testval;
  62. var
  63. ss: shortstring;
  64. b: byte;
  65. w: word;
  66. c: cardinal;
  67. q: qword;
  68. si: shortint;
  69. i: smallint;
  70. l: longint;
  71. ii: int64;
  72. begin
  73. val(ss,b,w);
  74. val(ss,c,b);
  75. {$ifdef cpu64}
  76. val(ss,c,q);
  77. {$endif}
  78. val(ss,q,si);
  79. val(ss,si,i);
  80. val(ss,i,l);
  81. {$ifdef cpu64}
  82. val(ss,l,ii);
  83. {$endif}
  84. val(ss,ii,l);
  85. end;
  86. var
  87. o: tobj;
  88. po: ^tobj;
  89. begin
  90. o.init;
  91. new(po,init);
  92. dispose(po,done);
  93. end.