Модуль: System
Описание
Функция преобразовывает текстовое представление числа в числовую форму и возвращает его в параметре V ( V: Integer или V: Real).
Параметр S - выражение типа string, контекст которого представляет число. Допустимые символы для данной строки: цифры '0'...'9', а если параметр V имеет тип Real, то допустим и символ десятичного разделителя '.'. Если строка содержит символы отличные от указанных, то процедура конвертирует только часть числа, стоящую до первого недопустимого символа, а переменная Code возвращает его индекс. Если строка не содержит недопустимых символов, то Code возвращает 0. Если S - пустая строка, или в первой позиции строки стоит недопустимый символ, то процедура возвращает V=0 , Code=1.
Диапазон допустимых значений зависит от параметра V и управляется директивами компилятора $R:
Директива Результат
{ $R+} Значения, не входящие в диапазон допустимых значений, всегда генерируют ошибку во время выполнения программы.
{ $R- } Диапазон допустимых значений зависит от типа дан-ных V.
Пример
var
I, Code: Integer;
begin
Val( Edit1.Text, I, Code); { Преобразовывает число введенное в поле Edit1.Text в числовую форму }
if Code<>0 then { Проверяет наличие ошибок в введенном числе
MessageDlg( 'Ошибка значения в позиции: '+ IntToStr(Code), mtWarning,[mbOk], 0)
else { Выводит квадрат числа}
Canvas.TextOut( 20, 20, IntToStr(Sqr(I)));
end;