PostHeaderIconDelphi. Процедура Val ( S; var V; var Code: Integer );

Процедура Val ( S; var V; var Code: Integer );

Модуль: 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;

 
Copyright © 2007-2010 IsIProg.ru. All Rights Reserved.