Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.20;
Скачать: CL | DM;

Вниз

Суммировать время   Найти похожие ветки 

 
SONY   (2002-04-23 15:12) [0]

Как суммировать поле типа Time
т.е. такое не проходит select sum(systime) from mytimes.
Пытался так
var Sumtime:TTime
SumTime := StrToDate("00:00:00")
IBTable1.First
while not IBTable.eof do
begin
SumTime := SumTime+IBTable["SYSDATE"]
IBTable.Next
end;
Считает не правильно


 
Johnmen ©   (2002-04-23 15:24) [1]

var Sumtime:TDateTime
...
SumTime := IBTable["SYSDATE"]; - для первой записи
....
дольше в цикле :
...
SumTime := SumTime+IBTable["SYSDATE"];
...


 
SONY   (2002-04-23 15:27) [2]

так тоже делал суммирует неправильно


 
Lusha ©   (2002-04-23 15:31) [3]

так тоже делал суммирует неправильно

Как Вы это определяете?


 
SONY   (2002-04-23 15:34) [4]

сделал так
var MyString: TString;
begin
...
MyString.Add(IBTable["SYSTIME"];
...
MyString.SaveToFile(..)

Потом этот файл открыл в Excel и суммировал и получил реальный результат



 
Johnmen ©   (2002-04-23 15:40) [5]

так тоже делал суммирует неправильно

Можно исходничек ?




 
Lusha ©   (2002-04-23 15:51) [6]

Гы-гы. А с чем сравниваете реальный результат?



 
SONY   (2002-04-24 12:22) [7]

каждая запись ~9-10 минут умножаем на кол. записей и получаем примерный результат а используя код приведнный выше результат в несколько раз меньше


 
SONY   (2002-04-24 12:29) [8]

А вот и исходник

procedure TForm1.Button1Click(Sender: TObject);
var Sumtime:TTime;
begin
SumTime := StrToTime("00:00:00");
IBTable1.First;
while not IBTable1.Eof do
begin
SumTime := SumTime+IBTable1["SYSTIME"];
IBTable1.Next
end;
Caption := TimeToStr(Sumtime);
end;


 
Anatoly Podgoretsky ©   (2002-04-24 12:40) [9]

И количечтво записей конечно меньше 160?


 
SONY   (2002-04-24 12:42) [10]

около 1500


 
Lusha ©   (2002-04-24 12:56) [11]

То есть у Вас данных на 10 суток, а вы его через TimeToStr смотрите и возмущаетесь? :)



 
Anatoly Podgoretsky ©   (2002-04-24 13:03) [12]

Ну как по твоему, что покажет TimeToStr(Sumtime);


 
SONY   (2002-04-24 13:09) [13]

А кажется понял, а как сделать чтоб он мне показал например 128часов 25минут 30 секунд или а лучше 128:25:30


 
Lusha ©   (2002-04-24 13:19) [14]

Информация к размышлению...
Тип TTime он же TDateTime он же double, хранит в целой части количество секунд начиная с некотрого момента времени(догадайтесь с какого :) ) - дробная часть - доли секунд... :)


 
Alex PC   (2002-04-24 13:50) [15]

SONY: очевидно количество набежавших дней умножить на 24 часа и прибавить ко времени ...



Страницы: 1 вся ветка

Текущий архив: 2002.05.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
3-64488
mivv
2002-04-22 20:46
2002.05.20
Index ignore


3-64496
Malyatko
2002-04-22 10:31
2002.05.20
Нужна помощь.


1-64593
GUYARD
2002-05-06 21:01
2002.05.20
Есть вопрос к Мастерам!


1-64732
Lerico
2002-05-07 09:17
2002.05.20
Передаю в Excel данные - порядка 1000 строк.


1-64660
kull
2002-05-08 23:09
2002.05.20
Процедура Insert.......