Здесь нужно сначало все "времена" перевести в минуты, сложить их, а затем вернуть обратно в поле ввода текстом, вот пример
Код:
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;