Thread Solved

Join Date: Jan 2005
Posts: 3
Reputation: Frost is an unknown quantity at this point 
Solved Threads: 0
Frost Frost is offline Offline
Newbie Poster

Text Timer

 
0
  #1
Jan 22nd, 2005
Hi there, nice to meet you all.

I'm a beginner using visual basic only started to learn it about a months ago. I'm having serious trouble at the moment.

I need a program that as soon as it is opened it prints the time into 100ths or miliseconds of seconds, then run the proram and then print the time again just as it ends. (timer at the moment only shows the Time as HH:MMS, i want it to show HH:MMS:Miliseconds if possible)

For example i open the program and the display on the timer label is prined into Text1 then it runs my loop 10000 times then as soon as it finishes the loop i it to print the time on the timer into Text2.

The reason im doing this is i need to investigate speeds of processors in different machines and prove that the faster the processor the quicker it can complete this loop. Timing by had is just not accurate enough.

all i have so far is:

Private Sub Form_Load()
Text1.Caption = time
for x = 1 to 10000
Print "Frost"
next
Text2.Caption = time
Timer1.Interval = 1
Label1.Caption = ""
End Sub
Private Sub Timer1_Timer()
Label1.Caption = Time
End Sub

1) I cant get the timer to go into hundreths or miliseconds.
2) I cant get the form to print the time on the timer into Text1 When it loads up
3) I cant get my loop to work, i have no idea why haha.
4) I cant get the form to print the time on the timer into Text2 When the loops finished.

Thanks so much for any help you can give, im just totally bamboozled as to how i'm supposed to do this.

I cant get it to work and i have been trying for 2 hours +

thanks again

Frost

P.S I have tried to enclose a screenshot of my program not quite the same as the one above but gives you the idea.

http://img81.exs.cx/img81/8927/vb6rg.jpg
Reply With Quote Quick reply to this message  
Join Date: Dec 2004
Posts: 2,413
Reputation: Comatose is a jewel in the rough Comatose is a jewel in the rough Comatose is a jewel in the rough Comatose is a jewel in the rough 
Solved Threads: 211
Team Colleague
Comatose's Avatar
Comatose Comatose is offline Offline
Taboo Programmer

Re: Text Timer

 
0
  #2
Jan 22nd, 2005
Visual Basic 4 / 5 / 6 Syntax (Toggle Plain Text)
  1. Private Sub Form_Load()
  2. Text1.text = time
  3.  
  4. for x = 1 to 10000
  5. Print "Frost"
  6. next
  7.  
  8. Text2.text = time
  9. Timer1.Interval = 1
  10. Label1.Caption = ""
  11. End Sub
  12.  
  13. Private Sub Timer1_Timer()
  14. Label1.Caption = Time
  15. End Sub
Reply With Quote Quick reply to this message  
Join Date: Jan 2005
Posts: 3
Reputation: Frost is an unknown quantity at this point 
Solved Threads: 0
Frost Frost is offline Offline
Newbie Poster

Re: Text Timer

 
0
  #3
Jan 22nd, 2005
cheers m8, that really has helped so much. so helpful this forum!!!

Frost
Reply With Quote Quick reply to this message  
Join Date: Dec 2004
Posts: 2,413
Reputation: Comatose is a jewel in the rough Comatose is a jewel in the rough Comatose is a jewel in the rough Comatose is a jewel in the rough 
Solved Threads: 211
Team Colleague
Comatose's Avatar
Comatose Comatose is offline Offline
Taboo Programmer

Re: Text Timer

 
0
  #4
Jan 22nd, 2005
Alright, I've Got It:

You Need To Add A Plain Ole Standard Module (It's A Good Practice), inside of the module add this:

Module Code:
Visual Basic 4 / 5 / 6 Syntax (Toggle Plain Text)
  1. Public Declare Sub GetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)
  2. Public Declare Function SetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMTIME) As Long
  3.  
  4. Public Type SYSTEMTIME
  5. wYear As Integer
  6. wMonth As Integer
  7. wDayOfWeek As Integer
  8. wDay As Integer
  9. wHour As Integer
  10. wMinute As Integer
  11. wSecond As Integer
  12. wMilliseconds As Integer
  13. End Type

In your form load event, You'll need this code:

Form Load Code
Visual Basic 4 / 5 / 6 Syntax (Toggle Plain Text)
  1. Dim GMTime As SYSTEMTIME
  2. Dim TheTime As String
  3. GetSystemTime GMTime
  4.  
  5. Text1.Text = GMTime.wHour & ":" & GMTime.wMinute & ":" & GMTime.wSecond & "." & GMTime.wMilliseconds
  6.  
  7. For x = 1 To 10000
  8. Print "Frost"
  9. Next
  10.  
  11. GetSystemTime GMTime
  12.  
  13. Text2.Text = GMTime.wHour & ":" & GMTime.wMinute & ":" & GMTime.wSecond & "." & GMTime.wMilliseconds
  14. Timer1.Interval = 1
  15. Label1.Caption = ""

And Lastly in your timer event:

Timer Event Code:
Visual Basic 4 / 5 / 6 Syntax (Toggle Plain Text)
  1. Dim GMTime As SYSTEMTIME
  2. Dim TheTime As String
  3. GetSystemTime GMTime
  4.  
  5. Label1.Caption = GMTime.wHour & ":" & GMTime.wMinute & ":" & GMTime.wSecond & "." & GMTime.wMilliseconds

So Far, This works flawlessly for me. Let me know how it works for you.... if you need an additional help, let me know.
Reply With Quote Quick reply to this message  
Join Date: Jan 2005
Posts: 3
Reputation: Frost is an unknown quantity at this point 
Solved Threads: 0
Frost Frost is offline Offline
Newbie Poster

Re: Text Timer

 
0
  #5
Jan 27th, 2005
Originally Posted by Comatose
Alright, I've Got It:

You Need To Add A Plain Ole Standard Module (It's A Good Practice), inside of the module add this:

Module Code:
Visual Basic 4 / 5 / 6 Syntax (Toggle Plain Text)
  1. Public Declare Sub GetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)
  2. Public Declare Function SetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMTIME) As Long
  3.  
  4. Public Type SYSTEMTIME
  5. wYear As Integer
  6. wMonth As Integer
  7. wDayOfWeek As Integer
  8. wDay As Integer
  9. wHour As Integer
  10. wMinute As Integer
  11. wSecond As Integer
  12. wMilliseconds As Integer
  13. End Type

In your form load event, You'll need this code:

Form Load Code
Visual Basic 4 / 5 / 6 Syntax (Toggle Plain Text)
  1. Dim GMTime As SYSTEMTIME
  2. Dim TheTime As String
  3. GetSystemTime GMTime
  4.  
  5. Text1.Text = GMTime.wHour & ":" & GMTime.wMinute & ":" & GMTime.wSecond & "." & GMTime.wMilliseconds
  6.  
  7. For x = 1 To 10000
  8. Print "Frost"
  9. Next
  10.  
  11. GetSystemTime GMTime
  12.  
  13. Text2.Text = GMTime.wHour & ":" & GMTime.wMinute & ":" & GMTime.wSecond & "." & GMTime.wMilliseconds
  14. Timer1.Interval = 1
  15. Label1.Caption = ""

And Lastly in your timer event:

Timer Event Code:
Visual Basic 4 / 5 / 6 Syntax (Toggle Plain Text)
  1. Dim GMTime As SYSTEMTIME
  2. Dim TheTime As String
  3. GetSystemTime GMTime
  4.  
  5. Label1.Caption = GMTime.wHour & ":" & GMTime.wMinute & ":" & GMTime.wSecond & "." & GMTime.wMilliseconds

So Far, This works flawlessly for me. Let me know how it works for you.... if you need an additional help, let me know.

wow!!! i cant thank you enough that is absolutely perfect!!! well done! Sorry its a little bit late, was away for a couple of days.

(a happy)Frost
Reply With Quote Quick reply to this message  
Join Date: Dec 2004
Posts: 2,413
Reputation: Comatose is a jewel in the rough Comatose is a jewel in the rough Comatose is a jewel in the rough Comatose is a jewel in the rough 
Solved Threads: 211
Team Colleague
Comatose's Avatar
Comatose Comatose is offline Offline
Taboo Programmer

Re: Text Timer

 
0
  #6
Jan 27th, 2005
Originally Posted by Frost
wow!!! i cant thank you enough that is absolutely perfect!!! well done! Sorry its a little bit late, was away for a couple of days.

(a happy)Frost
My Pleasure. If you need any other assistance, just let me know.
Reply With Quote Quick reply to this message  
Join Date: Dec 2004
Posts: 207
Reputation: Real-tiner is an unknown quantity at this point 
Solved Threads: 8
Real-tiner Real-tiner is offline Offline
Posting Whiz in Training

Re: Text Timer

 
0
  #7
Feb 1st, 2005
Be aware that the time is updated in Windows once every eighteenth of a second. Unless your compiler has a way to access the hardware real time clock outside the Windows I/O period, 1/18 s will be the limit of your resolution.

Windows was designed for business, not science.
Reply With Quote Quick reply to this message  
Join Date: Dec 2004
Posts: 2,413
Reputation: Comatose is a jewel in the rough Comatose is a jewel in the rough Comatose is a jewel in the rough Comatose is a jewel in the rough 
Solved Threads: 211
Team Colleague
Comatose's Avatar
Comatose Comatose is offline Offline
Taboo Programmer

Re: Text Timer

 
0
  #8
Feb 1st, 2005
I didn't Know that. I appreciate that knowledge, since 1/18th isn't as reliable of a system to the millisecond. May I ask where you found this information?
Reply With Quote Quick reply to this message  
Join Date: Dec 2004
Posts: 207
Reputation: Real-tiner is an unknown quantity at this point 
Solved Threads: 8
Real-tiner Real-tiner is offline Offline
Posting Whiz in Training

Re: Text Timer

 
0
  #9
Dec 9th, 2005
Originally Posted by Comatose
I didn't Know that. I appreciate that knowledge, since 1/18th isn't as reliable of a system to the millisecond. May I ask where you found this information?
The hard way - by trying to control real-time processes.

1/18 second = 55 ms = the length of a Windows jiffy (timeslice). The hardware interrupts the Intel-type computer every 55 ms to switch processes in multiprocessing operating systems such as Windows.

All I/O is done at the beginning of each timeslice when Windows does its mousekeeping. Any I/O request by a program has to wait for the next jiffy.
Reply With Quote Quick reply to this message  
Join Date: Feb 2007
Posts: 28
Reputation: mjwest10 is an unknown quantity at this point 
Solved Threads: 3
mjwest10 mjwest10 is offline Offline
Light Poster

Re: Text Timer

 
0
  #10
Mar 6th, 2007
This proved to be very helpful - thanks!
Reply With Quote Quick reply to this message  
Reply

This thread has been marked solved.
Perhaps start a new thread instead?
Message:



Similar Threads
Other Threads in the Visual Basic 4 / 5 / 6 Forum
Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC