Документация проекта [[https://visual.sfu-kras.ru|VISUAL / ONLINE OBERON]] ====== Модуль Strings ====== Модуль для манипуляции со строками. PROCEDURE **Length** (str: ARRAY OF CHAR): INTEGER Возвращает число литер в 's' до первого вхождения 0X. PROCEDURE **Insert** (source: ARRAY OF CHAR; pos: INTEGER; VAR dest: ARRAY OF CHAR) Вставляет строку 'source' в строку 'dst' в положении 'pos' (0 <= pos <= Length(dst)). Если pos = Length(dst), 'source' добавляется к 'dst'. Если размер 'dst' не достаточно большой для сохранения результата операции, то результат обрезается так, что 'dst' всегда оканчивается 0X. PROCEDURE **Append** (str2: ARRAY OF CHAR; VAR str1: ARRAY OF CHAR) Имеет такой же эффект как Insert(s, Length(dst), dst) PROCEDURE **Delete** (VAR s: ARRAY OF CHAR; pos, n: INTEGER) Удаляет 'n' литер из 's', начиная с положения 'pos' (0 <= pos Length(s)). Если n > Length(s) - pos, то новой длиной 's' будет 'pos'. PROCEDURE **Replace** (source: ARRAY OF CHAR; pos: INTEGER; VAR dest: ARRAY OF CHAR) Имеет такой же эффект как Delete(dst, pos, Length(src)) с последующим Insert(src, pos, dst). PROCEDURE **Extract** (source: ARRAY OF CHAR; pos, n: INTEGER; VAR dest: ARRAY OF CHAR) Выделяет подстроку 'dst' с 'n' литерами из положения 'pos' (0 <=pos Length(src)) in 'src'. If n > Length(src) - pos, 'dst' is only the part of 'src' from 'pos' to the end of 'src', i.e. Length(src) -1. If the size of 'dst' is not large enough to hold the result of the operation, the result is truncated so that 'dst' is always terminated with a 0X. PROCEDURE **Pos** (pat, s: ARRAY OF CHAR; pos: INTEGER): INTEGER Возвращает положение первого вхождения строки 'pat' в 's'. Поиск начинается с положения 'pos'. Если 'pat' не найден, то возвращается -1. ===== Процедуры для преобразования ===== PROCEDURE **IntToString** (arg: INTEGER; VAR res: ARRAY OF CHAR) Представляет целое число 'arg' как строку 'res'. PROCEDURE **RealToString** (arg: REAL; VAR res: ARRAY OF CHAR) Представляет действительное число 'arg' как строку 'res'. PROCEDURE **RealToStringFixed** (arg: REAL; VAR res: ARRAY OF CHAR; fixed: INTEGER) Представляет действительное число 'arg' как строку 'res' с числом 'fixed' знаков в дроброй части. PROCEDURE **StringToInt** (arg: ARRAY OF CHAR; VAR out: INTEGER): BOOLEAN Преобразует строку в целое число. PROCEDURE **StringToReal** (arg: ARRAY OF CHAR; VAR out: REAL): BOOLEAN Преобразует строку в действительное число.