Строковые процедуры.

 

Имя процедуры Назначение процедуры
Delete(<строка>,<позиция>,<количество>) Удаление части строки с заданной позиции 1) S:=’abcdefgh’; Delete(S,2,4); Результат: S=’afgh’ 2) S:=’abcdefgh’; Delete(S,2,10); Результат: S=’a’
Insert(<подстрока>,<строка>,<позиция>) Вставка подстроки в строку с заданной позиции S:=’abcdefgh’; Insert(‘XXL’,S,3); Результат: S=’abXXLcdefgh’
Str(<число>,<строка>) Преобразование числового значения в строку символов 1) Str(567,A); Результат: A=’567’ 2) )B:=567; {B:integer} Str(B:5,A); Результат: A=’_ _567’ 3) B:=5.67E+3; {B:real} Str(B:8:0,A); Результат: A=’_ _ _ _5670’  
Val (<строка>,<число>,<код>) Преобразование строки в числовое значение (если нет ошибки, то < код>=0) 1)A:=’135’; Val(A,R,Code); Результат: R=135; Code=0 2)A:=’_135’; Val(A,R,Code); Результат: R=не определено; Code=1 3)A:=’2.5Е+4’; Val(A,R,Code); Результат: R=25000; Code=0  

 

Для процедуры Delete,если <позиция> больше длины строки, то строка не меняется. Если <позиция> + <количество> больше длины строки, то удаляется конец строки с указанной позиции. Если же <позиция> не принадлежитинтервалу [1,255], то возникает ошибка при выполнении программы.

 

Для процедуры Insert, если в результате вставки получается строка, длина которой превышает максимальную длину исходной строки, то последние символы вставляемой строки не добавляются. Если <позиция> превышает фактическую длину исходной строки, определяемой функцией Length, то результатом является сцепленная строка.

 

Для процедуры Val в строке не разрешаются предшествующие преобразуемому числу и последующие за числом пробелы.