Форум: "Базы";
Текущий архив: 2002.11.04;
Скачать: [xml.tar.bz2];
ВнизПодсчёт времени. Найти похожие ветки
← →
Widom (2002-10-15 07:09) [0]Есть два поля Часы и Минуты.
Надо просумировать время что бы получить общее время.
например: 2ч 35мин
1ч 40мин
1ч 25мин
Итог: 5ч 40мин
Подскажите функцию
← →
Sirus (2002-10-15 07:22) [1]
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 вставишь свои поля...
Должно работать...
← →
Sirus (2002-10-15 07:23) [2]Забыл...
Edit1 и Edit3 это часы...
Edit2 и Edit4 это минуты...
Удачи...
← →
Widom (2002-10-15 08:00) [3]Спасибо.
А если у меня много записей в базе ?
У тебя только на две.
обьясните делитанту...
← →
Sirus (2002-10-15 08:09) [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 09:58) [5]Всё замечтельно....
но у меня время большое например 26 часов 40 минут.
Т.е у меня програма учет рабочего времени сколь всего часов работатли в месяц.
А он больше 24 не суммирует.
← →
Johnmen (2002-10-15 10:10) [6]А может проще ?
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 ...
← →
Sergey13 (2002-10-15 11:18) [7]А может исчо проще? 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))
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.11.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.033 c