Строки.

Строка в Турбо-Паскале трактуется как цепочка символов, максимальная длина которой составляет 255 символов. К любому символу в строке можно обратиться по его порядковому номеру. Пример:

Var
 St : String;


 If St[5] = 'F' Then
{т.е. … если 5-ый символ в строке St равен символу «F» тогда …}

К строкам можно применять операцию «+» (сцепление строк). Например:

St := 'A' + 'b';
St := St + 'c';
{St содержит Abc}

Если длина сцепленной строки превысит максимально допустимую длину, то «лишние» символы отбрасываются.

Команды для работы со строками.

Оператор Модуль Назначение Пример
CONCAT SYSTEM

Форма записи:

CONCAT(S1 [, S2, …, Sn])

Функция типа String, возвращает строку представляющую собой сцепление строк-параметров S1, S2, …, Sn.

Var
 St,S1,S2:String;
 ...
 St:=Concat(S1,S2);
DELETE SYSTEM

Форма записи:

DELETE(ST, I, C)

Процедура, удаляет C (Integer) символов из строки ST начиная с символа I (Integer).

Var
 St:String;
 ...
 Delete(St,1,3);
INSERT SYSTEM

Форма записи:

INSERT(S, ST, I)

Процедура, вставляет подстроку S (String) в строку ST начиная с символа I (Integer).

Var
 St,S:String;
 ...
 Insert(S,St,2);
LENGTH SYSTEM

Форма записи:

LENGTH(ST)

Функция целого типа, возвращает длину строки.

Var
 I:Integer;
 St:String;
 ...
 I:=Length(St);
POS SYSTEM

Форма записи:

POS(S, ST)

Функция целого типа, отыскивает в строке ST первое вхождение символа S (Char) и возвращает номер позиции, с которой она начинается, если подстрока не найдена, возвращается нуль.

Var
 I:Integer;
 St:String;
 ...
 I:=Pos(‘ ‘,St);
VAL SYSTEM

Форма записи:

VAL(ST, X, C)

Процедура преобразования строки символов ST в число X (Real, Integer), параметр C (Integer) содержит нуль, если преобразование прошло успешно.

Var X:Real;
 C:Integer;
 ...
 Val(St,X,C)
STR SYSTEM

Форма записи:

STR(X, ST)

Процедура преобразования числа X (Real, Integer) в строку ST (String).

Var X:Real;
 St:String;
 ...
 Str(X:12:4, St);
COPY SYSTEM

Форма записи:

COPY(ST, I, C)

Функция типа String, копирует из строки ST количество символов С (Integer), начиная с символа с номером I (Integer).

Var S:String;
 C:Integer;
 ...
 S:=Copy(St,1,C);
UPCASE SYSTEM

Форма записи:

UPCASE(CH)

Функция типа Char, возвращает символ CH (Char) в верхнем регистре, если он для него определен.

Var C:Char;
 ...
 Readln(C);
 C:=UpCase(C);

Пример программы.

Var
 X       : Real;
 Y       : Integer;
 St, St1 : String;

BEGIN
 St:=Concat('12', '345');        {St   12345}
 St1:=Copy(St, 3, Length(St)-2); {St1  345}
 Insert('-', St1, 2);            {St1  3-45}
 Delete(St, Pos('2', St), 3);    {St   15}
 Str(pi:6:2, St);                {St   3.14}
 Val('3,1415', X, Y)             {Y=2, X-без изменений}
END.