Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.13;
Скачать: CL | DM;

Вниз

Маска в Edit   Найти похожие ветки 

 
paule   (2005-03-01 11:43) [0]

Мастера подскажите пожалуйста.
У меня на форме TEdit.
как разрешить вводить туда только числа и знак "."?


 
MU   (2005-03-01 11:45) [1]

например, обработайте OnKeyPress


 
Shirson ©   (2005-03-01 11:52) [2]

Закладка Additional
Компонент MaskEdit


 
Aleks ©   (2005-03-01 12:21) [3]

// нажатие клавиши в поле Editl
procedure TForml.EditlKeyPress(Sender: TObject; var Key:
begin
// В поле (Editl) можно ввести только
// цифры. Процедура проверяет, является ли символ
// допустимым. Если нет, то она заменяет
// введенный символ нулевым. В результате символ
// в поле редактирования не отображается.
// Key — символ, соответствующий нажатой клавише
if not ((Key >= "0") and (Key <="9") or (Key = ".")))then
Key := Chr(0);
end;


 
BillyJeans   (2005-03-01 13:57) [4]

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if not (key in ["0".."9", "."]) then key := #0;
end;


 
Leshiy ©   (2005-03-01 14:44) [5]

Я бы добавил еще: #8, на всякий случай :)


 
Antonn ©   (2005-03-01 15:10) [6]

а я вместо "." поставил туда DecimalSeparator:) Так ведь можно?


 
BillyJeans   (2005-03-01 15:11) [7]

что просили то и нарисовал ;о)


 
begin...end ©   (2005-03-01 15:13) [8]

Текст можно вставить из clipboard"а. Поэтому лучше анализировать и корректировать текст в OnChange. А ещё лучше - не ограничивать ввод, а выдавать сообщение об ошибке в случае, если потом, при использовании текста edit"а, выяснится, что там введены некорректные символы. Или использовать TMaskEdit.


 
MU   (2005-03-01 15:14) [9]

2 Antonn ©   (01.03.05 15:10) [6]
>> а я вместо "." поставил туда DecimalSeparator:) Так ведь можно?
 нельзя... может, он дату вводить хочет... ;)


 
paule   (2005-03-01 17:12) [10]

а как это сделать MaskEdit-ом? Я разбирался, но понять так и не смог


 
Antonn ©   (2005-03-01 17:15) [11]

paule   (01.03.05 17:12) [10]
скажи точно, тебе просто числа с разделителем нужно фильтровать или даты там всякие?..

ЗЫ MaskEdit не уважаю... Лучше ручками:)


 
paule   (2005-03-01 17:36) [12]

только числа.


 
Antonn ©   (2005-03-01 17:40) [13]

paule   (01.03.05 17:36) [12]
а вставка из буфера необходима? если нет, то [4]


 
paule   (2005-03-02 03:54) [14]

dcnfdrf bp ,eathf djpvj;yf


 
paule   (2005-03-02 03:54) [15]

извините..

Вставка из буфера возможна


 
Shirson ©   (2005-03-02 07:41) [16]

if not (key in ["0".."9", "."]) then key := #0;
или
if not ((Key >= "0") and (Key <="9") or (Key = ".")))then
Key := Chr(0);


Позволят вводить 000987.9872.940.000.1

А MaskEdit прекрасно справляется с поставленной задачей. Что с ним непонятно? (самый простой вариант, например !99999.99;1;)


 
paule   (2005-03-02 11:48) [17]

а если число будет не 5-ти разрядное, а к примеру 7-и



Страницы: 1 вся ветка

Текущий архив: 2005.03.13;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.118 c
1-1109267654
aglar
2005-02-24 20:54
2005.03.13
Как сохранить динамически созданные пункты меню?


1-1109762690
ser35
2005-03-02 14:24
2005.03.13
Игнорирование невидимых компонентов


14-1109078258
Aleksandr
2005-02-22 16:17
2005.03.13
Тонер (порошок для заправки принтеров и ксероксов)


8-1101366528
_Nikolay
2004-11-25 10:08
2005.03.13
Как сделать клиентскую область формы на весь экран ?


4-1107258139
AlexG
2005-02-01 14:42
2005.03.13
Нужно перезаписать EXE-файл запущенной программы