Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 25.04.2008, 21:57
ChiToK ChiToK вне форума
Прохожий
 
Регистрация: 20.04.2008
Сообщения: 9
Репутация: 10
По умолчанию арифметические опреации со временем

Всем привет.есть база данных , время прихода и ухода посетителей , как выплонять арифметические опрецаии в дельфи если поля имеет тип date\time? ну там например время ожидания=время прихода-время ухода и т.д.
Ответить с цитированием
  #2  
Старый 25.04.2008, 22:20
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Код:
var
  date1, date2 : TDateTime;
begin
  date2 := Date + Time; // date2 := Now;
  date1 := ADOQuery.FieldByName('RegisteredTime').AsDateTime;

  ShowMessage('Время ожидания = ' + TimeToStr(date2 - date1));
end;

Годится?
Ответить с цитированием
  #3  
Старый 25.04.2008, 22:30
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

В Delphi есть огромное количество функций и процедур для работы с датами и временем.
Напишите в тексте, например, DecodeDate и нажмите F1. В открывшемся окне справки есть ссылка "datetime routines". По ней вывалится список всех этих функций и процедур.
С помощью этого богатства можно делать, практически любые вычисления: сдвигать даты и время на заданное количество месяцев, дней, часов, минут и пр.; вычислять время между двумя датами; замещать элементы дат и времени и много чего другое.
Ответить с цитированием
  #4  
Старый 28.04.2008, 09:17
ChiToK ChiToK вне форума
Прохожий
 
Регистрация: 20.04.2008
Сообщения: 9
Репутация: 10
По умолчанию

спсибо , почитал.но я совсем уже подзабыл дельфи , можете подсказать как из можно в dbgrid подсчитывать разницу во времени среди двух колонок? причем проблема в том что база Acess и там только время , а в дельфи он всегда видит еще и дату , даже если в акесе менять формат поля на время.
Ответить с цитированием
  #5  
Старый 28.04.2008, 20:56
ChiToK ChiToK вне форума
Прохожий
 
Регистрация: 20.04.2008
Сообщения: 9
Репутация: 10
По умолчанию

я создал в adotable дполнительное вычесляемое поле , чтобы в него заносилась разница между 2 полями.написал следующий код:
adotable2raznica:=minutesbetween(adotable2n.asdate time,adotable2z.asdatetime);
он возвращает значение int64 , и оно не может заносится в dbgrid потому что там нельзя выбрать такой тип поля, как быть? нужны эти значения чтобы строить графики по ним.
Ответить с цитированием
  #6  
Старый 28.04.2008, 21:47
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

А просто привести его к инту не пытался?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:07.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025