Директива $H компілятора Delphi обробляє рядкові типи, такі як AnsiString або ShortString.
$H
$H директива компілятора визначає, обробляє Delphi рядковий тип як AnsiString, коли включений (за замовчуванням) або як ShortString, коли вимкнений.
Значення за замовчуванням визнає, що загальне використання рядкових типів має тримати дані, які, ймовірно, будуть довшими, ніж 255 символів (місткість ShortString).
Примітка
$LongStrings еквівалентна $H.
$H може використовуватися багато разів у вашому коді, але це не рекомендується (у прикладі використовується тільки як ілюстрація).
Значення за замовчуванням $H+.
Директива компілятора $H: Створення двох типів рядків у тому самому коді
var
// Визначає, що littleString буде оброблено як ShortString
{$H-}
littleString : string;
// Визначає, що bigString буде оброблено як AnsiString
{$H+}
bigString : string;
begin
// Показуємо розмір невеликого рядка – 256 байт
ShowMessageFmt('розмір littleString = %d',[SizeOf(littleString)]);
// Показуємо розмір великого рядка - 4 - покажчик на текст
ShowMessageFmt('розмір bigString = %d',[SizeOf(bigString)]);
end;
Результат
розмір littleString = 256
розмір bigString = 4
Подібні функції, процедури та команди
$LongStrings — обробляє тип String такі як AnsiString або ShortString.
AnsiString — тип даних, що містить рядок AnsiChar.
ShortString — визначає рядок, що містить до 255 символів.
String — тип даних, що містить рядок символів.
