Solved

Timer/Counter thread

Posted on 1998-03-10
7
200 Views
Last Modified: 2010-04-06
I'm trying to create a counter program that counts the time between the moment you press a start and a stop button (and updates it every second in a TLabel.Caption). Thus far i created a threaded label that updates the caption to the current time every second. I can't figure out how to put in the time difference (how do i send the starting time as a parameter). Does anybody have an idea how to solve this (or better: do you have an example program?)
0
Comment
Question by:scheiko
  • 3
  • 2
  • 2
7 Comments
 
LVL 8

Expert Comment

by:ZifNab
ID: 1360391
Yo scheiko,

????

// ----------------- GetSystemTime -------------------------------

var
  st : TSystemTime;
begin
  GetSystemTime( st );
  // or GetLocalTime( st );

  // now you can use the st structure to get time info.
end;

So. Call this in the beginning and you got your beginning time. Then do all the stuff you want to do with it. By the way you can also get the time with the function Now.

regards, Zif.
0
 
LVL 3

Expert Comment

by:Matvey
ID: 1360392
scheiko, maybe an enhanced threaded timer will do the job, uh?

freeware, but I can't remember where I found it, so post your email

My email: bosism@netvision.net.il

Good luck!
0
 

Author Comment

by:scheiko
ID: 1360393
Thanks guys, but...

The calculation of the time difference is not so much the problem. The real trouble is continuously updating the time difference. My application registrates the startingtime at the moment a button is pressed. The thread reads the current time (Now) and displays it (every second) in a TLabel.Caption. How do i pass the starting time to the (unit with the TLabel.Caption) timer. I'll place the source on ftp://scheiko.chem.ruu.nl user anonymous so you can see what i mean. It'll be there until tomorrow 12:00 pm GMT.

Thanks again!
Scheiko
0
Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

 
LVL 8

Expert Comment

by:ZifNab
ID: 1360394
Sorry, but seeing your code I still don't understand what you just need?

To pass a variable to a unit : there are several ways, one is making in the public declaration the following :

 StartTimeValue : TDateTime read fStartTimeValue write fStartTimeValue

 in the private section write : fStartTimeValue : TDateTime

Now when you want to read this value into a variable do this :

 Inside the unit : TimerStartedAt := fStartTimer
 Outside the unit : TimerStartedAt := Unit1.StartTimeValue

Now when you want to write a value to this variable do this :
 
 Inside the unit :  fStartTimer := Time
 OutSide the unit : Unit1.StartTimeValue := Time

If this isn't what you want please explain in another way.

Met vriendelijke groeten Zif.

0
 

Author Comment

by:scheiko
ID: 1360395
Dear Zifnab,

Thanks alot, i think you gave me the perfect hunch.

Ajuu,
Scheiko
0
 
LVL 8

Accepted Solution

by:
ZifNab earned 200 total points
ID: 1360396
Hi scheiko,

If your answer is answered lets remove this question from the list and grade it.
If you still need some advice, just give a comment.

Regards, Zif.
0
 
LVL 3

Expert Comment

by:Matvey
ID: 1360397
scheiko, if you still have problems then the timer I have is just what you need.

Post your email...
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
How to convert wav to mp3 in delphi 9 197
When I am typing into a TEdit last word repeats 7 128
How to debug For loops? 3 49
Delphi Yen format 3 33
A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question