Я работаю над проектом, который отображает текст на мониторе как ссылку, но сталкивается с некоторыми проблемами с логикой. Кто-то нажимает кнопку, которая запрашивает InputBox
, в которую они вставляют штрих-код со сканером.Если третий символ Not IsNumeric
У меня есть 2 типа номеров деталей, один такой «11n11110mch», что-то вроде этого «12311110mch». Мне нужен код, который проверяет, является ли третий символ числом. Конечной целью является отображение номера как «11. (некоторая буква) 111.10 MCH» и «123.111.10 MCH» в TextBox
. Если я попробую «11n22210mch», я получаю сообщение об ошибке
Неверное преобразование из строки «n» в тип «Двойной».
на
thirdChara = Mid$(VisPartID, 3, 1)
Я не уверен, как это исправить или сделать то, что я пытаюсь сделать.
код у меня есть:
Public Sub btnScan_Click(sender As Object, e As EventArgs) Handles btnScan.Click
Dim ScanIDRaw As Object
'Clear Scan Value
ScanIDRaw = Nothing
'Display message, title, And default value.
ScanIDRaw = InputBox("Scan CDI", "InputBox")
Do Until ScanIDRaw IsNot ""
ScanIDRaw = InputBox("Part Number Needed, Scan CDI", "InputBox")
Loop
lblCDIPart.Text = ScanIDRaw
HUD.ReferenceCardDataPull()
End Sub
Public Async Sub ReferenceCardDataPull()
Dim PartID As String
Dim VisPartID As String
Dim thirdChara As String
'Other Code
'Something
'Something
VisPartID = Main.lblCDIPart.Text
thirdChara = Mid$(VisPartID, 3, 1)
If thirdChara = Not IsNumeric(thirdChara) Then
VisPartID = VisPartID.Insert(2, ".")
VisPartID = VisPartID.Insert(7, ".")
VisPartID = VisPartID.Insert(10, " ")
VisPartID = VisPartID.ToUpper
lblPart.Text = VisPartID
Else
VisPartID = VisPartID.Insert(3, ".")
VisPartID = VisPartID.Insert(8, ".")
VisPartID = VisPartID.Insert(11, " ")
VisPartID = VisPartID.ToUpper
lblPart.Text = VisPartID
End If
End Sub
Как вы исправили заявление If? потому что это звучит так, как будто вы оставили его так же, как и раньше, вместо того, чтобы устанавливать его с помощью TryParse или, по крайней мере, исправлять его до первой строки моего ответа. –
Получил! Спасибо. Я Im new для vb.net и используется для vba, синтаксис убивает меня в этом проекте. Можете ли вы объяснить всю вещь 'SubString (2,1)? что означает 2 и 1? – holi4683
Если вы нажмете на него и нажмете F1, он откроет страницу MSDN, на которой будет все. Но это в основном так же, как функция Mid $, за исключением того, что первый индекс равен 0, а не 1. Итак, вы говорите, что подстрока VisPartID начинается со второго индекса (3-я позиция строки) и принимает 1 символ. –