![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() нужно в edit запретить ввод 2х нулей до запятой т.е. чтобы нельзя было ввести 00,1 или 000,1. Как в калькуляторе.
Нашел вариант в книге: Код:
if edt1.text <> '0' then edt1.text:= edt1.text + '0'; Знаю как запретить ввоб цифр или букв, как работать с разделителем дробной части. А вот с нулями этими не могу разобраться |
#2
|
|||
|
|||
![]() А вас не устроит на событии OnKeyPress вот такой код:
Код:
procedure TForm4.edt1KeyPress(Sender: TObject; var Key: Char); begin if edt1.Text = '0' then if Key = '0' then edt1.Text:= ''; end; Больше одного нуля ввести нельзя. |
#3
|
|||
|
|||
![]() Устроит конечно!!!!
Но, извините, не могу понять смыл кода. Как он работает? Если текст=0 тогда провряем второе условие: если нажатие клавиши =0 тогда: ничего не писать. Так? Тогда почему после запятой пишется по 2 нуля? Я просто только учусь и иногда приходится репу почесать конкретно. А здесь вроде все понятно, но в то же время не въезжаю что то. |
#4
|
||||
|
||||
![]() Цитата:
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#5
|
|||
|
|||
![]() но после запятой опять текст моежт быть равен 0
|
#6
|
|||
|
|||
![]() Цитата:
P.S. код который я дал, наверное плохой, вы можете ввести 0 пробел 0, и он скушает это. |
#7
|
|||
|
|||
![]() Цитата:
![]() |