Results 1 to 4 of 4

Thread: Date Time Picker

  1. #1

    Thread Starter
    New Member
    Join Date
    Apr 2003
    Location
    Tacoma, WA
    Posts
    13

    Date Time Picker

    I'm new the dateTime picker and was wondering if someone can tell me why this output keeps producing a 0 weekdays and 0 weekends? Thanks!
    VB Code:
    1. Dim mNumWeekdays As Integer
    2.     Dim mNumWeekends As Integer
    3.     Dim mArrDate As Date
    4.     Dim mDepDate As Date
    5.  
    6.     Public Function CalcWeekdays() As Integer
    7.         mArrDate = Me.dtpArrive.Value
    8.         mDepDate = Me.dtpDepart.Value
    9.         Do While mArrDate <= mDepDate
    10.             If mArrDate.DayOfWeek = DayOfWeek.Sunday Or mArrDate.DayOfWeek = DayOfWeek.Monday Or mArrDate.DayOfWeek = DayOfWeek.Tuesday Or mArrDate.DayOfWeek = DayOfWeek.Wednesday Or mArrDate.DayOfWeek = DayOfWeek.Thursday Then
    11.                 mNumWeekdays += 1
    12.             End If
    13.         Loop
    14.         Return mNumWeekdays
    15.     End Function
    16.  
    17.     Public Function CalcWeekends() As Integer
    18.         mArrDate = Me.dtpArrive.Value
    19.         mDepDate = Me.dtpDepart.Value
    20.         Do While mArrDate <= mDepDate
    21.             If mArrDate.DayOfWeek = DayOfWeek.Friday Or mArrDate.DayOfWeek = DayOfWeek.Saturday Then
    22.                 mNumWeekends += 1
    23.             End If
    24.         Loop
    25.         Return mNumWeekends
    26.     End Function
    27.  
    28.     Private Sub btnCalc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalc.Click
    29.  
    30.         lblDisplay.Text = ("Number of weekdays " & mNumWeekdays & "." & " Number of weekends " & mNumWeekends & ".")
    31.     End Sub

  2. #2
    Frenzied Member Mike Hildner's Avatar
    Join Date
    Jul 2002
    Location
    Des Moines, NM
    Posts
    1,690
    A quick look at your code - are you ever calling your functions? I think in the button code you could do

    VB Code:
    1. lblDisplay.Text = ("Number of weekdays " & CalcWeekDays() & "." & " Number of weekends " & CalsWeekEnds & ".")

    or

    VB Code:
    1. mNumWeekdays = CalcWeekdays()
    2. mNumWeekends = CalcWeekends()
    3.  
    4. lblDisplay.Text = ("Number of weekdays " & mNumWeekdays & "." & " Number of weekends " & mNumWeekends & ".")

  3. #3
    Lively Member ayan's Avatar
    Join Date
    Jan 2004
    Posts
    112
    halu,

    i think the code above hangs up. it some sort of an infinite loop. it doesn't add a single day to mArrDate. i could have post but i didn't got the function to add a single day to a datetimepicker.value... sorry...

    anyone???

    --ayan

  4. #4
    Frenzied Member Mike Hildner's Avatar
    Join Date
    Jul 2002
    Location
    Des Moines, NM
    Posts
    1,690
    Yep, you're right - at first look I didn't really inspect your code. This is a problem:

    VB Code:
    1. mArrDate = Me.dtpArrive.Value
    2.         mDepDate = Me.dtpDepart.Value
    3.         Do While mArrDate <= mDepDate
    4.             If mArrDate.DayOfWeek = DayOfWeek.Sunday Or mArrDate.DayOfWeek = DayOfWeek.Monday Or mArrDate.DayOfWeek = DayOfWeek.Tuesday Or mArrDate.DayOfWeek = DayOfWeek.Wednesday Or mArrDate.DayOfWeek = DayOfWeek.Thursday Then
    5.                 mNumWeekdays += 1
    6.             End If
    7.         Loop

    If mArrDate is today and mDepDate is a week from today, your Do...While loop will never end.

    You're probably going to need to rethink and recode.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width