Добрый день.
Делаю небольшую програмку для считывания штрихкодов, штрихкоды на работе печатаются 2 смены.
Смены:
Первая 2014-10-11 07:00:00 - 2014:10:12: 00:00:00
Вторая 2014:10:12 03:00:00 - 2014:10:12 05:50:00
Собственно получаются промежутки времени в которых ни каких смен нет (штрихкоды в это время не печатаются), но мне требуется чтобы в этот момент "простоя предприятия" программа сообщала на основе текущего времени и даты какая смена наступит следующая.
Как найти входит ли текущее время и дата в диапазон смены я разобрался, а как найти смену которая должна наступить не могу.
Подскажите, можно без схем..хотябы просто словами...что с чем сравниватьделитьумножать и т.д.
Этот топик читают: Гость
Ответов: 655
Рейтинг: 18
|
|||
карма: 0 |
|
Ответов: 2274
Рейтинг: 677
|
|||
Gunnman писал(а): Как найти входит ли текущее время и дата в диапазон смены я разобрался, а как найти смену которая должна наступить не могу. |
|||
карма: 11 |
|
Ответов: 1536
Рейтинг: 176
|
|||
Здесь была нерабочая схема.
|
|||
карма: 1 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Gunnman писал(а): Смены:
Первая 2014-10-11 07:00:00 - 2014:10:12: 00:00:00 |
|||
карма: 25 |
| ||
Голосовали: | Gunnman |
Ответов: 655
Рейтинг: 18
|
|||
ser_davkin, спасибо! А что такое VCL? Гугл при поиске выдает RFC 850...но в нем про датувремя ни чего не сказано...
|
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
ser_davkin,а зачем крутить дату если нужно только время ?
Вот изменил время и где правда ? ser_davkin_3.png ser_davkin_4.png Нельзя так делать ((%5>%4)and(%5<(%1+1)))*2 без проверки - "А нужно ли добавлять эту единичку ?". |
|||
карма: 25 |
| ||
файлы: 2 | ser_davkin_3.png [63KB] [591], ser_davkin_4.png [35.2KB] [581] |
Ответов: 655
Рейтинг: 18
|
|||
Tad, не поделитесь своим вариантом? Я пока схему ser_davkin, изучаю
|
|||
карма: 0 |
|
Ответов: 1536
Рейтинг: 176
|
|||
Tad писал(а): Нельзя так делать ((%5>%4)and(%5<(%1+1)))*2 без проверки - "А нужно ли добавлять эту единичку ?".Да, ты прав. |
|||
карма: 1 |
|
Ответов: 655
Рейтинг: 18
|
|||
Tad, раз уже ser_davkin, удалил свой пример, не покажете свой? Я хочу разобраться как мне мои смены и промежутки между сменами считать.
|
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Gunnman, у меня нет примера - всё было сделано в IC и после проверки удалено.
Gunnman писал(а): мне требуется чтобы в этот момент "простоя предприятия" программа сообщала на основе текущего времени и даты какая смена наступит следующая.Gunnman писал(а): Собственно получаются промежутки времени в которых ни каких смен нет (штрихкоды в это время не печатаются), |
|||
карма: 25 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 1 раз(а), последний 2017-03-02 08:52:26 |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Правильно. Откуда железо знает, что 00:00 это уже следующие сутки ?
Железо не может понять. как это смена началась в 16 часов, а закончилась перед этим в 00:00 ? Ты же, чтобы узнать длительность смены, в уме производишь замену 00:00 на 24 и 24-16=8. Т.е. если время начала смены > времени конца смены, то нужно добавить 1-и сутки (что и сделал ser_davkin), а если вместо 00:00 напишешь 23:59:58, то всё должно сработать. Нужно добавить проверки (Н - начало смены, К - конец смены, цифра - номер смены) : If H1>K1 then K1:=K1+1; If H1>H2 Then H2:=H2+1; If H1>K2 Then K2:=K2+1; |
|||
карма: 25 |
|
Ответов: 655
Рейтинг: 18
|
|||
Tad, спасибо! Нам молодым бестолочам еще учиться и учиться...)))
------------ Дoбавленo в 15.57: Про +1 сутки подозревал но не в ту степь ушел. |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
.....
|
|||
карма: 25 |
|
Ответов: 655
Рейтинг: 18
|
|||
Tad, я сделал проверки, code_34429.txt
Не могли бы вы взглянуть на схему? У меня в силу малого опыта есть сомнения, что не правильно у меня определяются смены и переходы между ними. |
|||
карма: 0 |
| ||
файлы: 1 | code_34429.txt [4KB] [262] |