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
$MinEnumSize
Деректива компилятора
Устанавливает минимальную память, используемую для хранения перечислимых типов unit
  
1. {$MinEnumSize 1}

2. {$MinEnumSize 2}

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

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

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

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

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

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

  {$MinEnumSize 4}
  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
 


Оплата за обучение в Kata Academy только после твоего трудоустройства в IT, начни карьеру Middle Java-разработчика



Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки? Slurm подготовили для вас особенный продукт!





форум программистов


© Форум Delphi  |  Форум Pascal   |  Блог программистов   |  Исходники Delphi   |  Автор сайта  |  Ссылки   |  Английская версия