Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / -1 / 1
Регистрация: 10.09.2016
Сообщений: 115

Ввод в текстовое поле только положительных цифр

10.12.2016, 20:21. Показов 3134. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите ,пожалуйста. Как сделать ввод в текстовое поле только положительных цифр. У меня не хочет работать данный код.
Пытался
Visual Basic
1
2
3
4
5
6
7
8
9
10
Private Sub CommandButton1_Click()
Dim v1 As Integer, v2 As Integer, time As Integer, s As Integer, pr1 As Integer, pr2 As Integer
v1 = TextBox1.Value
...
Private Sub Text1_Change()
If IsNumeric(Box1) <= 0 Then
MsgBox "Число должно быть положительным"
End Sub
...
End Sub
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.12.2016, 20:21
Ответы с готовыми решениями:

Ввод в текстовое поле только чисел, которые больше 100
Нужно ввести в текстовое поле только цифры больше 100. как это сделать? код, если можно. как разрешить ввод в текстовое поле только...

Ввод в текстовое поле только цифр
Подскажите пожалуйста, как сделать так чтобы в компонент TextBox можно было вводить только цифры, а не буквы?

Ввод в текстовое поле только цифр
Здравствуйте уважаемые обитатели. Как можно сделать, что б в текстовом поле, можно было вводить только цифры? Причем только двузначное...

5
4709 / 3662 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
10.12.2016, 23:34
Можно так
VB.NET
1
2
3
4
5
If IsNumeric(TextBox1.Text) AndAlso CInt(TextBox1.Text) > 0 Then
    MsgBox(TextBox1.Text & ">0")
Else
    MsgBox("Error")
End If
0
1742 / 1671 / 167
Регистрация: 25.07.2015
Сообщений: 2,724
11.12.2016, 07:37
Лучший ответ Сообщение было отмечено Sh_a_man как решение

Решение

Sh_a_man, приведите весь код пожалуйста
Не понятно , что откуда и куда

Например здесь
VB.NET
1
v1 = TextBox1.Value
и здесь
VB.NET
1
Private Sub Text1_Change()
не к одному и тому же физическому контролу идёт обращение случайно?
и что такое Box1 ?

Не по теме:

ovva,ощущение, что тут проблема не в самой проверке на значение
(вариант TC тоже должен работать), а последовательности действий и путанице имён.



Добавлено через 19 минут
VB.NET
1
2
3
4
5
6
7
8
9
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim v1, v2, time, s, pr1, pr2 As Integer
        If CInt(TextBox1.Text) <= 0 Then
            MsgBox("Число должно быть положительным")
        Else
            v1 = TextBox1.Text
            MsgBox(v1)
        End If
    End Sub
Можно явно и не приводить TextBox1.Text к типу Integer, VB это сделает по умолчанию, т.е.
VB.NET
1
If TextBox1.Text <= 0 Then
даст ровно тот же результат.
1
0 / -1 / 1
Регистрация: 10.09.2016
Сообщений: 115
11.12.2016, 11:54  [ТС]
Цитата Сообщение от Kulma Посмотреть сообщение
приведите весь код пожалуйста
Visual Basic
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Private Sub CommandButton1_Click()
Dim v1, v2, time, s, pr1, pr2 As Integer
'Считывание коэффицентов из полей формы
v1 = TextBox1.Value
'Проверка на положительное число
If TextBox1.Text <= 0 Then
MsgBox ("Число должно быть положительным")
Else
v1 = TextBox1.Text
End If
'
v2 = TextBox2.Value
'Проверка на положительное число
 
If TextBox1.Text <= 0 Then
MsgBox ("Число должно быть положительным")
Else
v2 = TextBox2.Text
End If
'
 
 
time = TextBox3.Value
If TextBox3.Text <= 0 Then
MsgBox ("Число должно быть положительным")
Else
time = TextBox3.Text
End If
'Расчет расстояния
pr1 = v1 * time
pr2 = v2 * time
If pr1 - pr2 > 0 Then
s = pr1 - pr2
 
'Визуализация необходимых элементов
TextBox4.Visible = True
TextBox4.Visible = True
TextBox4.Visible = True
Label1.Visible = True
Label2.Visible = True
Label3.Visible = True
Label4.Visible = True
'Визуализация элементов формы
TextBox4.Visible = True
Label5.Visible = True
TextBox4.Text = Str(s)
ElseIf pr1 - pr2 < 0 Then
s = pr2 - pr1
 
'Визуализация необходимых элементов
TextBox4.Visible = True
TextBox4.Visible = True
TextBox4.Visible = True
Label1.Visible = True
Label2.Visible = True
Label3.Visible = True
Label4.Visible = True
'Визуализация элементов формы
TextBox4.Visible = True
Label5.Visible = True
TextBox4.Text = Str(s)
End If
End Sub
 
Private Sub CommandButton2_Click()
Unload Me
End Sub
 
Private Sub TextBox1_Change()
TextBox4.Visible = False
Label5.Visible = False
End Sub
Только проверяет в самом конце значения и все равно считает значение...или ошибку выдает ...
А планировалось при вводе сразу писать ошибку ,чтобы сразу исправил пользователь ... т.к. если проверку в конце сделать,то ему придется значения заново вписывать,если даже некоторые были правильные.

Добавлено через 10 минут
Цитата Сообщение от Kulma Посмотреть сообщение
приведите весь код пожалуйста
Вот так вот реализовал.
Visual Basic
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
Private Sub CommandButton1_Click()
Dim v1, v2, time, s, pr1, pr2 As Integer
'Считывание коэффицентов из полей формы
v1 = TextBox1.Value
'Проверка на положительное число
If TextBox1.Text <= 0 Then
MsgBox ("Скорость 1 поезда должна быть положительная")
Else
v1 = TextBox1.Text
End If
'
v2 = TextBox2.Value
'Проверка на положительное число
 
If TextBox2.Text <= 0 Then
MsgBox ("Скорость 2 поезда должна быть положительная")
Else
v2 = TextBox2.Text
End If
'
time = TextBox3.Value
If TextBox3.Text <= 0 Then
MsgBox ("Время должно быть положительным")
Else
time = TextBox3.Text
End If
'Расчет расстояния
pr1 = v1 * time
pr2 = v2 * time
If pr1 - pr2 > 0 & pr1 > 0 & pr2 > 0 Then
s = pr1 - pr2
 
'Визуализация необходимых элементов
TextBox4.Visible = True
TextBox4.Visible = True
TextBox4.Visible = True
Label1.Visible = True
Label2.Visible = True
Label3.Visible = True
Label4.Visible = True
'Визуализация элементов формы
TextBox4.Visible = True
Label5.Visible = True
TextBox4.Text = Str(s)
 
ElseIf pr1 - pr2 < 0 & pr1 > 0 & pr2 > 0 Then
s = pr2 - pr1
 
'Визуализация необходимых элементов
TextBox4.Visible = True
TextBox4.Visible = True
TextBox4.Visible = True
Label1.Visible = True
Label2.Visible = True
Label3.Visible = True
Label4.Visible = True
'Визуализация элементов формы
TextBox4.Visible = True
Label5.Visible = True
TextBox4.Text = Str(s)
End If
End Sub
 
Private Sub CommandButton2_Click()
Unload Me
End Sub
 
Private Sub TextBox1_Change()
TextBox4.Visible = False
Label5.Visible = False
End Sub
0
1742 / 1671 / 167
Регистрация: 25.07.2015
Сообщений: 2,724
11.12.2016, 12:22
Тоже вариант ))
Хотя можно немного и модернизировать, у вас же по сути одна и та же проверка на все текстбоксы.
Вот посмотрите схожую тему,
12-й пост ваш случай . Его только немного допилить под присвоение значений переменным ))
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
11.12.2016, 21:03
Visual Basic
1
2
3
Private Sub Text1_KeyPress(KeyAscii As Integer)
KeyAscii = IIf(InStr(1, "0123456789", Chr(KeyAscii)) > 0, KeyAscii, 0)
End Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.12.2016, 21:03
Помогаю со студенческими работами здесь

Ввод в текстовое поле только числовых значений
Подскажите, пожалуйста, как прописать к элементу TextBox код, чтобы он выводил числовые значения, как положительные, так и отрицательные?...

Ввод в поле Edit только цифр (целых и вещественных)
Привет участникам форума! Меня интересует как при помощи события OnKeyPress в компонент TEdit можно было б вводить только цифры. На...

Нужно сделать ввод только положительных цифр и любых букв
Заменить нужно replace у input.value = input.value.replace(); так, что бы можно было писать только цифры и буквы без - и знаков №:!(;...

Ввод IP адреса в текстовое поле
Нужна ваша помощь. Нужно правильно и корректно вводить IP адрес в поле LineEdit Я знаю о масках ввода и регулярных выражениях, но если их...

Ввод данных в текстовое поле
Здравствуйте. Как можно ограничить ввод в поле текстового типа, чтобы случайно не вводить цифры? Например, в поле Фамилия или Должность....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru