Код:
|
var
CurrCont: TDateTime = 0;
Str: String;
procedure SumCont(Cont: String);
begin
if Length(Cont) > 8 then CurrCont := CurrCont + StrToDateTime(Copy(Cont, Length(Cont) - 7, 8)) + StrToFloat(Copy(Cont, 0, Length(Cont) - 9))
else CurrCont := CurrCont + StrToDateTime(Copy(Cont, Length(Cont) - 7, 8));
end;
function GetSumCont(): String;
begin
if CurrCont >= 1 then
begin
Str := DateTimeToStr(CurrCont);
Str := IntToStr(Trunc(CurrCont)) + 'сут. ' + Copy(Str, Length(Str) - 7, 8);
//Str := IntToStr(Trunc(CurrCont) * 24 + StrToInt(Copy(Str, Length(Str) - 7, 2))) + Copy(Str, Length(Str) - 5, 6);
end
else
begin
Str := DateTimeToStr(CurrCont);
Str := Copy(Str, Length(Str) - 7, 8);
end;
result := Str;
end; |
в процедуру SumCont передаем продолжительность, которую приплюсовываем к общей
функцией GetSumCont выводит суммарный итог продолжительности
------------------------------
• во вкладку код вставляете эти функции
• в мастердате вызываете первую функцию, в нее параметром передаете время для суммирования
в вашем случае как-то так [SumCont(<Dataset1."Trip_RegCont">)], ее можно засунуть в невидимую ячейку или в любую ячейку в мастердате
а затем в бенде с итогами, там где идет итог по времени вставить ячейку с текстом [GetSumCont()]