ПРИЛОЖЕНИЕ 4. Процедуры и функции для работы со строками

Для работы со строками применяются следующие процедуры и функции (в квадратных скобках указываются необязательные параметры).

Процедуры и функции для работы со строками
Function Concat(S1 [, S2, ..., SN]: String): String; Возвращает строку, представляющую собой сцепление строк-параметров S1. S2, … , SN
Function Copy(St: String; Index, Count: Integer): String; Копирует из строки St Count символов, начиная с символа с номером Index
Procedure Delete(St: String; Index, Count: Integers; Удаляет Count символов из строки St начиная с символа с номером Index
Procedure Insert(SubSt: String; St, Index: Integer) ; Вставляет подстроку SubSt в строку St начиная с символа с номером Index
Function Length(St: String): Integer; Возвращает текущую длину строки St
Function Pos(SubSt, St: String): Integer; Отыскивает в строке St первое вхождение подстроки SubSt и возвращает номер позиции, с которой она начинается. Если подстрока не найдена, возвращается ноль
Procedure SetLength(St: String; NewLength: Integer); Устанавливает новую (меньшую) длину NewLength строки St, если NewLength больше текущей длины строки, обращение к SetLength игнорируется
Подпрограммы преобразования строк в другие типы т
Function StrToCurr(St: String): Currency; Преобразует символы строки St в целое число типа Currency. Строка не должна содержать ведущих или ведомых пробелов
Function StrToDate(St: String): TDateTime; Преобразует символы строки St в дату. Строка должна содержать два или три числа, разделенных правильным для Windows разделителем даты (в русифицированной версии таким разделителем является «.») Первое число - день, второе – месяц, если указано третье число, оно задает год
Function StrToDateTime(St: String): TDateTime; Преобразует символы строки St в дату и время. Строка должна содержать дату и время, разделенные пробелом
Function StrToFloat(St: String): Extended; Преобразует символы строки St в вещественное число. Строка не должна содержать ведущих или ведомых пробелов
Function StrToInt(St: String): Integer; Преобразует символы строки St в целое число. Строка не должна содержать ведущих или ведомых пробелов
Function StrToIntDef(St: String; Default: Integer): Integer; Преобразует символы строки St в целое число. Если строка не содержит правильного представления целого числа, возвращается значение Default
Function StrToIntRange(St: String; Min, Max: Longint) : Longint; Преобразует символы строки St в целое число и возбуждает исключение ERangeError, если число выходит из заданного диапазона Mm Max
Function StrToTime(St: String): TDateTime; Преобразует символы строки St во время
Procedure Val(St: String; var X; Code: Integer); Преобразует строку символов St во внутреннее представление целой или вещественной переменной X, которое определяется типом этой переменной. Параметр Code содержит ноль, если преобразование прошло успешно, и тогда в Х помещается результат преобразования; в противном случае он содержит номер позиции в строке St, где обнаружен ошибочный символ, и в этом случае содержимое X не меняется. В строке St могут быть ведущие и (или) ведомые пробелы
Подпрограммы обратного преобразования
Function DateToStr(Value: TDateTime): String; Преобразует дату из параметра Value в строку символов
Function DateTimeToStr(Value: TDateTime): String; Преобразует дату и время из параметра Value в строку символов
Procedure DateTimeToString (var St: String; Format: String; Value: TDataTime) ; Преобразует дату и время из параметра Value в строку St
Function FormatDateTime (Format: String; Value: TDateTime): String; Преобразует дату и время из параметра Value в строку символов
Function FloatToStr( Value: Extended): String; Преобразует вещественное значение Value в строку символов
Function FloatToStrF(Value: Extended; Format: TFloatFor-mat; Precision, Digits: Integer) : String; Преобразует вещественное значение Value в строку символов с учетом параметров Precision и Digits (см. пояснения ниже)
Function FormatFloat(Format: String; Value: Extended): String; Преобразует вещественное значение Value в строку
Function IntToStr(Value: Integer) : String; Преобразует целое значение Value в строку символов
Function TimeToStr(Value: TDateTime): String; Преобразует время из параметра Value в строку символов
Procedure Str(X [:width [:Decimals]]; var St: String); Преобразует число Х любого вещественного или целого типа в строку символов St; параметры Width и Decimals, если они присутствуют, задают формат преобразования: Width определяет общую ширину поля, выделенного под соответствующее символьное представление вещественного или целого числа X, a Decimals –количество символов в дробной части (этот параметр имеет смысл только в том случае, когда Х - вещественное число)


Правила использования параметров функции FloatToStrF показаны ниже:

Значение Format Описание
fFfExponent Научная форма представления с множителем еХХ («умножить на 10 в степени XX»). Precision задает общее количество десятичных цифр мантиссы. Digits - количество цифр в десятичном порядке XX. Число округляется с учетом первой отбрасываемой цифры: 3.1416Е+00
ffFixed Формат с фиксированным положением разделителя целой и дробной частей. Precision задает общее количество десятичных цифр в представлении числа. Digits - количество цифр в дробной части. Число округляется с учетом первой отбрасываемой цифры: 3,14
ffGeneral Универсальный формат, использующий наиболее удобную для чтения форму представления вещественного числа. Соответствует формату ffFixed, если количество цифр в целой части меньше или равно Precision, а само число - больше или равно 0,00001, в противном случае соответствует формату ffExponent: 3,1416
ffNumber Отличается от ffFixed использованием символа - разделителя тысяч при выводе больших чисел (для русифицированной версии Windows таким разделителем является пробел). Для Value = p* 1000 получим 3 141,60
ffCurrency Денежный формат. Соответствует ffNumber, но в конце строки ставится символ денежной единицы (для русифицированной версии Windows - символы «р.»). Для Value = p*1000 получим: 3 141,60р

Приложение 5

Наши рекомендации