![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проверить Edit1.Text - цифровой? [D7, WinXP]
bles © (2004-08-09 11:54:00)При выполнении процедуры, требуется проверить является ли введеный оператором текст в Edit1.Text цифровым и если нет - выбросить предупреждение, а если цифровой, то продолжить выполнение процедуры.
Заранее спасибо.
Anatoly Podgoretsky (2004-08-09 13:19:00) [1]Vit@ly © (09.08.04 12:32) [7]
А зачем ограничивать пользователся, пускай как хочет так и вводить, хоть копирование из ворда, где часть информации не цифровая, важен результат и удобства для пользователся.
GuAV (2004-08-09 12:35:00) [2]
> Не грамотнее ли сразу не допускать ввода в эдит не числовой
> информации?
Если вводится число с плавающей точкой, то имхо нет.
Vit@ly (2004-08-09 12:32:00) [3]Не грамотнее ли сразу не допускать ввода в эдит не числовой информации?
GuAV (2004-08-09 12:07:00) [4]StrToInt используй - и исключение подымется если не число и дальнейший код не выполнится - только finally, если там except нет
anton@fms.sochi.ru (2004-08-09 12:06:00) [5]Для Sandman25: я в курсе
Sandman25 (2004-08-09 12:03:00) [6][2] anton@fms.sochi.ru (09.08.04 11:58)
function IsNumeric(const S: string): Boolean;
begin
Result := IsFloat(S);
end;
Квэнди (2004-08-09 12:00:00) [7]а если очень хочется извратиться, используй strtointdef в качестве defa задай какоенить число, заведомо не правильное (например -1)
anton@fms.sochi.ru (2004-08-09 11:58:00) [8]Функции:
IsInteger - проверка, что строка - это ЦЕЛОЕ число
IsFloat - проверка, что строка - это плавающее число (в принципе и целое тоже прокатит)
IsNumeric - проверка, что строка - это число
function IsInteger(const S: string): Boolean;
var
Value: Integer;
Code: Integer;
begin
VAL(S, Value, Code);
Result := (Code = 0);
end;
function IsFloat(const S: string): Boolean;
var
Value: Extended;
Code: Integer;
begin
VAL(S, Value, Code);
Result := (Code = 0);
end;
function IsNumeric(const S: string): Boolean;
begin
Result := IsInteger(S) or IsFloat(S);
end;
Fynjy (2004-08-09 11:56:00) [9]Можешь использовать try except.