
Последние записи
- Вывод текста с переносами строк в PHP
- Кодировка в INDY 10 (как бороться с «???»)
- Переход по ссылке при клике на кнопку, счётчик кликов по кнопке и число переходов по ссылке на ява скрипт
- Сравнение двух диапазонов ячеек Excel на полное совпадение данных
- С++. Как напечатать в консоли два столбца?
- Конвертирование PNG в JPG на Delphi
- Можно ли, название сайта которое находится в шапке заключать в HTML тег h1 или h2 h3 h4 h5 h6?
- как бороться со знаками вопросов при проблеме с кодировкой в INDY 10 Delphi ?
- Связать ProgressBar + скорлинг в Texbox
- RichEdit и выгрузка в RTF-файл (добавление в конец файла)

Интенсив по Python: Работа с API и фреймворками 3-5 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk

Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
1st
Сен
$Align — директива компилятора
Posted by key under Delphi
Определяет, были ли данные выровнены или упакованы
- {$Align Off}
- {$Align On}
Описание:
С $Align On (по умолчанию), сложные типы данных, такие как записи, хранят свои элементы, выровненные по 2, 4 или 8-байтовой границе, соответственно типу данных. Например, поле типа Word будет выровнено по 4-байтовой границе.
С $Align On, значением по умолчанию, вы можете перекрыть эти настройки с помощью опции packed для сложных типов данных.
Выравнивание обеспечивает оптимальную скорость доступа.
$Align Off указывает Delphi игнорировать выравнивание, и таким образом пакует данные.
Пример кода:
// Use the default setting : $Align+
// Declare an unpacked, aligned record
TAlignedRecord = Record
name1 : string[4];
floater : single;
name2 : char;
int : Integer;
end;
// Declare a packed record
TPackedRecord = Packed Record
name1 : string[4];
floater : single;
name2 : char;
int : Integer;
end;
// Set alignment off
{$Align Off}
// Declare an unpacked record
// This will get treated as if packed was on
TUnPackedRecord = Record
name1 : string[4];
floater : single;
name2 : char;
int : Integer;
end;
var
alignedRec : TAlignedRecord;
packedRec : TPackedRecord;
unPackedRec : TUnPackedRecord;
begin
ShowMessage(‘Aligned record size = ‘+IntToStr(SizeOf(alignedRec)));
ShowMessage(‘Packed record size = ‘+IntToStr(SizeOf(packedRec)));
ShowMessage(‘UnPacked record size = ‘+IntToStr(SizeOf(unPackedRec)));
end;
Результат выполнения:
Packed record size = 14
UnPacked record size = 14
Случайные статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту

пеллетные котлы

Пеллетный котел Emtas

Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)