Главная страница
    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
1-64666
aaZ
2002-05-05 15:43
2002.05.20
FormHeader


3-64468
maxim2
2002-04-22 13:16
2002.05.20
Как в DBGrid в определенном поле место текста показать звездочки.


1-64645
Riko
2002-05-07 15:33
2002.05.20
Поочередное выполнение функций...


1-64741
Gnom
2002-05-07 10:45
2002.05.20
TWordApplication - Поможите!!!


1-64622
tovSuhov
2002-05-08 10:46
2002.05.20
ProcessMessages





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский