Показать сообщение отдельно
  #8  
Старый 22.06.2017, 11:58
Daniil Daniil вне форума
Прохожий
 
Регистрация: 02.04.2014
Сообщения: 22
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Дополнение:

Цитата:
Сообщение от Alegun
Можно и чисто по-ламерски, последовательным преобразованием
Код:
function itm(ds: string): string;
var
 hour, min, sec: integer;
begin
 hour:= StrToInt(ds[1] + ds[2]);
 min:=  StrToInt(ds[4] + ds[5]);
 sec:=  StrToInt(ds[7] + ds[8]) + 1;
 if sec > 59 then
  begin
   sec:= 0;
   Inc(min);
  end;
 if min > 59 then
  begin
   min:= 0;
   Inc(hour);
  end;
 if hour > 23 then hour:= 0;
 Result:= FormatDateTime('hh:mm:ss', EncodeTime(hour, min, sec, 0));
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 Edit1.Text:= itm(Edit1.Text);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Edit1.Text:= '00:00:00';
 Timer1.Interval:=  1000;
 Timer1.Enabled:=   true;
end;

З.Ы. Читал топик по-диагонали, не учёл сути вопроса, если через TimeToStr, то тогда можно так
Код:
var
 tm: TDateTime;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
 tm:= tm + 1/(24*3600);
 Edit1.Text:= TimeToStr(tm);
 end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Edit1.Text:= '0:00:00';
 tm:= StrToTime(Edit1.Text);
 Timer1.Interval:= 1000;
 Timer1.Enabled:=  true;
end;
Похоже получилось, добавил переменную, которую вывел в нужный edit.
Ответить с цитированием