Процедура Delete (Var S: string; Pos, N: integer) – удаляет из строки S подстроку, содержащую N символов, начиная с позиции Pos.
Например,
S:= ‘ ABCL+FGR ’;
Delete (S, 3, 4);
После выполнения этих операторов строка S = ‘ ABGR ’.
Процедура Insert (Fragment: string; Var S: string; Pos: integer) – вставляет в строку S подстроку Fragment, начиная с позиции Pos.
Например,
Fragment:= ‘ ABCD ’;
S:= ‘ abefg ’;
Insert (Fragment, S, 3);
Результатом выполнения этой процедуры будет строка
S = ‘ abABCDefg ’.
Процедура Str (X; Var S: string) – преобразует числовое значение X в строковое и присваивает результат строке S, причём можно переводить числа как целые, так и вещественные.
Например:
X:= 2321;
Y:= 76.854;
Str (X, S1);
Str (Y:8:3, S2); {без форматного преобразования результат будет выдан в форме с плавающей точкой}
В результате выполнения этих операторов S1= ‘ 2321 ’,
S2= ‘ 76.854 ’.
Процедура Val (S: string; Var X; Var ErrCode: integer) – переводит строковое значение S в значение числовой переменной X целого или вещественного типа, если данная строка действительно отвечает правилам записи чисел. Строка S не должна содержать незначащих пробелов в начале и в конце. Значение переменной ErrCod равно нулю, если при преобразовании не обнаружено ошибок, в противном случае значение ErrCod равно номеру позиции первого ошибочного символа.
|
|
Например,
S1:= ‘ 5621 ’;
S2:= ‘ -89.543’;
S3:= ‘ 246.56 + 0.45’;
Val (S1, X, Cod1);
Val (S2, Y, Cod2);
Val (S3, Z, Cod3);
Результатом выполнения этой последовательности операторов будут значения:
X = 5621, Cod1 = 0; Y = -89.543, Cod2 = 0; Cod3 = 4;
В последнем операторе выдан только код ошибки, так как разделительным знаком между целой и дробной частями является точка, а не запятая.
Функция Pos (Fragment, S: string): byte – возвращает номер первого элемента, с которого начинается первое вхождение подстроки Fragment в строку S. Если такой подстроки нет, то результат равен нулю.
Например:
Frag_1 = ‘ CD ’;
Frag_2:= ‘ DA ’;
S:= ‘ ABCDabcCD ’;
k1:= Pos (Frag_1, S);
k2:= Pos (Frag_2, S);
Переменная k1 равна 3, так как первое появление подстрока ‘ CD ’ начинается с третьей позиции строки S. Значение переменной k2 равно 0, так как такой подстроки нет.
Функция Copy (S: string; Pos, N: integer): string – копирует N символов строки S, начиная с позиции Pos. Если Pos больше длины строки S, то результатом будет пробел, при Pos большем 255 выдаётся ошибка.
Например,
S1:= ‘ Весна идёт, весне дорогу! ’;
Frag_1:= Copy (S1, 13, 13);
Frag_2:= Copy (S, 9, 3);
Значением переменной Frag_1 будет строка ‘ весне дорогу! ’, а переменной Frag_2 будет присвоено значение ‘ ёт, ’.
Функция Concat (S1, S2, …, Sn): string – выполняет сцепление (слияние) строк S1, S2, …, Sn аналогично операции сцепления (+).
Функция Length (S: string): byte – выдаёт текущую длину строки.
Например,
Var S1: string;
S2: string[5];
…
S1:= ‘ a+bsin (x) ’;
S2:= ‘ aa dd7 cc bbb ’;
L1:= Length (S1);
L2:= Length (S2);
|
|
В результате получим L1 = 9, а L2 = 5, так как по объявлению количество символов в строке S2 не должно быть больше 5.
Процедура Insert (Fragment: string; Var S: string; Pos: integer) – вставляет в строку S подстроку Fragment, начиная с позиции Pos.
Например,
S1:= ‘ У Егорки ’;
S2:= ‘ отговорки! ’; {строка начинается с пробела}
Insert (S1, S2, 1);
Insert ( ‘ всегда ’, S2, 9); {строка ‘ всегда ’ тоже начинается с пробела}
В результате выполнения последовательности этих операторов будет сформирована строка S2 = ‘ У Егорки всегда отговорки! ’.