Solved

# Integer into timer?

Posted on 1998-08-30
Medium Priority
237 Views
What is the best/easiest way to convert an integer to a timer format 00:00:00? The integer is increased every second. All I need is a simple timer that I can display in a label.

Thanks
0
Question by:LostOne
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 4
• 2

LVL 10

Expert Comment

ID: 1338168

Have a timer and set the Interval to 1000 milisecs..then enter this code in the OnTimer()

Label1.Caption := TimeToStr(Time);

Is this what you need?? I mean is it the time or date that you want to show??
0

Author Comment

ID: 1338169
I want to show a timer that starts at 00:00:01 and increases every second.
0

LVL 10

Accepted Solution

viktornet earned 200 total points
ID: 1338170
Set the timers interval to 1000 then enter this code...
var
I : integer;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Inc(i);
if i > 9 then
Label1.Caption := '00:00:' + IntToStr(i)
else
Label1.Caption := '00:00:0' + IntToStr(i);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
I := 0;
end;

Regards,
Viktor Ivanov
0

Author Comment

ID: 1338171
that would work from 0 to 60 seconds but not after that.
59 sec would be 00:00:59
1 min would be 00:01:00
1 hour would be 01:00:00

the format i'm looking for is [hour]:[min]:[sec]
0

LVL 10

Expert Comment

ID: 1338172
Wait ....this one is better without using integers, but real DateTime type..

var
StartTime : TDateTime;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption := FormatDateTime('hh:nn:ss', Time - StartTime);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
StartTime := Time;
end;

Hope this is what you're looking for ;-)

Regards,
Viktor Ivanov
0

LVL 10

Expert Comment

ID: 1338173
Actually you can do it with integers the way you wanted, but you need to play a little with the if then conditions....
var
h, m, s : Byte;
begin
Inc(s);
if s > 9 then
Label1.Caption := '00:00:' + IntToStr(s)
else if s > 60 then
begin
Inc(m);
if m > 9 then
Label1.Caption := '00:'+IntToStr(m) +':'+IntToStr(i)
else
Label1.Caption := '00:0'+IntToStr(m) +':'+IntToStr(i);
end
else
Label1.Caption := '00:00:0' + IntToStr(s);
end;

and so on...you got the idea...

Regards,
Viktor Ivanov
0

## Featured Post

Question has a verified solution.

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

In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, thâ€¦
Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have toâ€¦
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: â€¦
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increasedâ€¦
###### Suggested Courses
Course of the Month15 days, 2 hours left to enroll