![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Маска в Edit [D6, Win2k]
paule © (2005-03-01 11:43:00)Мастера подскажите пожалуйста.
У меня на форме TEdit.
как разрешить вводить туда только числа и знак '.'?
paule (2005-03-02 11:48:00) [1]а если число будет не 5-ти разрядное, а к примеру 7-и
Shirson (2005-03-02 07:41:00) [2]
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 03:54:00) [3]извините..
Вставка из буфера возможна
paule (2005-03-02 03:54:00) [4]dcnfdrf bp ,eathf djpvj;yf
Antonn (2005-03-01 17:40:00) [5]paule (01.03.05 17:36) [12]
а вставка из буфера необходима? если нет, то [4]
paule (2005-03-01 17:36:00) [6]только числа.
Antonn (2005-03-01 17:15:00) [7]paule (01.03.05 17:12) [10]
скажи точно, тебе просто числа с разделителем нужно фильтровать или даты там всякие?..
ЗЫ MaskEdit не уважаю... Лучше ручками:)
paule (2005-03-01 17:12:00) [8]а как это сделать MaskEdit-ом? Я разбирался, но понять так и не смог
MU (2005-03-01 15:14:00) [9]2 Antonn © (01.03.05 15:10) [6]
>> а я вместо '.' поставил туда DecimalSeparator:) Так ведь можно?
нельзя... может, он дату вводить хочет... ;)
begin...end (2005-03-01 15:13:00) [10]Текст можно вставить из clipboard'а. Поэтому лучше анализировать и корректировать текст в OnChange. А ещё лучше - не ограничивать ввод, а выдавать сообщение об ошибке в случае, если потом, при использовании текста edit'а, выяснится, что там введены некорректные символы. Или использовать TMaskEdit.
BillyJeans (2005-03-01 15:11:00) [11]что просили то и нарисовал ;о)
Antonn (2005-03-01 15:10:00) [12]а я вместо '.' поставил туда DecimalSeparator:) Так ведь можно?
Leshiy (2005-03-01 14:44:00) [13]Я бы добавил еще: #8, на всякий случай :)
BillyJeans (2005-03-01 13:57:00) [14]procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9', '.']) then key := #0;
end;
Aleks (2005-03-01 12:21:00) [15]// нажатие клавиши в поле 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;
Shirson (2005-03-01 11:52:00) [16]Закладка Additional
Компонент MaskEdit
MU (2005-03-01 11:45:00) [17]например, обработайте OnKeyPress