Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / фэйсКонтРоль / 11 сообщений из 11, страница 1 из 1
30.10.2011, 12:17
    #37504253
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фэйсКонтРоль
тексбокс расчитан на то, что в него будут пихать только цифры, но мало ли среди пользователей умников... поэтому нужно сделать так, чтобы в текстбокс можно было вписать только цифры. могу, конечно, и вручную, через миды, циклы и несколько условий, но уверен, что это делается как-то проще.
...
Рейтинг: 0 / 0
30.10.2011, 13:21
    #37504290
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фэйсКонтРоль
BelowZero,

Это для VBA
...
Рейтинг: 0 / 0
30.10.2011, 16:28
    #37504417
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фэйсКонтРоль
Игорь Горбонос,

спасибо... вот что получается:
Код: plaintext
1.
2.
3.
4.
Private Sub Text1_KeyPress(KeyAscii As Integer)
    If KeyAscii <  48  Or KeyAscii >  57  Then
       KeyAscii =  0 
    End If
End Sub

при этом можно ввести только цифры от 0 до 9. но также блокируется копирование, т.е. в текстбокс нельзя ничего скопировать при помощи ктрл+V. код ктрл 11, код V 118. как сделать так, чтоб можно было копировать текст в текстбокс?
...
Рейтинг: 0 / 0
30.10.2011, 17:47
    #37504462
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фэйсКонтРоль
BelowZero,

а дальше по ссылке чего не прочитал?
...
Рейтинг: 0 / 0
30.10.2011, 19:41
    #37504502
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фэйсКонтРоль
Игорь Горбонос,

прочитал, но это не то. там говорится, как заблокировать вставку ктрл+V. но в vb6 блокировка букв блокирует и ктрл+V. а вот заставить кктрл +V работать - уже сложнее
...
Рейтинг: 0 / 0
30.10.2011, 20:48
    #37504533
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фэйсКонтРоль
ничего сложного
отрабатывать change (который реагирует и на вставку из буфера) и убирать все, кроме цифр
...
Рейтинг: 0 / 0
30.10.2011, 22:43
    #37504590
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фэйсКонтРоль
Shocker.Pro,

понятн... т.е. то, что я делал в самом начале - обрабатывал ченч текстбокса, а не нажатую клавишу... спс
...
Рейтинг: 0 / 0
31.10.2011, 10:23
    #37504846
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фэйсКонтРоль
сё, доделал... вот мой код для отбора введённого текста. наверняка, кому-нить пригодится
Код: 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.
30.
31.
32.
33.
34.
Private Sub Text1_Change()
Dim x As Long
Dim z As Boolean
Dim y As Boolean
Dim a As Long
If Text1.SelStart =  0  Then Else a = Len(Text1) - Text1.SelStart
y = False
For x =  1  To Len(Text1)
z = False
Select Case Mid(Text1, x,  1 )
Case "."
Text1.Text = Replace(Text1.Text, ".", ",")
z = True
Case "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", ","
z = True
End Select
If z = True Then
Label2.Caption = ""
Else
y = True
    If Len(Text1) =  1  Then
    Text1.Text = ""
    ElseIf x =  1  Then
    Text1.Text = Mid(Text1,  2 , Len(Text1) -  1 )
    ElseIf x = Len(Text1) Then
    Text1.Text = Mid(Text1,  1 , x -  1 )
    ElseIf Len(Text1) >  2  Then
    Text1.Text = Mid(Text1,  1 , x -  1 ) & Mid(Text1, x +  1 , Len(Text1) - x)
    End If
Exit For
End If
Next x
If y = True Then Label2.Caption = "Вводить можно только цифры!!!"
Text1.SelStart = Len(Text1.Text) - a
End Sub
...
Рейтинг: 0 / 0
02.11.2011, 13:51
    #37508521
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фэйсКонтРоль
> Автор: BelowZero
> сё, доделал...

А вот такой вариант тебе не
подойдет? Намного проще


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
02.11.2011, 20:09
    #37509506
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фэйсКонтРоль
Игорь Горбонос,

вот почему...
...
Рейтинг: 0 / 0
03.11.2011, 23:14
    #37511363
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фэйсКонтРоль
ещё усовершенствовал код... добавил цикл для обработки постановки запятой: запятая не должна ставить в начале, в конце строки, и если запятая уже поставлена. мб кому-нить пригодится
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / фэйсКонтРоль / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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