![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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, и он скушает это. |