Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];

Вниз

Маска в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.04 c
14-1108960327
begin...end
2005-02-21 07:32
2005.03.13
С Днём рождения! 21 февраля


6-1104840203
Sergio
2005-01-04 15:03
2005.03.13
Зарубежный трафик


14-1108993511
juice
2005-02-21 16:45
2005.03.13
C++ Builder 5 Fatal: Unable to open file FILECTRL.OBJ


14-1109141931
syte_ser78
2005-02-23 09:58
2005.03.13
Замена гиперсылок в Excel


4-1107241251
Mikola
2005-02-01 10:00
2005.03.13
Один сеан за день!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский