Показать сообщение отдельно
  #2  
Старый 04.09.2018, 17:29
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Здесь нужно сначало все "времена" перевести в минуты, сложить их, а затем вернуть обратно в поле ввода текстом, вот пример
Код:
var
 hr: integer = 0;
 mn: integer = 0;
 ed: integer = 2;

function tm(ds: string): integer; // ds = "03:12" > tm = (3*60)+12 = 192
begin
 tm:= (StrToInt(ds[1] + ds[2]) * 60) + StrToInt(ds[4] + ds[5]);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 if mn > 59 then
  begin
   mn:= 0;
   Inc(hr);
  end;
 if hr > 23 then hr:= 0;
 Edit1.Text:= Format('%.2d:%.2d',[hr, mn]); // .Text = "00:00".."23:59"
 Inc(mn);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 i, m: integer;
begin
 (FindComponent('Edit' + IntToStr(ed)) as TEdit).Text:= Edit1.Text;
 inc(ed);
 if ed > 7 then ed:= 2;
 m:= 0;
 for i:= 2 to 7 do Inc(m,tm((FindComponent('Edit'+IntToStr(i)) as TEdit).Text));
 Edit8.Text:= Format('%.2d:%.2d',[m div 60,m mod 60]);//192div60=3;..mod..=12 > "03:12"
end;
Вложения
Тип файла: zip Baevj.zip (2.2 Кбайт, 3 просмотров)
Ответить с цитированием