Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проверить 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.


Наверх

Титульная страница Поиск, карта сайта Написать письмо