У меня есть код, где я пытаюсь использовать переменные на вкладке.Первая вкладка имеет только одно текстовое поле для ввода пользователя (miles.text) и кнопку для расчета: время в пути = пробег / скорость.Значение из miles.text сохраняется в переменной с именем m miles, а используемая скорость сохраняется в переменной с именем speed (me.speedtextbox.text).
Обычно выполнение val (variable.text) работает как талисман, и в этом случае это не так.Когда пользователь вводит 100 для пробега, он должен быть разделен на 65 (число в базе данных) и, следовательно, ответ должен быть 1,53 часа.В моем случае я получаю «бесконечность», и всякий раз, когда я делаю что-то еще с переменной, я получаю «при приведении числа, значение должно быть числом меньше бесконечности».Но это!Сейчас только 65, и я дважды проверил, что набор данных тоже сказал, что делает.Не знаю, почему я получаю эту ошибку ... спасибо!
Public Class Form1
Private Property Traveltime As Decimal
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'fooDataSet.testdata' table. You can move, or remove it, as needed.
Me.TestdataTableAdapter.Fill(Me.foouDataSet.testdata)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim mileage As Integer
Dim speed As Integer
mileage = Val(miles.Text)
speed = Val(Me.SpeedTextBox.Text)
traveltime = mileage / speed
txttraveltime.text = Traveltime.ToString
End Sub
Private Sub txtrate_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txttraveltime.TextChanged
End Sub
End Class
Итак, я сделал тестовую программу, в которой она выполняла только одно: просто считывать один столбец данных в одной строке базы данных исохраните его в локальной переменной и умножьте на 1.60, за исключением того, что теперь я получаю «ссылка на элемент без общего доступа требует ссылки на объект», и он, похоже, не распознает Me.Speed, когда я его объявляю.Что я делаю неправильно?
Public Class Form1
Dim Speed As Object
Dim Me.Speed As New Speed
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Speed = CDec(fooDataSet.testdataRow.Item("speed"))*1.60
Speedtextbox.text = Me.Speed.tostring
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'fooDataSet.testdata' table. You can move, or remove it, as needed.
Me.TestdataTableAdapter.Fill(Me.fooDataSet.testdata)
End Sub
End Class