powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Очень прошу помогите
6 сообщений из 6, страница 1 из 1
Очень прошу помогите
    #32165232
V@mpir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите мне сделать так чтобы в обычную строку textbox, можно было вводить только цифры, а если буквы попытаться, то обнуляется все.
ЗАРАНИЕ ВЕСЬМА БЛАГОДАРЕН !!!
...
Рейтинг: 0 / 0
Очень прошу помогите
    #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
Очень прошу помогите
    #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
Очень прошу помогите
    #32165740
Фотография DIKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если вставят из буфера в поле?
...
Рейтинг: 0 / 0
Очень прошу помогите
    #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
Очень прошу помогите
    #32167657
a1ex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а еще есть такая штука, как компонент Microsoft Masked Edit Control 6.0, в котором можно ваще нужную маску прописать
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Очень прошу помогите
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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