Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по временным промежуткам [D6, WinXP]


DimonS ©   (2005-02-21 10:50:00) 

В общем, столкнулся с такой проблемой в своей программке. В программе заносятся Путевые листы водителей по времени выезда-возвращения. И вот собственно проблема: как выбрать из ПЛ ночной смены ночные часы? Например, водила работал с 20-00 до 8-00, а ночные часы считаются с 22-00 до 6-00. Причем водитель может работать не только с 20, но и позже, а также приехать раньше 6-00. Вот и нужно знать время работы, которое приходится на ночные часы и на обычные.
В общем, нигде не смог найти ответ, мож кто подскажет?


Александр Иванов   (2005-02-22 12:08:00) [1]

red_imp   (22.02.05 12:03) [10]
Не хотел бы я ездить этим "електротранспорта"


Alx2   (2005-02-22 12:08:00) [2]

Пипец... "здравствуй, светлое будущее" началось...


Alx2   (2005-02-22 12:07:00) [3]

DimonS ©   (22.02.05 8:08) [7]

Отрезок [a,b] - ночные. [c,d] - отработанное водителем. Ищем пересечение [a,b] и [c,d] = [max(a,c),min(b,d)]


red_imp   (2005-02-22 12:03:00) [4]

А ты в каком управлении работаеш, потому что у меня приблизительно такаяже проблем а возникала  правда не помню как выкрутился но всетаки если интересно может поисчу. Я пишу прогу для расчета расписания движения електротранспорта, если ты ваяеш чтото подобное напиши бо интересно как с этой проблемой (расписание) справляються другие.
А твоя проблема решается гдето всего в 4-8 if


Erik1   (2005-02-22 11:55:00) [5]

Просто работай с TDataTime и храни время вместе с датой, тогда от начала работы отними начала вечернего времени. Получиш чтото больше 0 есть ночные часы.


Инструктор   (2005-02-22 08:21:00) [6]

Если Дельфи - то читаем DateTime routines. Это по F1. Для начала.


DimonS   (2005-02-22 08:08:00) [7]

Да, параметры заносятся в БД. Заносится время выезда и время возвращения. И вот как программно вычислить, входит ли промежуток времени между 22-00 и 6-00 в это время?

Т.е. такой пример. Выехал в 20-00 вернулся в 23-30. Естественно, ночное время получается 1-30 и 2 часа дневного. Или выехал в 23-30 и возврат в 5-30, то 6 часов ночного времени, а дневного нет. Как все это реализовать? Работаю с TTable.

Пробовал высчитывать по разнице времени, но получается громоздко.
Если не сложно, выложите хоть кусок кода, чтобы было на что ориентироваться. Просто я практически не сталкивался при программировании со временем.


default   (2005-02-22 02:20:00) [8]

не позорь скорпионов:-)


Германн   (2005-02-22 02:20:00) [9]

2 DimonS ©   (21.02.05 10:50)  

Если параметры путевых листов заносятся в базу данных, то и ориентируйся на её возможности. (SQL и пр.) Если - нет, то приведи свои решения тут. Может помогут. А пока без конкретизации вопроса - ответа быть не может. Тем более, что и вопрос, как следует, не задан!


DimonS   (2005-02-22 02:08:00) [10]

Johnmen ©
Это-то понятно, но вот как это реализовать с помощью Дельфей? пробовал, но получается слишком уж громоздкая процедура.

Юрий Зотов ©
Ну конечно, за 2 класс в учебнике это есть, но там не изучабт Паскаль. А мне именно в нем нужно это реализовать.


Юрий Зотов   (2005-02-21 11:15:00) [11]

> DimonS ©   (21.02.05 10:50)  
> В общем, нигде не смог найти ответ...

Наверное, в Интернете искали, потому и не нашли.

Искать надо было в учебнике арифметики за второй класс. Там ответ точно есть.


Johnmen   (2005-02-21 11:09:00) [12]

Вычислить пересечение с 20-00 до 8-00 и с 22-00 до 6-00
В чем проблема то ?


Eraser   (2005-02-21 11:03:00) [13]

DimonS ©

А при чём тут делфи?


Наверх

Титульная страница Поиск, карта сайта Написать письмо