Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Очень прошу помогите / 6 сообщений из 6, страница 1 из 1
21.05.2003, 15:26
    #32165232
V@mpir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень прошу помогите
Помогите мне сделать так чтобы в обычную строку textbox, можно было вводить только цифры, а если буквы попытаться, то обнуляется все.
ЗАРАНИЕ ВЕСЬМА БЛАГОДАРЕН !!!
...
Рейтинг: 0 / 0
21.05.2003, 16:14
    #32165310
DIKI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень прошу помогите
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
Private Sub txtTel_Change(Index As Integer)
    'If txtTel(Index).Locked = True Then txtTel(Index).Text = m_sTel(Index): Exit Sub
    txtChange txtTel(Index)
End Sub

Private Sub txtTel_KeyPress(Index As Integer, KeyAscii As Integer)
    txtKeyPressInt KeyAscii, txtTel(Index)
End Sub

Private Sub txtTel_LostFocus(Index As Integer)
    txtTel_Change (Index)
End Sub


Public Sub txtChange(txtobj As TextBox)
    If Len(txtobj.Text) >  0  And Not IsNumeric(txtobj.Text) Then
        MsgBox  "В поле допустимы только цифры." , vbExclamation,  "Сообщение" 
        txtobj.SelStart =  0 
        txtobj.SelLength = Len(txtobj.Text)
        txtobj.SetFocus
    End If
End Sub

Public Sub txtKeyPressInt(KeyAscii As Integer, txtobj As TextBox)
Dim s As String
If KeyAscii <>  8  And KeyAscii <>  13  Then
    s = Chr$(KeyAscii)
    If Not (s Like  "[0 - 9 ]") Then KeyAscii =  0 
End If
End Sub
...
Рейтинг: 0 / 0
21.05.2003, 16:26
    #32165332
Vitaly Vengrov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень прошу помогите
Зачем такие навороты ? Делай так :

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Private Sub Text1_KeyPress(KeyAscii As Integer)
     Select Case KeyAscii
        Case  48 ,  49 ,  50 ,  51 ,  52 ,  53 ,  54 ,  55 ,  56 ,  57 
        Case Else
             Text1.Text = ""
     End Select
End Sub


Добавь сюда обработку остальных нужных тебе знаков - таких как точка, запятая, Backspace и т.д.
...
Рейтинг: 0 / 0
22.05.2003, 10:04
    #32165740
DIKI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень прошу помогите
А если вставят из буфера в поле?
...
Рейтинг: 0 / 0
22.05.2003, 10:22
    #32165777
MarinaK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень прошу помогите
Const TYPE_MISMATCH_ERROR As Long = 13
Public Enum AsciiKeys
ascii_0 = 48
ascii_9 = 57
ascii_delete = 8
ascii_Ctrl_V = 22 'Paste from buffer
ascii_dot = 46
End Enum


Private Sub txtDataSize_KeyPress(KeyAscii As Integer)
If (KeyAscii < ascii_0 Or KeyAscii > ascii_9) _
And KeyAscii <> ascii_delete And KeyAscii <> ascii_Ctrl_V Then
KeyAscii = 0
End If
End Sub

Private Sub txtDataSize_Change()
Static lngOldValue&
On Error GoTo Change_Error
If Len(Trim$(txtDataSize)) <> 0 Then
lngOldValue = CLng(Trim$(txtDataSize))
End If
Exit Sub
Change_Error:
If Err.Number = TYPE_MISMATCH_ERROR Then
MsgBox "Must be numeric",vbCritical
End If
txtDataSize= lngOldValue
End Sub
...
Рейтинг: 0 / 0
23.05.2003, 18:36
    #32167657
a1ex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень прошу помогите
а еще есть такая штука, как компонент Microsoft Masked Edit Control 6.0, в котором можно ваще нужную маску прописать
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Очень прошу помогите / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]