Я участвую в онлайн-обучении VB.NET. У меня есть проект, над которым я работаю, и мне нужна была помощь.Использование массивов для проверки числовых входов
Мы изучаем Массивы, и я немного борюсь. Мне нужно создать верификатор булавки, используя массив, который будет проверять диапазоны чисел для каждого входа.
Приложение будет иметь 7 текстовых полей. txtBox1 должен находиться в диапазоне 7-9, txtBox2 должен находиться в диапазоне 5-7, txtBox3 в диапазоне 0-4, txtBox4 в диапазоне 0-9, txtBox5 в диапазоне 6-9, txtBox 6 в диапазоне 3-6 и txtBox7 в диапазон 4-8.
Когда нажата кнопка «Проверить», массив должен проверить, что каждый вход находится в указанном диапазоне, а затем отображает сообщение, если контакт хорош или нет.
У меня есть код, но я не могу проверить плохие входы. Мне нужно проверить, что ввод является числовым и что он находится в пределах диапазона. Если вход плохой, мне нужно текстовое поле, чтобы выделить желтый и этот фокус усиления поля. Я пробовал много вариантов IsNumeric, и я не могу получить текстовое поле, чтобы получить фокус или выделить.
Я надеюсь, что кто-то может дать ясное объяснение того, как работает код, чтобы я мог продолжать делать это самостоятельно и полностью понять, что я делаю. Любая помощь для этого будущего программиста была бы оценена.
Option Strict On
Public Class frmPinVerifier
Dim blnOk As Boolean = False
Private Sub btnVerify_Click(sender As Object, e As EventArgs) Handles btnVerify.Click
'Arrays
Dim intMinimum() As Integer = {7, 5, 0, 0, 6, 3, 4}
Dim intMaximum() As Integer = {9, 7, 4, 9, 9, 6, 8}
Dim strArrayMessage() As String = {"Must be in range of 7 through 9", "Must be in range of 5 through 7", "Must be in range of 0 through 4", "Must be in range of 0 through 9", "Must be in range of 6 through 9", "Must be in range of 3 through 6", "Must be in range of 4 through 8"}
Dim intTextBox() As Integer = {CInt(txtBox1.Text), CInt(txtBox2.Text), CInt(txtBox3.Text), CInt(txtBox4.Text), CInt(txtBox5.Text), CInt(txtBox6.Text), CInt(txtBox7.Text)}
'Start Count
Dim intCount As Integer = 0
For intCount = 0 To intMinimum.Length - 1 And intMaximum.Length - 1
If intTextBox(intCount) >= intMinimum(intCount) And intTextBox(intCount) <= intMaximum(intCount) Then
blnOk = True
Else
MessageBox.Show(strArrayMessage(intCount))
End If
Next
If blnOk = True Then
MessageBox.Show("PIN Verified")
txtBox1.Clear()
txtBox2.Clear()
txtBox3.Clear()
txtBox4.Clear()
txtBox5.Clear()
txtBox6.Clear()
txtBox7.Clear()
End If
Я должен был отметить. Я должен иметь возможность использовать массивы intMinimum и intMaximum. IntMinimum должен содержать минимальное значение для каждой позиции цифры и то же самое для intMaximum. –
SO работает наоборот - * вы * напишите код, пытаясь сделать то, что вам нужно сделать. когда вы застряли, отправьте вопрос с кодом, иллюстрирующим вашу проблему. как вы просите учебник, и мы этого не делаем. вы узнаете больше, сделав это самостоятельно – Plutonix
Я не прошу учебника. Я прошу совета относительно того, как начать работу. Как я сказал, ясное объяснение того, как код работает не в коде. Если вы не можете помочь, это нормально. –