tparray15.pp 608 B

12345678910111213141516171819202122232425262728
  1. { from gpc testsuite, original name sam7.pas }
  2. {$ifdef fpc}
  3. {$mode macpas}
  4. {$endif}
  5. Program Sam7;
  6. Var
  7. foo: array [ 'a'..'f' ] of Boolean = ( false, false, true, false, false, false );
  8. bar: packed array [ 42..47 ] of Boolean;
  9. baz: array [ '0'..'5' ] of Boolean;
  10. i: Integer;
  11. begin
  12. pack ( foo, 'a', bar );
  13. unpack ( bar, baz, '0' );
  14. for i:= 0 to 5 do
  15. if bar [ 42 + i ] <> baz [ chr(ord('0')+ i) ] then
  16. foo [ 'c' ]:= false;
  17. if foo [ 'c' ] and bar [ 44 ] then
  18. writeln ( 'OK' )
  19. else
  20. begin
  21. writeln ( 'failed ', foo [ 'c' ], ' ', bar [ 44 ] );
  22. halt(1)
  23. end
  24. end.