(продолжение 8 - конец)
Процедура Str
Назначение: Преобразует численное значение в его строковое представление.
Описание: procedure Str(х [: Size [:Dec ] ], var S: String);
Примечания: Параметр x является выражением целого или вещественного типа. Параметры Size и Dec представляют собой выражения целого типа. Параметр s - строковая переменная. Данная функция преобразует x в его строковое представление в соответствии в параметрами форматирования Size (размер) и Dec.
За исключением того, что результирующая строка сохраняется в параметре s, а не записывается в текстовый файл, результат выполнения процедуры будет в точности тот же самый, что и при обращении к стандартной процедуре Write.
Пример 27.1
VAR x:integer; st:string; BEGIN x:=-160; Str(x, st); { x=-160 ; st='-160' } END.Функция Succ
Назначение: Возвращает следующее значение аргумента.
Описание: function Succ(x);
Примечания: Параметр x - выражение перечислимого типа. Результат, имеющий тот же тип, что и x, является следующим элементом x.
Пример 27.2
TYPE tip_1=(RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET); VAR s: tip_1; {новый перечислимый тип} ch: char; {тип символов } BEGIN s:=Succ(YELLOW); {s=GREEN } ch:=Succ('+'); {ch=',' } writeln('ch = ', ch); readln; END.Функция Swap
Назначение: Переставляет местами старший и младший байты аргумента.
Описание: function Swap(x);
Примечания: Параметр x - выражение типа Integer или Word.
Пример 27.3
VAR x: word; BEGIN x:=Swap($1234); { $3412 } END.Функция Trunc
Назначение: Округляет значение вещественного типа до значения целого типа.
Описание: function Trunc(x: Real): Longint;
Примечания: Параметр x представляет собой выражение вещественного типа. Функция Round возвращает значение длинного целого типа, которое является значением x, округленным в сторону нуля.
Ограничения: Если округленное значение x не соответствует диапазону представления длинного целого типа, то происходит ошибка этапа выполнения.
Пример 27.4
VAR x: byte; BEGIN x:=round(100/7); {100/7=14.28571428 ; x=14} writeln('x = ', x); readln; END.Процедура Truncate
Назначение: Усекает размер файла до текущей позиции в файле.
Описание: procedure Truncate(var f);
Примечания: Параметр f является файловой переменной любого типа. Все записи после текущей позиции в файле f удаляются, и текущая позиция в файле становится концом файла (функция Eof(f) принимает значение True).
При указании директивы компилятора {$I-} функция IORеsult будет возвращать значение 0 в том случае, если операция завершилась успешно, и ненулевой код ошибки в противном случае.
Ограничения: Файл f должен быть открыт.
Пример 27.5
VAR f: file of char; BEGIN assign(f, 'test.txt'); reset(f); {открыть файл } Seek(f,10); {переместить позицию в файле на 10 символов} Truncate(f); {стереть все данные после текущей позиции } close(f); {закрыть файл } readln; END.Функция TypeOf
Назначение: Возвращает указатель на таблицу виртуальных методов объекта (VMT).
Описание: function TypeOf(X): Pointer;
Примечания: X - идентификатор объекта или экземпляра объект иного типа. В любом случае TypeOf возвращает адрес таблицы виртуальных методов объектного типа. TypeOf может применяться только к объектным типам, имеющим таблицу виртуальных методов. Все другие методы дают в результате ошибку.
Функция UpCase
Назначение: Преобразует символ в верхний регистр.
Описание: function UpCase(Ch: Char);
Примечания: Параметр Ch представляет собой выражение символьного типа. Результатом символьного типа будет символ, задаваемый параметром Ch, преобразованный в символ верхнего регистра. Значения символов, не лежащие в диапазоне а...z, остаются без изменений.
Пример 27.6
VAR ch:char; BEGIN ch:='m'; ch:=UpCase(ch); { ch='M' } writeln('ch = ',ch); readln; END.Процедура Val
Назначение: Преобразует строковое значение в его численное представление.
Описание: procedure Val(s: String; var v; var Code:Integer);
Примечания: Параметр s представляет собой выражение строкового типа. Параметр v является переменной целого или вещественного типа. Параметр Code - это переменная целого типа, которая формирует все число со знаком. Функция Val преобразует строку s в ее численное представление и сохраняет результат в v.
Если где-либо в строке встречается недопустимый символ, то его номер сохраняется в параметре Code. В противном случае этот параметр равен нулю.
В зависимости от состояния {$R} и типа параметра v функция Val по-разному выполняет проверку диапазона.
Если состояние проверки диапазона установлено, то есть задано {$R+}, то выражения, выходящие за границу диапазона, всегда будут генерировать ошибку этапа выполнения.
Если состояние проверки диапазона сброшено, то есть задано {$R-}, то выражения, выходящие за границу диапазона, будут вызывать эффект, зависящий от их типа. Если v имеет тип real или longint, то значение v становится неопределенным и в параметре Code возвращается ненулевое значение.
Для любого другого числового типа в параметре Code возвращается нулевое значение, а v будет содержать результат вычислений с переполнением (если предположить, что строковое значение попадает в диапазон представления длинного целого).
Таким образом, передав процедуре Val переменную длинного целого типа (longint) и перед тем, как присваивать полученное значение, следует выполнять проверку диапазона. Например:
{$R-} Val('65536', LongIntVar, Code); if (Code <>0) or (LOngIntVar < 0) or (LongIntVar > 65535) then . { ошибка } . . else WordVar := LongIntVar;В этом примере LongIntVar будет установлена в 65536, а Code будет равно 0. Поскольку для переменной Word значение 65536 выходит за допустимый диапазон, будет сообщаться об ошибке.
Пример 27.6
VAR i,code: integer; st:string; BEGIN write('Введите число: '); readln(st); Val(st, i, code); { ошибка при преобразовании в целое значение? } if code <> 0 then writeln('Ошибка на позиции :', code) else writeln('Значение = ', i); readln; END.Процедуры Write и Writeln
Назначение: Записывает одно или более значений из одной или более переменных в файл или выводит на экран.
Описание: procedure Write( [var f: Text/File;] v1 [,v2,...,vn]);
Примечания: тут
Вот, наконец, и все процедуры и функции модуля System.tpu!!!