Упаковка и распаковка массивов

На верх  Назад  Вперёд

Массивы могут быть упакованы (или побитно упакованы (bitpacked)) и распакованы. Два типа массива, у которых одинаковый диапазон допустимых индексов и тип элементов, но которые по-разному упакованы, не являются совместимым для присвоений.

Однако, возможно преобразовать нормальный массив в побитно упакованный массив процедурой pack (упаковки). Обратная операция также возможна; побитно упакованный массив может быть преобразован в обычно упакованный массив, используя процедуру unpack (распаковки), как в следующем примере:

Var

foo : array [ 'a'..'f' ] of Boolean

  = ( false, false, true, false, false, false );

bar : packed array [ 42..47 ] of Boolean;

baz : array [ '0'..'5' ] of Boolean;

begin

pack(foo,'a',bar);

unpack(bar,baz,'0');

end.

Больше информации о подпрограммах pack (упаковки) и unpack (распаковки), можно найти в описании модуля system.