Директива $LongStrings компилятора Delphi обрабатывает тип String как AnsiString или ShortString.
- {$LongStrings Off}
- {$LongStrings On}
Директива компилятора $LongStrings определяет, обрабатывает ли Delphi тип String как AnsiString, когда директива включена (по умолчанию), или как ShortString когда выключена.
Значение по умолчанию признает, что общее использование типа string должно содержать данные, которые, вероятно, будут длиннее, чем 255 символов (вместимость ShortString).
Примечания.
$LongStrings эквивалентен $H.
$LongStrings в вашем коде может использоваться множество раз, но это не рекомендуются (пример используется только в качестве иллюстрации).
$LongStrings On является значением по умолчанию
Директива компилятора $LongStrings: Упаковка записи для уменьшения расхода памяти
var
// Define littleString to be treated as a ShortString
{$LongStrings Off}
littleString : string;
// Define bigString to be treated as an AnsiString
{$LongStrings On}
bigString : string;
begin
// Show the size of the little string - 256 bytes
ShowMessageFmt('littleString size = %d',[SizeOf(littleString)]);
// Show the size of the big string - 4 - a pointer to text
ShowMessageFmt(' bigString size = %d',[SizeOf(bigString)]);
end;
Результат
littleString size = 256
bigString size = 4
Похожие функции, процедуры и команды
$H — обрабатывает строковые типы, такие как AnsiString или ShortString.
AnsiString — тип данных, который содержит строку AnsiChar.
ShortString — определяет строку, содержащую до 255 символов.
String — тип данных, который содержит строку символов.
