tw1073.pp 771 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. type Char4=array[1..4] of char;
  2. T1=packed record
  3. A1:Char4;
  4. A2:Char4;
  5. A3:Char4;
  6. end;
  7. PT2=^T2;
  8. T2=record
  9. B1:T1;
  10. B2:Char4;
  11. B3:longint;
  12. end;
  13. T3=record
  14. C1:Char4;
  15. end;
  16. var S1,S2:String;
  17. procedure trifich(P1,P2,P3:string; P4:boolean);
  18. begin
  19. if P4 then WriteLn(P2+P3+'IN '+P1);
  20. end;
  21. var V1:PT2;
  22. V2:T3;
  23. begin
  24. new(V1);
  25. s1 := 'abc';
  26. s2 := 'def';
  27. with v1^ do
  28. begin
  29. b1.a1 := '1234';
  30. b1.a2 := '5678';
  31. b1.a3 := 'ghij';
  32. b2 := '0000';
  33. b3 := longint(char4('9999'));
  34. end;
  35. v2.c1 := 'wxyz';
  36. TriFich(S1+S2,
  37. V1^.B1.A1+V1^.B1.A2+V1^.B1.A3+V1^.B2+Char4(V1^.B3)+#13#10,
  38. V1^.B1.A1+V1^.B1.A2+V1^.B1.A3+V2.C1+Char4(V1^.B3)+#13#10,true);
  39. end.