![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подсчёт времени. [D6, Paradox]
Widom © (2002-10-15 07:09:00)Есть два поля Часы и Минуты.
Надо просумировать время что бы получить общее время.
например: 2ч 35мин
1ч 40мин
1ч 25мин
Итог: 5ч 40мин
Подскажите функцию
Sergey13 (2002-10-15 11:18:00) [1]А может исчо проще? 8-)
select sum(h) as h_coiunt,sum(m) as m_count from....
Потом
часы:=H_count+int(m_count/60)
минуты:=m_count-(60*int(m_count/60))
Johnmen (2002-10-15 10:10:00) [2]А может проще ?
SELECT
CAST((SUM(h*60+m)/60)-0.5 AS INTEGER) AS hs,
SUM(m)-60*CAST((SUM(m)/60)-0.5 AS INTEGER) AS ms
FROM ...
WHERE ...
Widom (2002-10-15 09:58:00) [3]Всё замечтельно....
но у меня время большое например 26 часов 40 минут.
Т.е у меня програма учет рабочего времени сколь всего часов работатли в месяц.
А он больше 24 не суммирует.
Sirus (2002-10-15 08:09:00) [4]
Var TotalTime:TTime;
CurrTime:TTime;
Begin
Query1.Open;
Query1.First;
TotalTime:=0;
Repeat
CurTime:=StrToTime(Query1.FieldByName("ЧАСЫ").AsString+":"+Query1.FieldByName("МИНУТЫ").AsString+":00");
TitalTime:=TotalTime+CurrTime;
Query1.Next;
Until Query1.Eof;
ShowMessage(TimeToStr(TotalTime));
End;
Вместо Query1 можешь вставить Table1 или че нить другое
ЧАСЫ и МИНУТЫ это названия полей содержащих часы и минуты.
Widom (2002-10-15 08:00:00) [5]Спасибо.
А если у меня много записей в базе ?
У тебя только на две.
обьясните делитанту...
Sirus (2002-10-15 07:23:00) [6]Забыл...
Edit1 и Edit3 это часы...
Edit2 и Edit4 это минуты...
Удачи...
Sirus (2002-10-15 07:22:00) [7]
procedure TForm1.Button1Click(Sender: TObject);
var t1,t2:ttime;
begin
t1:=StrToTime(Edit1.Text+":"+Edit2.Text+":00");
t2:=StrToTime(Edit3.Text+":"+Edit4.Text+":00");
ShowMessage(TimeToStr(t1+t2));
end;
Вместо компонент TEdit вставишь свои поля...
Должно работать...