Форум: "Начинающим";
Текущий архив: 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.012 c