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

Вниз

Как недопустить текстовые символы в edit?   Найти похожие ветки 

 
49 Cent   (2006-02-25 04:32) [0]

Есть 4 tedit и необходимо, чтобы в них заносились только цифры и никаких букв и символов. Каким образом выполнить эту задачу? Обязательно писать код или может в свойствах компонента можно установить подобную настройку?


 
Defunct ©   (2006-02-25 04:52) [1]

ответ на ваш вопрос:
в OnKeyPress если прочитано что-то, что вам не нужно просто заменить символом #0.

наводящий пример (здесь при вводе не пропускаются буквы, но пропускаются некоторые символы):
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if Byte(Key) > $39 then
    Key := #0;
end;



но можно пойти более правильным путем. Пусть пользователь пишет то, что посчитает нужным, а когда он все введет, по нажатию например кнопки "Ок" - проверить правильность всего введенного.


 
Fay ©   (2006-02-25 06:31) [2]

ES_NUMBER


 
49 Cent   (2006-02-25 18:33) [3]

2 Fay и Defunct

Спасибо за помощь! По вашим подсказкам нашел 2 варианта решения проблемы:

1. SetWindowLong(Edit1.Handle, GWL_STYLE,GetWindowLong(Edit1.Handle, GWL_STYLE) or  ES_NUMBER );
2. procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if not (Key in ["0".."9",#8]) then Key:=#0;
end;


 
Pit ©   (2006-02-25 18:38) [4]

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
"a" .. "z","A" .. "Z": ;
else Key := Chr(0);
end;
end;


 
Pit ©   (2006-02-25 18:39) [5]

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
"0" .. "9",#8: ; // цифры и клавиша <Backspace>
else Key := Chr(0);
end;
end;


 
Джо ©   (2006-02-25 19:43) [6]

Все 3 варианта не помешают вставке чего угодно из Буфера обмена. Поддерживаю [1] Defunct (последнее предложение).


 
Pit ©   (2006-02-25 19:51) [7]


> Джо ©   (25.02.06 19:43) [6]
> Поддерживаю [1] Defunct


defunct [defunct]
прил. усопший, покойный, умерший, несуществующий, исчезнувший, вымерший
Зачем же так плохо обо мне.


 
Джо ©   (2006-02-25 20:26) [8]

> [7] Pit ©   (25.02.06 19:51)
> defunct [defunct]
> прил. усопший, покойный, умерший, несуществующий, исчезнувший,
> вымерший
> Зачем же так плохо обо мне.

Нет, это ни в коем случае не о тебе. Или это шутка? Или просто пароксизм?


 
Pit ©   (2006-02-25 20:33) [9]

Нет не шутка, просто первая моя так сказать специализация is  English, извини если обидел, был не прав, чего только не подумаешь, у каждого свои заморочки.


 
Pit ©   (2006-02-25 20:39) [10]

Извини Джо первая мысль перевала, вторая подумала.


 
Defunct ©   (2006-02-25 20:42) [11]

Джо ©   (25.02.06 20:26) [8]

Это ему мой ник-нейм не нравится :)


 
Pit ©   (2006-02-25 21:03) [12]

Давайте больше не будем о грустом, и не будем засорять форум ненужными фразами. Я извинился и по моему проблемма исчерпона. С уважением Pit.


 
Defunct ©   (2006-02-25 21:19) [13]

Pit ©   (25.02.06 21:03) [12]

нет проблем, можете звать меня funct или def если вам так будет удобней ;>


 
Pit ©   (2006-02-25 21:29) [14]

Уважаемые програмисты новый ник-нейм Defunct = funct or def.


 
Галинка ©   (2006-02-25 21:42) [15]

Поддерживаю идею разрешить вводить все, а потом в защищенном блоке отлавливать исключение. Муторно, но надежно. Да и опечатки могут быть...


 
Pit ©   (2006-02-25 21:46) [16]


> Галинка ©   (25.02.06 21:42) [15]
> Поддерживаю идею разрешить вводить все, а потом в защищенном
> блоке отлавливать исключение. Муторно, но надежно. Да и
> опечатки могут быть...


ДА я тоже за еееето.  Даздравствует руськуя могучая языка.



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

Форум: "Начинающим";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.014 c
6-1129405704
Volf_555
2005-10-15 23:48
2006.03.12
Определение MAC-адреса УДАЛЁННОГО компьютера


2-1140641003
TimScorp
2006-02-22 23:43
2006.03.12
ListBox


2-1140853658
Michael5
2006-02-25 10:47
2006.03.12
Как отформатировать текст в редакторе кода Дельфи?


15-1139927103
oldman
2006-02-14 17:25
2006.03.12
Напишет же "Версия" такое...


4-1135072687
Volf_555
2005-12-20 12:58
2006.03.12
Как вывести на экран все иконки из dll-файла?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский