Показать сообщение отдельно
Старый 17.01.2012, 10:48    | »»» |  #70
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™
По умолчанию

Александр 52 регион, понятно что происходит.
У вас одна из переменных I1_S_TIME или I1_E_TIME отсутствует - содержит пустое значение. Или обе сразу. Соответственно, возникает ошибка конвертации типа.

Можно модифицировать немного код функции, чтоб в случае ошибки, он выдавал в отчет N/A.
Проверьте, пожалуйста. И отпишитесь здесь.

Код:
function TimeMinus(TimeBegin: String; TimeEnd: String): String;
var      
  TEnd: TDateTime = 0;
  TBegin: TDateTime = 0;
  TRes: TDateTime = 0;
  TResStr: String;
begin
       try
               TBegin := StrToDateTime(TimeBegin);
               TEnd   := StrToDateTime(TimeEnd);
           TRes := TEnd - TBegin;
           if TRes >= 1 then
              begin
                 TResStr := DateTimeToStr(TRes);
                 TResStr := IntToStr(Trunc(TRes)) + ' сут. ' + Copy(TResStr, Length(TResStr) - 7, 8);
              end
           else
              begin
                 TResStr := DateTimeToStr(TRes);
                 TResStr := Copy(TResStr, Length(TResStr) - 7, 8);
              end;
           result := TResStr;
        except
           result := 'N/A';
        end;          
end;
Для индикации и проверки, сделайте еще одну ячейку с содержимым, выводящем эти переменные переменные (если хотите):
[Dataset1."I1_S_TIME"]
[Dataset1."I1_E_TIME"]

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

Последний раз редактировалось SK; 17.01.2012 в 10:51.
SK вне форума   Ответить с цитированием
Сказал «Я - ЗА»: