Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 384
от 03.10.2006, 02:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 200, Экспертов: 27
В номере:Вопросов: 1, Ответов: 4


Вопрос № 56951: Здравствуйте. Как ограничить вводимые цифры от 1 до 7 в Text1 ?...

Вопрос № 56.951
Здравствуйте.
Как ограничить вводимые цифры от 1 до 7 в Text1 ?
Отправлен: 28.09.2006, 01:44
Вопрос задал: Student - Николай (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: HookEst
Здравствуйте, Student - Николай!
Один из способов - это перехватывать событие OnKeyPress, и в зависимости от кода символа разрешать или запрещать ввод этого символа.
Не знаю какого типа у Вас Text1, пишу 2 примера. Один для VB .NET, второй для VBA.
Правда этот способ не поможет от Copy-Paste ,но можно Paste вообще запретить, и все равно желательно всегда перед использованием проверять, чего там User написал.
Удачи.

Приложение:

Ответ отправил: HookEst (статус: 3-ий класс)
Ответ отправлен: 28.09.2006, 06:03
Оценка за ответ: 5

Отвечает: Макаренко Е.В.
Здравствуйте, Student - Николай!
Можно сделать промежуточный буффер - например Text2.
Перенос блока - по кнопке.
При нажатии кнопки - выполнение процедуры анализа

---------
осторожность, точность... и горит все синим пламенем! :))
Ответ отправил: Макаренко Е.В. (статус: Студент)
Ответ отправлен: 28.09.2006, 10:10

Отвечает: VLK
Здравствуйте, Student - Николай!

Если Вам необходимо ограничить ввод только цифр 0, 8 и 9, но допускается ввод иных символов, то следующий пример запрещает пользователю вводить только 0, 8 и 9. Если же наоборот запрещается ввод цифр из диапазона 1-7, исправьте код с учетом того, что коды клавиш от 1 до 7 включительно - 49:55.

Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 48
KeyAscii = 0
Case 56
KeyAscii = 0
Case 57
KeyAscii = 0
End Select
End Sub
Ответ отправил: VLK (статус: 7-ой класс)
Ответ отправлен: 29.09.2006, 14:34
Оценка за ответ: 5

Отвечает: Тесленко Евгений Алексеевич
Здравствуйте, Student - Николай!
Также как у Кокорич Вадима Леонидовича , но одной строкой

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii < 49 Or KeyAscii > 55 Then KeyAscii = 0
End Sub

Удачи.
Евгений.
Ответ отправил: Тесленко Евгений Алексеевич (статус: 1-ый класс)
Ответ отправлен: 29.09.2006, 20:55
Оценка за ответ: 5


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.36 от 06.09.2006
Яндекс Rambler's Top100

В избранное