VB countdown timer

Posted by: Geek_Goddess_IISis

VB countdown timer - 03/06/02 09:53 AM

OK, just wondering if someone had a snippit of vb code to do a countdown timer, to go from the current date, to a set date, that will display the number of Days, Hours, Minutes, and Seconds till the target date. I've just started playing with VB and would appreciate some guidance just for this issue. I'm sure in the future I'll be better able to sort these things when I am more familiar with VB's attitude and thought process.

Many thanks!
Posted by: Gremelin

Re: VB countdown timer - 03/06/02 09:58 AM

Check out http://www.planetsourcecode.com/vb/scrip...setAllVariables =TRUE&txtCriteria=countdown&optSort=Alphabetical

it'll have a grip of results, we use them at times to look through and view how diff things are done.
Posted by: Geek_Goddess_IISis

Re: VB countdown timer - 03/06/02 10:05 AM

Many Thanks! Gismo, I saw a couple things that look like they will do the trick. Will let you know what my code diving adventures surface tonight.

Posted by: Gremelin

Re: VB countdown timer - 03/06/02 10:08 AM

lol glad i could be of service :).
Posted by: Geek_Goddess_IISis

Re: VB countdown timer - 03/06/02 04:37 PM

I got it figured out, fyi :

Private Sub Timer1_Timer()
Dim MyDate, MyTime, MyHour, MyMinute, MySec
Dim TgtDate, TgtTime, TgtHour, TgtMinute, TgtSec

'Change TgtDate to whatever date you want to count down to.
TgtDate = #8/17/2002#
TgtHour = 24
TgtMinute = 60
TgtSec = 60

MyDate = DateDiff("d", Now() + 1, TgtDate)
MyHour = TgtHour - Format(Now(), "hh")
MyHour = Format(MyHour, "0#")
MyMinute = TgtMinute - Format(Now(), "nn")
MyMinute = Format(MyMinute, "0#")
MySec = TgtSec - Format(Now(), "ss")
MySec = Format(MySec, "0#")
label1 = MyDate & " Days " & MyHour & ":" & MyMinute & ":" & MySec
End Sub
Posted by: Gremelin

Re: VB countdown timer - 03/06/02 04:50 PM

woudlnt it be more practicle to use a dll and have it save a date/time to count down to?
Posted by: SilentRage

Re: VB countdown timer - 03/06/02 04:54 PM

I'm really big on efficiency and accuracy, so here's my anal response. Your code is 1 hour and 1 minute off. To see for yourself, set the TgtDate to the next day and do a little math. Here's your corrected and much more efficient code:

Private Sub Timer1_Timer()
Dim TgtDate As Date

'Change TgtDate to whatever date you want to count down to.
TgtDate = #3/7/2002#

Label1 = DateDiff("d", Now() + 1, TgtDate) & " Days " & Format(TgtDate - Now(), "hh:nn:ss")
End Sub
Posted by: Gremelin

Re: VB countdown timer - 03/06/02 05:05 PM

see thats why i love him lol
Posted by: Geek_Goddess_IISis

Re: VB countdown timer - 03/06/02 05:57 PM

I stand corrected, then.
Thank you very much.
Bear with me as I just started VB 3 days ago. :| I'm sure I'll have more "issues"

(just call me M$ Certified. Failure is not an option, it comes bundled with the software.)

Anywho.. onto more learning!
Posted by: Gremelin

Re: VB countdown timer - 03/07/02 05:24 AM

ms certifide 'eh? so you crash a lot?


heh my cusin wrote the Server 2 course book, beat that
Posted by: ninjaneo

Re: VB countdown timer - 03/07/02 05:43 PM

'An improvment to sr's code.

TgtDate = #3/7/2002 6:35:00 PM#
Label1 = DateDiff("d", Now(), TgtDate) & " day(s) " & Format(TgtDate - Now(), "hh:nn:ss")
If GetPiece(Label1.Caption, " ", 1) = "0" Then
If Now() > Date & " " & Time Then
Exit Sub
End If
End If
Label1.Caption = Replace(Label1.Caption, "-", "Occured ") & " ago."

'Another function is used... here it is...

Function GetPiece(From As String, delim As String, index) As String
Dim temp$
Dim Count
Dim Where
'
temp$ = From & delim
Where = InStr(temp$, delim)
Count = 0
Do While (Where > 0)
Count = Count + 1
If (Count = index) Then
GetPiece = Left$(temp$, Where - 1)
Exit Function
End If
temp$ = Right$(temp$, Len(temp$) - Where)
Where = InStr(temp$, delim)
DoEvents
Loop
If (Count = 0) Then
GetPiece = From
Else
GetPiece = ""
End If
End Function

Im not sure if it is accurate or not. Brief testing proves it to be correct but I dont know you guys can check that out
Posted by: SilentRage

Re: VB countdown timer - 03/07/02 06:02 PM

/me points to neo's code

He's a commendable programmer, but HIS stuff IS along Microsoft quality.

Here's a minor fix. The days count was the only piece of the original code that I didn't modify - cause I thought it worked. But it didn't when I tested adding a time. So here's the fixed code:

Private Sub Timer1_Timer()
Dim TgtDate As Date

'Change TgtDate to whatever date you want to count down to.
TgtDate = #3/8/2002 12:00:00 PM#

Label1 = DateDiff("d", Now(), TgtDate) - 1 & " Days " & Format(TgtDate - Now(), "hh:nn:ss")
End Sub
Posted by: Geek_Goddess_IISis

Re: VB countdown timer - 03/08/02 06:28 AM

Thanks Everyone, you've been a great help.