Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.05.20;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.007 c
3-64530
wHammer
2002-04-19 13:22
2002.05.20
Где взять компонент для построения отчетов как в 1С?


1-64592
com6
2002-05-07 16:34
2002.05.20
нужна помосч: клава и как проверить не запещена ли уже прога


1-64688
robbit
2002-05-03 10:05
2002.05.20
Наследник TForm


3-64526
ilya_lu
2002-04-23 13:16
2002.05.20
DCOM


14-64783
Alex999
2002-04-09 04:17
2002.05.20
О жизни тяжелой :))))





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский