Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

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

Всем привет.есть база данных , время прихода и ухода посетителей , как выплонять арифметические опрецаии в дельфи если поля имеет тип date\time? ну там например время ожидания=время прихода-время ухода и т.д.
ChiToK вне форума Ответить с цитированием
Старый 25.04.2008, 22:49   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Простая арифметика.
ДатаВремя - вещественное число.
Время - дробная часть, дата - целая часть.
Работайте как с вещественными числами.
Нестыковки, как правило, если и возникают, то при переходе от форм представления этой величины в Дельфи и в конкретной базе.

З.Ы. Впрочем, могут выскакивать и неожиданные нюансы...
mihali4 вне форума Ответить с цитированием
Старый 28.04.2008, 09:19   #3
ChiToK
 
Регистрация: 20.04.2008
Сообщений: 6
По умолчанию

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

Цитата:
можете подсказать как из можно в dbgrid подсчитывать разницу во времени среди двух колонок?
Используй вычисляемые поля...

Цитата:
причем проблема в том что база Acess и там только время , а в дельфи он всегда видит еще и дату , даже если в акесе менять формат поля на время.
Это решается очень просто... У полей таблици есть такое свойство как DisplayFormat, тут можно настроить отодражение как вашей душе угодно.
как пример: ADOTable1TIME.DisplayFormat := 'hh:nn:ss'; будет отображаться в виде 09:19:35
Bor_Gus вне форума Ответить с цитированием
Старый 28.04.2008, 13:32   #5
ChiToK
 
Регистрация: 20.04.2008
Сообщений: 6
По умолчанию

я чет в свойствах adotable не нашел DisplayFormat
ChiToK вне форума Ответить с цитированием
Старый 28.04.2008, 16:43   #6
Bor_Gus
Пользователь
 
Регистрация: 02.04.2008
Сообщений: 18
По умолчанию

Цитата:
Сообщение от ChiToK Посмотреть сообщение
я чет в свойствах adotable не нашел DisplayFormat
Я же написал у полей таблици, а не у самой таблици. Двойной клик по ADOTable, который на форме, откроется редактор полей. Добавляешь туда необходимые тебе поля и редактируешь их свойства.
Bor_Gus вне форума Ответить с цитированием
Старый 28.04.2008, 20:56   #7
ChiToK
 
Регистрация: 20.04.2008
Сообщений: 6
По умолчанию

спасибо ,я создал в adotable дполнительное вычесляемое поле , чтобы в него заносилась разница между 2 полями.написал следующий код:
adotable2raznica:=minutesbetween(ad otable2n.asdatetime,adotable2z.asda tetime);
он возвращает значение int64 , и оно не может заносится в dbgrid потому что там нельзя выбрать такой тип поля, как быть? нужны эти значения чтобы строить графики по ним.
ChiToK вне форума Ответить с цитированием
Старый 30.04.2008, 01:48   #8
Bor_Gus
Пользователь
 
Регистрация: 02.04.2008
Сообщений: 18
По умолчанию

Int64 это 8 байтовое число тоесть duble... Если мне не изменяет память, то в базах данных Access есть такой формат. Если же нет, то преобразование форматов еще ни кто не отменял... Хранить данные не обязательно в Int64... можно в текстовом формате(как вариант)
Bor_Gus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
операции увеличения в с++ JOFRIF Помощь студентам 8 26.04.2008 20:25
Операции с массивами Stelix Помощь студентам 3 26.03.2008 22:11
Операции с массивами Hakman Помощь студентам 10 19.02.2008 18:36
Битовые операции LEX.darnica Помощь студентам 14 23.12.2007 19:40
Операции над данными yulia БД в Delphi 24 21.05.2007 01:18