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!
Check out
http://www.planetsourcecode.com/vb/...triesPerPage=10&blnResetAllVariables =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.
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.
lol glad i could be of service
.
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
woudlnt it be more practicle to use a dll and have it save a date/time to count down to?
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
see thats why i love him lol
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!
ms certifide 'eh? so you crash a lot?
heh my cusin wrote the Server 2 course book, beat that
'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
/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
Thanks Everyone, you've been a great help.