Delphi справочник - Форум программистов - Навигация  
 A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z      По первой букве  
System     SysUtils     StrUtils     DateUtils     FileCtrl     ConvUtils     StdConvs     Math     Classes     Dialogs     Types     Variants    ПО Unit   Compiler directives     Directives     Keywords     Types     Variables     Constants     Functions     Procedures    По категории  


Основы Delphi
$Z
Деректива компилятора
Устанавливает минимальную память, необходимую для держания в памяти перечислимых типов unit
  
1 {$Z1}

2 {$Z2}

3 {$Z4}
Описание
Директива компилятора $Z устанавливает минимальный размер памяти, в байтах, которые необходимы перечислимым типам.

По умолчанию установлено 1 байт, таким образом, обеспечивая вместимость 256 перечислений.

Если Вы превысите текущий размер памяти, на любое определение, превысившее перечислимое значений (более чем 256), или, более вероятно, определение значений перечислений превышающих 256, то используется больший размер памяти. Директива $Z просто определяет минимальное число байтов для использования (см. пример).
Примечания
$MinEnumSize эквивалентна $Z.

Она может быть установлена в вашем коде много раз.

Значение по умолчанию - $Z1.
Похожие команды
$MinEnumSize  Устанавливает минимальную память, используемую для хранения перечислимых типов

 
Пример кода : Различные размеры перечислимых типов
type
  {$Z1}
  TCars1  = (Rover, Jaguar, Honda);    // Впишется в 1 байт
  TFruit1 = (Banana=255, Apple, Pear); // Превысит один байт

  {$Z4}
  TCars2  = (Ford, Nissan, Vauxhall);  // Теперь используется 4 байта
  TFruit2 = (Orange=255, Plum, Grape); // Теперь используется 4 байта

begin
  ShowMessage('TCars1  размер = '+IntToStr(SizeOf(TCars1)));
  ShowMessage('TFruit1 размер = '+IntToStr(SizeOf(TFruit1)));
  ShowMessage('TCars2  размер = '+IntToStr(SizeOf(TCars2)));
  ShowMessage('TFruit2 размер = '+IntToStr(SizeOf(TFruit2)));
end;
TCars1 размер = 1
TFruit1 размер = 2
TCars2 размер = 4
TFruit2 размер = 4
 



© Блог программистов   |  Создание и продвижение сайтов - "Веб сателлит"  |  Ссылки  |     |  Английская версия