Документация проекта [[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) Выделяет из строки 'src' подстроку 'dst' длиной 'n' символов, начиная с позиции 'pos' ('0 ≤ pos ≤ Length(src)'). Если 'n > Length(src) - pos', в 'dst' копируется только часть строки 'src' от позиции 'pos' до её конца, то есть 'Length(src) - pos' символов. Если размер буфера 'dst' недостаточен для размещения результата, строка усекается таким образом, чтобы 'dst' всегда завершалась нулевым символом '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 Преобразует строку в действительное число.