Строка символов представляет собой последовательность, со-
держащую ноль и более символов из расширенного набора символов
кода ASCII, записанную в одной строке программы и заключенную в
одиночные кавычки (апострофы). Строка символов, ничего не содер-
жащая между апострофами, называется нулевой строкой. Два последо-
вательных апострофа в строке символов обозначают один символ -
апостроф. Атрибут длины строки символов выражается действительным
количеством символов между апострофами, например:
'Borland'
'You'll see'
''''
';'
' '
'' { пустая строка }
' ' { пробел }
В качестве расширения стандартного Паскаля, Borland Pascal
разрешает вставлять в строку символов управляющие символы. Символ
# с целой константой без знака в диапазоне от 0 до 255 обозначает
соответствующий этому значению символ в коде ASCII. Между симво-
лом # и целой константой не должно быть никаких разделителей.
Аналогично, если несколько управляющих символов входит строку
символов, то между ними не должно быть разделителей.
Приведем несколько примеров строк символов:
#13#10
'Line 1'#13'Line2'
#7#7'Make up!'#7#7
┌──────────────────────┐
строка символов ────┬──>│ строка в кавычках ├───┬─┬>
^ │ └──────────────────────┘ │ │
│ │ ┌──────────────────────┐ │ │
│ └──>│ управляющая строка ├───┘ │
│ └──────────────────────┘ │
└──────────────────────────────────┘
┌───┐ ┌───┐
строка ──────>│ ' ├──────────────┬────>│ ' ├────>
в кавычках └───┘ ^ ┌──────┐ │ └───┘
└──┤символ│<─┘
│строки│
└──────┘
┌──────────────────────┐
символ строки ───┬──>│любой символ, кроме ' ├───────>
│ │ или CR │ ^
│ └──────────────────────┘ │
│ ┌───┐ ┌───┐ │
└───────>│ ' ├──────>│ ' ├─────┘
└───┘ └───┘
┌───┐ ┌───────────────────┐
символ строки ──────>│ # ├─>│ беззнаковое целое ├─┬──>
^ └───┘ └───────────────────┘ │
│ │
└──────────────────────────────────┘
Примечание: CR - символ возврата каретки.
Длина символьной строки - это фактическое число символов в
строке. Строка символов любой длины совместима с любым строковым
типом и, при разрешении директивой {$X+} расширенного синтаксиса,
с типом PChar.. Кроме того, строка символов с длиной, равной 1,
совместима с любым типом Char. Строка символов длиной n, где n
больше или равен 1, допустима для любого строкового типа и упако-
ванных массивов из n символов.