![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Всем привет.есть база данных , время прихода и ухода посетителей , как выплонять арифметические опрецаии в дельфи если поля имеет тип date\time? ну там например время ожидания=время прихода-время ухода и т.д.
|
|
#2
|
|||
|
|||
|
Код:
var
date1, date2 : TDateTime;
begin
date2 := Date + Time; // date2 := Now;
date1 := ADOQuery.FieldByName('RegisteredTime').AsDateTime;
ShowMessage('Время ожидания = ' + TimeToStr(date2 - date1));
end;Годится? |
|
#3
|
|||
|
|||
|
В Delphi есть огромное количество функций и процедур для работы с датами и временем.
Напишите в тексте, например, DecodeDate и нажмите F1. В открывшемся окне справки есть ссылка "datetime routines". По ней вывалится список всех этих функций и процедур. С помощью этого богатства можно делать, практически любые вычисления: сдвигать даты и время на заданное количество месяцев, дней, часов, минут и пр.; вычислять время между двумя датами; замещать элементы дат и времени и много чего другое. |
|
#4
|
|||
|
|||
|
спсибо , почитал.но я совсем уже подзабыл дельфи , можете подсказать как из можно в dbgrid подсчитывать разницу во времени среди двух колонок? причем проблема в том что база Acess и там только время , а в дельфи он всегда видит еще и дату , даже если в акесе менять формат поля на время.
|
|
#5
|
|||
|
|||
|
я создал в adotable дполнительное вычесляемое поле , чтобы в него заносилась разница между 2 полями.написал следующий код:
adotable2raznica:=minutesbetween(adotable2n.asdate time,adotable2z.asdatetime); он возвращает значение int64 , и оно не может заносится в dbgrid потому что там нельзя выбрать такой тип поля, как быть? нужны эти значения чтобы строить графики по ним. |
|
#6
|
|||
|
|||
|
А просто привести его к инту не пытался?
|