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

Это для VBA
...
Рейтинг: 0 / 0
фэйсКонтРоль
    #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
фэйсКонтРоль
    #37504462
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

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

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

понятн... т.е. то, что я делал в самом начале - обрабатывал ченч текстбокса, а не нажатую клавишу... спс
...
Рейтинг: 0 / 0
фэйсКонтРоль
    #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
фэйсКонтРоль
    #37508521
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: BelowZero
> сё, доделал...

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


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

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


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