Короткие строки (ShortStrings)

На верх  Назад  Вперёд

Строка будет объявлена как короткая (ShortString) в следующих случаях:

1.Если директива {$H-} строка всегда объявляется как короткая (ShortString).

2.Если директива {$H+} и указана максимальная длина (размер) строки, строка будет объявлена как короткая (ShortString).

Короткие строки всегда используют кодовую страницу системы (текущую, по умолчанию). Тип ShortString определен как строка размером 255 символов:

ShortString = String[255];

Если размер строки не указан, берется в качестве значения по умолчанию 255. Фактическая длина строки может быть получена с помощью функции Length. Например:

{$H-}

Type

  NameString = String[10];

  StreetString = String;

NameString может содержать максимум 10 символов. В то время как StreetString может содержать до 255 символов.

Замечание:

Короткие строки имеют максимальную длину 255 символов: при определении максимальной длины, она не может превышать 255. Если будет предпринята попытка установить длину больше 255, компилятор выдаст сообщение об ошибке:

Error: string length must be a value from 1 to 255

Ошибка: длина строки должна быть в диапазоне от 1 до 255

Для коротких строк, длина хранится в символе с индексом 0. Поскольку старый код Turbo Pascal зависит от этого, он реализован так же и во Free Pascal.

Несмотря на это, чтобы писать переносимый код, лучше устанавливать длину ShortString с помощью вызова SetLength, а для ее получения использовать вызов Length. Эти функции будут работать всегда, независимо от внутреннего представления ShortStrings или других строк: это позволяет легкое переключаться между различными строковыми типами.