Облака / Clouds
    Go to Copy.com
    Copy.com
    The bast cloud service
    Get 20 GB free!!!
    Support WebDav.
    Show more >>

    Go to Dropbox.com
    Dropbox.com
    time-tested cloud storage
    Support WebDav.
Все бесплатно
    Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.



Вопросы
  Создание ярлыка на Рабочем столе
   Категория: Приложение
  Создать *.mdb-файл и таблицу в ней
   Категория: Базы данных
  Дата изменения файла
   Категория: Файловая система
  Автоматическое определения кодировки текста
   Категория: Текст и строки
  Группировка TopAdvGrid
   Категория: Компоненты
  BDE. Динамическое создание псевдонима
   Категория: Базы данных
  Определить МАС-адрес карты
   Категория: Интернет и Сети

Delphi - Справочник: Packed

ABCDEFGHIJKLMNOPQRSTUVWXYZ

  << Вернуться  

 Packed
type Name = Packed array[...] of ...;
type Name = Packed class ... end;
type Name = Packed object ... end;
type Name = Packed record ... end;
Ключевое слово (Unit )
Уплотняет сложные типы данных в минимальный объём памяти
Описание:
Ключевое слово Packed говорит Delphi минимизировать память, взятую определенным объектом.

Обычно, сложные типы данных, такие как записи, имеют свои элементы по 2, 4 или 8 байта, соответствующие типам данных. Например, поле Word было бы 4-байтовое.

Записи также дополняются, для гарантии, что они закончены, 4-х байтовой границей.

Упаковка отменяет это, сжимая данные в наименьшую память, хотя с последующим уменьшенным доступом выполнения.
Пример кода: Упаковка записи для уменьшения памяти

type // Объявление распакованной записи TDefaultRecord = Record name1 : string[4]; floater : single; name2 : char; int : Integer; end; // Объявление запакованной записи TPackedRecord = Packed Record name1 : string[4]; floater : single; name2 : char; int : Integer; end; var defaultRec : TDefaultRecord; packedRec : TPackedRecord; begin ShowMessage('Размер обычной записи = '+IntToStr(SizeOf(defaultRec))); ShowMessage('Размер запакованной записи = '+IntToStr(SizeOf(packedRec))); end;

Результат:
Размер обычной записи = 20
Размер запакованной записи = 14
Примечание:
Примеры распакованных данных:

Word = 2 bytes
LongWord = 4 bytes
Single = 4 bytes
Double = 8 bytes

  << Вернуться