Действия над строками реализуются в Turbo Pascal с помощью следующих встроенных процедур и функций.
5.2.1 Функция Concat(S1[,S2,…,SN]): string – сцепляет (объединяет) строки S1, S2,…, SN. Параметры, указанные в квадратных скобках, не являются обязательными.
Пример использования функции:
program pr3;
var
S: string;
begin
S:= Concat('ABC', 'D');
writeln(S); {ABCD}
end.
Здесь и далее (в примерах использования строковых операторов) в фигурных скобках приводится выводимый на экран результат работы программы.
5.2.2 Функция Copy(S: string; Index, Count: integer): string – копирует из строки S количество Count символов, начиная с символа с номером Index.
Пример:
program pr4;
var S: string;
begin
S:= 'ABCDEF';
S:= Copy(S, 2, 3);
writeln(S); {BCD}
end.
5.2.3 Функция Length(S: string):byte – определяет длину строки S.
Пример использования функции:
program pr5;
var
S: string;
begin
s:='ABCD';
Writeln(Length(S)); {4}
end.
5.2.4 Функция Pos(SubS, S: string):byte – отыскивает в строке S первое вхождение подстроки SubS и определяет номер позиции, с которой она начинается. Если подстрока не найдена, то выдается 0.
Например:
program pr6;
var S: string;
begin
S:= ' 123.5';
{Замена всех пробелов нулями}
while Pos(' ', S) > 0 do
S[Pos(' ', S)]:= '0';
writeln(S); {000123.5}
end.
5.2.5 Функция UpCase(C: char):char – преобразует строчную латинскую букву в прописную. Любые другие символы возвращаются без преобразования.
Пример:
program pr7;
var
s: string;
begin
s:='red';
s[1]:= UpCase(s[1]);
writeln(s); {Red}
end.
5.2.6 Процедура Delete(var S: string; Index, Count: integer) – удаляет количество Count символов из строки S, начиная с символа с номером Index.
Пример использования процедуры:
program pr8;
var
s: string;
begin
s:= 'Иванов Петр';
Delete(s,8,4);
writeln(s); {Иванов}
end.
5.2.7 Процедура Insert(SubS: string; var S: string; Index: integer) – вставляет подстроку SubS в строку S, начиная с символа с номером Index.
Пример:
program pr9;
var
S: string;
begin
S:= 'Петр Иванов';
Insert('Петрович ', S, 6);
writeln(S); {Петр Петрович Иванов}
end.
5.2.8 Процедура Str(X [:Width [:Decimals]]; Var S: string) – преобразует число Х в строку символов S. Параметры Width и Decimals задают формат преобразования (общую ширину поля и количество символов в дробной части соответственно).
Пример:
program pr10;
var
S: string[12];
begin
Str(5461, S);
writeln('Результат: '+S+' балл'); {Результат: 5461 балл}
end.
5.2.9 Процедура Val(S: String; var X; var Code: integer) – преобразует строковое значение S в его численное представление X типа Real или Integer. Параметр Code содержит признак ошибки преобразования (0 – нет ошибки), например:
program pr11;
var I, Code: Integer;
S:string;
begin
S:='7908';
Val(S, I, Code);
writeln(I,' ',Code); {7908 0}
end.