(продолжение 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!!!