Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] Delphi | Обработка исключительной ситуации (http://forum.oszone.net/showthread.php?t=73276)

Madmech 20-10-2006 18:51 500684

Delphi | Обработка исключительной ситуации
 
Вопрос совсем дурной, но какой уж есть, ибо аз есмь ламер. Есть некое поле, в которое, по идее говоря, должно вводиться число. Потом нажимаем на кнопку, и строковый результат преобразуется в число. Если поле пустое или там какой-нибудь другой символ, отличный от численного типа данного (в моем случае integer), то при нажатии выдается ошибка: "EConvertError". И программа слетает. Как предотвратить эту пакость? То есть, чтобы вызывался другой механизм, типа выдавалось сообщение: "Введите число!" Ясно, что надо применять механизм try...except...end; Но у меня что-то не получается. :(

hasherfrog 20-10-2006 19:05 500688

Код:

function IsInt(st:string): boolean ;
var
a:integer;
begin
  result:=false;
  for a:=1 to length(st) do
        if not (st[a] in ['1','2','3','4','5','6','7','8','9','0']) then
            exit;
  result:=true;
end;

function IsInteger(S: String) : Boolean;
var
aNo,err:integer;
begin
 val(S,aNo,err);
 if err=0 then result:=true else
 result:=false;
end;

http://www.delphipages.com/tips/copyview.cfm?ID=197

Madmech 22-10-2006 19:50 501320

hasherfrog
Спасибо, проблема решена! Я спасен! :)


Время: 12:59.

Время: 12:59.
© OSzone.net 2001-