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

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

Проверка на ввод нечисловых символов и запятой. [D7, XP]


Страницы:   1 2 3

Neket ©   (2008-09-24 09:33:00) 

Доброе утро. Подскажите как сделать проверку введенного текста в Edit на наличие буков и если вводится дробное число то чтобы разделитель был "," а не точка.
т.е. доллжны вводится цифры, в том числе и вещественные а если будут буквы или разделитель не запятая а точка то либо самому менять или шоб ошибку выдавало. Заранее благодарен.


MsGuns   (2008-09-24 12:48:00) [21]

Код состоит аж из 5 строк, среди которых помимо проверки на символ цифры, разделителя дроби и знака "-" есть еще при последнем проверка уже имеющегося содержимого на "-".
Самому написать ну никах ?


Dennis I. Komarov   (2008-09-24 12:25:00) [22]


> ASoft   (24.09.08 11:44) [27]

Да пусть делает чего хочет... Единственное - жалко того, кто будет пользовать эту поделку. Оно и понятно - скупой платит ...

ЗЫ Обидно когда из серьезных контор приходят такие поделки, и при том отказаться от них низя :(
Вот за это надо таких программистов бить по голове до полного просветления (или наоборот - тут уж как повезет)


ASoft   (2008-09-24 11:44:00) [23]


> Кстати на мой взгляд очень удобным

а на
> Dennis I. Komarov ©   (24.09.08 09:39) [3]

наплюем, да?


Neket   (2008-09-24 11:22:00) [24]

Хм... Ну касаемо +123.456е-2 и т.д. Такое они вводить не будут, не смогут да оно и не надо чтобы могли вводить.
А касаемо Anatoly Podgoretsky ©   (24.09.08 11:03) [25]
То проверка основная как раз и проводится по нажати "Ок", просто предложенный вариант в начале является одним из этапов контроля корректности. Кстати на мой взгляд очень удобным.


Anatoly Podgoretsky   (2008-09-24 11:03:00) [25]

> Сергей М.  (24.09.2008 10:57:23)  [23]

Я так и поступаю, пусть вводят любую ерунду, мое дело отказаться в ее приеме, при том не обязательно при потере фокуса, возможно он еще не кочил ерундить, при нажатие кнопки ОК проверяю.


Vlad Oshin   (2008-09-24 11:02:00) [26]

не, лучше на изменение значения повесится
Если после ввода ткнут в ерунду, которая не получит фокус, но начнет вычисления?


Сергей М.   (2008-09-24 10:57:00) [27]


> может ну его нафиг такой ввод?


Дык об чем и речь !

В общем случае юзеру надо дать полную свободу в тыкании любых кнопок, а проверку корректности введенной им абракадабры осуществлять при потере контролом фокуса ..


Anatoly Podgoretsky   (2008-09-24 10:55:00) [28]

А может ну его нафиг такой ввод?


Сергей М.   (2008-09-24 10:54:00) [29]


> Е, Pi пусть на счетах посчитает предварительно


На счетах - это даже неприлично) .. Настоящие джедаи завсегда лорарифмическую линейку пользуют для перевода из scientific-формата в денежный формат) ..


Правильный$Вася   (2008-09-24 10:43:00) [30]

и можно будет выкидывать на помойку


Правильный$Вася   (2008-09-24 10:43:00) [31]

теперь остается запретить вставку из буфера обмена


Vlad Oshin   (2008-09-24 10:38:00) [32]

а Е, Pi пусть на счетах посчитает предварительно :)


AndreyV   (2008-09-24 10:33:00) [33]

> [15] Neket   (24.09.08 10:22)
> > На знак я проверку сделал
>
> Интересно, какую ?
> Ды просто запретил его вводить )))))))))))

Хороша проверка для вещественных чисел.
А такое:
+123.456е-2
пользователю запрещщено вводить?


Сергей М.   (2008-09-24 10:29:00) [34]


> Neket   (24.09.08 10:22) [15]


Так это не ты сделал, а Vlad Oshin ©   (24.09.08 09:35) [1])
А ты и пальцем не пошевелил)


Neket   (2008-09-24 10:22:00) [35]

> На знак я проверку сделал

Интересно, какую ?

Ды просто запретил его вводить )))))))))))


Сергей М.   (2008-09-24 10:18:00) [36]


> На знак я проверку сделал


Интересно, какую ?

А код бэкспейса выясни сам - ShowMessage(IntToStr(Ord(Key)))


Vlad Oshin   (2008-09-24 10:17:00) [37]

Windows.pas
VK_BACK = 8;


Neket   (2008-09-24 10:13:00) [38]

На знак я проверку сделал. А вот касаемо нескольких запятых, то идея хорошая надо будет тоже проверку сделать.
Так какой код у BackSpase?

Поросенок Винни-Пух ©   (24.09.08 10:10) [10]- работают :-)


Поросенок Винни-Пух   (2008-09-24 10:12:00) [39]

В нем нет "защиты от дурака" - ничто мешает натыкать, к примеру, кучу запятых, да еще и в "неположенных местах")

1,000,000.99


Поросенок Винни-Пух   (2008-09-24 10:10:00) [40]

а стрелки влево/вправо?


Страницы:   1 2 3

Наверх

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