Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка вводимых данных 
:(
    Опции темы
Алкоголик
Дата 14.3.2009, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 187
Регистрация: 26.1.2004

Репутация: нет
Всего: нет



Здраствуйте. 
Как организовать проверку вводимых данных? т.е. например в консольном режиме мне нужно что бы вводились только маленькие англиские буквы и не более 5 символов.
А в приложении с формой в textbox вводились только символы 0123456789ABCDEF.
Заранее спасибо.
PM MAIL   Вверх
Avalon12x
Дата 14.3.2009, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 12.2.2009

Репутация: нет
Всего: нет




Цитата(Алкоголик @  14.3.2009,  21:29 Найти цитируемый пост)
А в приложении с формой в textbox вводились только символы 0123456789ABCDEF.


Можно через обработку события KeyPress
Код

Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 8
    If Len(st) = 0 Then Exit Sub
    st = Mid(st, 1, Len(st) - 1)
Case 8, 48 To 57, 65 To 71

Case Else
    KeyAscii = 0
End Select
End Sub


Правда придется еще предотвратить вставку в TextBox через Ctrl+V , Shift+Insert, Copy/Paste

Это сообщение отредактировал(а) Avalon12x - 14.3.2009, 21:48
PM MAIL   Вверх
TEH3OP
Дата 7.4.2009, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 18.7.2008

Репутация: нет
Всего: 1



Цитата(Алкоголик @  14.3.2009,  21:29 Найти цитируемый пост)
А в приложении с формой в textbox вводились только символы 0123456789ABCDEF

Я люблю ненавязчивую проверку, поэтому делаю так:
Код

Private Function CheckRange(ByVal theText As String, ByVal theRange As String) As Boolean
    Dim k As Long
    Dim theReturn As Boolean
    
    theReturn = True
    
    For k = 1 To Len(theText)
        If InStr(1, theRange, Mid$(theText, k, 1&)) = 0 Then
            theReturn = False
            Exit For
        End If
    Next
    
    CheckRange = theReturn
End Function


Private Sub ctlBNOK_Click()
if not CheckRange(ctlTEXT_SMTH.text, "0123456789ABCDEF") then
    MsgBox "Something wrong!"
   Exit Sub
end if
' Делаею что надо.
End Sub



PM MAIL   Вверх
BorisVorontsov
Дата 10.4.2009, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Thinker
**


Профиль
Группа: Комодератор
Сообщений: 714
Регистрация: 3.11.2005
Где: Молдавия, г. Киши нёв

Репутация: 5
Всего: 10



Цитата(Алкоголик @  14.3.2009,  21:29 Найти цитируемый пост)
т.е. например в консольном режиме


А это что еще за режим?

Цитата(Алкоголик @  14.3.2009,  21:29 Найти цитируемый пост)
А в приложении с формой в textbox вводились только символы 0123456789ABCDEF.


Может, тебе подойдет MaskEdBox? А так, сабклассинг с последующей обработкой WM_KEYDOWN и WM_RBUTTONDOWN/UP


--------------------
[code=cpp]
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;
[/code]
PM MAIL ICQ GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0575 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.