Показать сообщение отдельно
Старый 19.09.2011, 13:04    | »»» |  #31
SK
Администратор
 
Аватар для SK
 
Регистрация: 27.05.2010
Сообщений: 29,989
SK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud of
Отправить сообщение для SK с помощью Skype™
По умолчанию

Код:
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()]

ООО «ТехноКом», г. Челябинск
Самцов Константин Юрьевич - зам. директора по коммерческой деятельности
SK вне форума   Ответить с цитированием