Запрещение ввода в текстовое поле спец.символов

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Mix
Новичок
Новичок
Аватара пользователя
 
Сообщения: 26
Зарегистрирован: 01.11.2004 (Пн) 19:04
Откуда: Россия, Новокузнецк

Запрещение ввода в текстовое поле спец.символов

Сообщение Mix » 14.11.2008 (Пт) 5:35

Поиск юзал - ничего не нашёл... :?

Как запретить ввод в текстовое поле таких знаков, как !"№;%:?*() и т.д.?
Я нашёл только вот такой способ:
Код: Выделить всё
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = Asc(***) Then
    KeyAscii = 0
    Beep
End If
End Sub

Но тут надо знать коды нужных символов.
Может быть есть другой способ?
Клан -=S.A.L.K.E.R.=-
"И я говорю - мы победим, господь нас уважает!!!" (c) DDT

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Re: Запрещение ввода в текстовое поле спец.символов

Сообщение shady » 14.11.2008 (Пт) 9:18

Как вариант можно использовать событие KeyDown
KeyDown(KeyCode As Integer, Shift As Integer)
Если клавиша Shift нажата значение переменной Shift = 1 иначе 0

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Запрещение ввода в текстовое поле спец.символов

Сообщение Денис » 14.11.2008 (Пт) 10:01

Было-было! С помощью SendMessage отсылаются сообщения, которыми можно вводить только буквы, только числа, фиксированный набор символов и т.п.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Mix
Новичок
Новичок
Аватара пользователя
 
Сообщения: 26
Зарегистрирован: 01.11.2004 (Пн) 19:04
Откуда: Россия, Новокузнецк

Re: Запрещение ввода в текстовое поле спец.символов

Сообщение Mix » 14.11.2008 (Пт) 10:10

Денис писал(а):Было-было! С помощью SendMessage отсылаются сообщения, которыми можно вводить только буквы, только числа, фиксированный набор символов и т.п.

А по подробней можно? Или ссылку какую-нибудь. :oops:
Клан -=S.A.L.K.E.R.=-
"И я говорю - мы победим, господь нас уважает!!!" (c) DDT

Mix
Новичок
Новичок
Аватара пользователя
 
Сообщения: 26
Зарегистрирован: 01.11.2004 (Пн) 19:04
Откуда: Россия, Новокузнецк

Re: Запрещение ввода в текстовое поле спец.символов

Сообщение Mix » 14.11.2008 (Пт) 10:10

shady писал(а):Как вариант можно использовать событие KeyDown
KeyDown(KeyCode As Integer, Shift As Integer)
Если клавиша Shift нажата значение переменной Shift = 1 иначе 0

Хорошее решение! :)
Но не все символы заблокируются...
Клан -=S.A.L.K.E.R.=-
"И я говорю - мы победим, господь нас уважает!!!" (c) DDT

Mix
Новичок
Новичок
Аватара пользователя
 
Сообщения: 26
Зарегистрирован: 01.11.2004 (Пн) 19:04
Откуда: Россия, Новокузнецк

Re: Запрещение ввода в текстовое поле спец.символов

Сообщение Mix » 14.11.2008 (Пт) 10:14

Мне нужно, чтоб вводить было можно латинские и кирилические буквы - заглавные и строчные. :?
Клан -=S.A.L.K.E.R.=-
"И я говорю - мы победим, господь нас уважает!!!" (c) DDT

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Запрещение ввода в текстовое поле спец.символов

Сообщение Antonariy » 14.11.2008 (Пт) 12:21

Mix писал(а):Но тут надо знать коды нужных символов.
Может быть есть другой способ?

Код: Выделить всё
If Not Chr(KeyAscii) Like "[A-Za-zА-Яа-яёЁ]" Then
    KeyAscii = 0
    Beep
End If
Однако это не спасет от копипаста.
Лучший способ понять что-то самому — объяснить это другому.

Mix
Новичок
Новичок
Аватара пользователя
 
Сообщения: 26
Зарегистрирован: 01.11.2004 (Пн) 19:04
Откуда: Россия, Новокузнецк

Re: Запрещение ввода в текстовое поле спец.символов

Сообщение Mix » 14.11.2008 (Пт) 13:08

Спасибо большое! :alien:
Код: Выделить всё
Like "[A-Za-zА-Яа-яёЁ]"

Никогда подобного не видел, но работает! :shock: :mrgreen:
Клан -=S.A.L.K.E.R.=-
"И я говорю - мы победим, господь нас уважает!!!" (c) DDT


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 73

    TopList  
cron