2013-05-05 6 views
0

Я довольно новичок в кодировании и визуальной базовой. Сегодня мне было поручено завершить программу, с которой у меня проблемы. Мне нужно разработать приложение, которое позволяет пользователю вводить встречу и время, в течение которого она должна конкурировать, однако мне нужно выполнить проверку ошибок, чтобы убедиться, что два раза не совпадают, вот где я столкнулся с проблемами , Я не уверен, как я могу сравнить datetimepicker.value с текстом listbox. Я получаю конверсию от string "", чтобы напечатать Date. Любая помощь высоко ценится!Сравнение datetimepicker со строкой

Public Class Form1 

    Function TimeTaken() As Boolean 
     Dim app As String = TextBox1.Text 
     Dim timeofapp As String = DateTimePicker1.Value.ToShortTimeString 


     If CDate(ListBox2.Text) = CDate(DateTimePicker1.Value) Then 
      MsgBox("Two appointments are scheduled within the same time frame.",    MsgBoxStyle.Exclamation) 
      TimeTaken = True 
     Else 
      TimeTaken = False 
      ListBox1.Items.Add(app) 
      ListBox2.Items.Add(timeofapp) 
      TextBox1.Text = "" 
     End If 

    End Function 


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
     TimeTaken() 
    End Sub 
End Class 

ответ

0

«Я не уверен, как я могу сравнить datetimepicker.value с текстом ListBox»

Вам необходимо перебрать все значения, сохраненные в ListBox.Items() собственности:

Function TimeTaken() As Boolean 
    Dim AlreadyTaken As Boolean = False ' assume not taken until proven otherwise below 

    Dim app As String = TextBox1.Text 
    Dim timeofapp As String = DateTimePicker1.Value.ToShortTimeString 

    For Each time As String In ListBox2.Items 
     If time = timeofapp Then 
      MsgBox("Two appointments are scheduled within the same time frame.", MsgBoxStyle.Exclamation) 
      AlreadyTaken = True 
      Exit For 
     End If 
    Next 

    If Not AlreadyTaken Then 
     ListBox1.Items.Add(app) 
     ListBox2.Items.Add(timeofapp) 
     TextBox1.Text = "" 
    End If 

    Return AlreadyTaken 
End Function 
+0

Спасибо, сэр! –

+0

Awesome. Если этот код решит вашу проблему, не стесняйтесь нажимать галочку, чтобы изменить этот ответ на «принятый». –

Смежные вопросы