Вниз
Скачать: CL | DM;

Подсчёт времени.   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
14-11441
NetBreaker666
2002-10-14 20:13
2002.11.04
Люди, знаете такую фишку: TMT Pascal....


14-11384
Дремучий
2002-10-10 17:25
2002.11.04
АНТИВИРУСЫ ?


1-11135
Cossys
2002-10-22 17:52
2002.11.04
Как отнять от даты дни


6-11376
Beglec
2002-08-22 04:09
2002.11.04
Прослушка портов в Windows Xp


14-11411
me2
2002-10-14 14:15
2002.11.04
Где взять оболочку (IDE) для FreePascal?




   Наверх