Иллюстрированный самоучитель по Turbo Pascal

Строки

Тип STRING (строка) в Турбо Паскале широко используется для обработки текстов. Он во многом похож на одномерный массив символов ARRAY[O..N] OF CHAR, однако, в отличие от последнего, количество символов в строке-переменной может меняться от 0 до N, где N – максимальное количество символов в строке. Значение N определяется объявлением типа STRING [N] и может быть любой константой порядкового типа, но не больше 255. Турбо Паскаль разрешает не указывать N, в этом случае длина строки принимается максимально возможной, а именно N=255.

Строка в Турбо Паскале трактуется как цепочка символов. К любому символу в строке можно обратиться точно так же, как к элементу одномерного массива ARRAY [0..N] OF CHAR, например:

var
st: String;
begin
…..
if st[5] = 'A' then…
end.

Самый первый байт в строке имеет индекс 0 и содержит текущую длину строки, первый значащий символ строки занимает второй байт и имеет индекс 1. Над длиной троки можно осуществлять необходимые действия и таким способом изменять длину. Например, удалить из строки все ведомые пробелы можно следующим образом:

var
st: String;
i: Byte;
begin
i: = ord(st [0]); {i – текущая длина строки}
while (i <> 0) and (st[i] = ' ') do
begin
dec(i);
st[0]: = chr(i)
end;
…..
end.

Значение ORD(st[0]), т.е. текущую длину строки, можно получить и с помощью функции LENGTH(st), например:

while (Length(st)<>0) and (st[Length(st)]=' ') do
st[0]: = chr(Length(st)-1)

К строкам можно применять операцию "+" – сцепление, например:

st: = 'а1 + 'b';
st: = st + 'с'; {st содержит "abc"}

Если длина сцепленной строки превысит максимально допустимую длину N, то "лишние" символы отбрасываются. Следующая программа, например, напечатает символ 1:

var
st: String [1];
begin
St: = '123';
WriteLn(st)
end.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.