Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 28

Тема: к петрову и. (про время и даты ...)

  1. #11

    По умолчанию

    ух, последни раз.
    не согласился. что тут такого необычного с точки зрения логики ? почему дату нельзя двигать туды-сюды на время ?
    нельзя двигать дату функцией Add или Sub. они для этого не предназначены.
    ведь в примере с Real/int - кдс все нормально понимает.

    з.ы. а я принципиально выполняю операции только с одним типом данных, привычка блин.
    Последний раз редактировалось Кирилл Валюнин; 06.12.2010 в 15:13.

  2. #12

    По умолчанию

    уважаемые, форумчане. не скатывайтесь во флуд, все-таки тема не в курилке

  3. #13
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от BETEP Посмотреть сообщение
    Остальные посты это ответы для drvlas и разжёвывание что такое константы.
    Ах вот оно что! Я-то и не понял, что мне разжевывают!
    И вот это, оказывается, про меня:

    Цитата Сообщение от BETEP Посмотреть сообщение
    Все непонятки от того что начали писать программы на верхних языках пропустив понимание самих основ программирования.
    Так хочу заметить, я не прошу рассказывать мне основы программирования. И ничего нового Вы не сказали. Вы просто зачем-то пытаетесь помешать даже порассуждать об улучшении КДС. Почему?
    Потому что Вам и так удобно? Рад, искренне рад за Вас!
    Или Вы считаете, что улучшать поведение компилятора не нужно просто потому что не нужно?

    А как по мне, то следует минимально:

    - либо сообщать о недопустимости операции
    - либо выполнять ее правильно.

    А сейчас не ругается и выполняется неправильно. Не так, как ожидает инженер.

    А прибавление 1 дня к текущей дате (при поддержке представления и даты, и временного отрезка в днях, месяцах, годах) - вполне нормальная операция. Равно как и вычисление "возраста" вычитанием двух дат.
    И все это не сложно сделать через пользовательскую функцию. Но было бы красиво и через стандартную библиотеку. А еще круче - грамотно перегружаемыми функциями ADD, SUB.

    Назовите причину, почему так не следует делать. Не пояснение, почему "так вышло", а причину, почему будет плохо, если все же сделать.

  4. #14

    По умолчанию

    Пожалуй стоит просить модератора оставить только первые два поста, а остальное удалить. Тема действительно переросла во флуд.
    drvlas вы считаете что компилятор должен поступить по другому, я считаю что он поступает правильно и предсказуемо. Так что ему всё таки делать? Он наверно должен угадать кто из нас сидит за компом? Наверно Вы правы, нужно улучшать кдс, ему явно не хватает телепатических способностей.

    Всё, больше на эту тему молчу, попытался объяснить заблуждения в письме, попытался ещё раз, потом ещё. И что из этого вышло? причём тон я сменил только после Вашего первого сообщения.
    Последний раз редактировалось BETEP; 06.12.2010 в 17:01.

  5. #15
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от betep Посмотреть сообщение
    пожалуй стоит просить модератора оставить только первые два поста, а остальное удалить.
    как-то так и выходит, что слишком много модераторов. теперь и вы, уважаемый, решили, что первые два поста хороши. а почему же не первый один пост?

    извините, если где-то мой тон был неприятен.
    я тоже оставлю эту ветку специалистам.

  6. #16

    По умолчанию

    Код:
    PROGRAM PLC_PRG
    VAR
    	date1: DATE;
    	date2: DATE;
    	dt1:DWORD;
    	dt2: DWORD;
    	T_dd : TIME := T#1m26s400ms;
    	T_hh : TIME := T#3s600ms;
    	day : DWORD := 86400;
    	hour : DWORD := 3600;
    END_VAR
    --------------
    date1 :=  D#2010-12-7  -  T_dd*365 ;
    date2 :=  D#2010-12-7  -  T_hh*24 ;
    dt1 :=DateSub(D#2010-12-11,D#2010-11-11,day);
    dt2 :=DateSub(D#2010-12-11,D#2010-12-10,hour);
    -----------------------------------------------------------------
    FUNCTION DateSub : DWORD
    VAR_INPUT
    	First: DATE;
    	Last: DATE;
    	interval : DWORD;
    END_VAR
    ----------------
    IF First>Last THEN
    	DateSub :=   (DATE_TO_DWORD( First)  -  DATE_TO_DWORD( Last))/interval ;
    ELSE
    	DateSub :=   (DATE_TO_DWORD( Last)  -  DATE_TO_DWORD(  First))/interval ;
    END_IF;
    ---------------------------------------------------------------
    И если я понимаю - как забивают гвозди, не нужны откровения про существование молотка с синей ручкой (типа 'dateadd'). Можно и кирпичом, если чё.
    Последний раз редактировалось BETEP; 07.12.2010 в 20:04.

  7. #17

    По умолчанию


    Пока не смогли....
    date2 := D#2010-12-7 - T_hh*24 ; короче и быстрее этой строчки на форуме пока не было.(+over 9000 мне (это больше чем+1е38))

    DateSub у меня быстрее, и скорее всего короче в бинарнике, хоть и банально.( да какая разница)

    Ерунда это всё, кодесису действительно не хватает полноценной библиотеки для работы с датой, (это как раз о том) и TIME_SEC не решит проблем. Кроме тех операций, которые Вы описали в письме, для работы с датой нужно гораздо больше, но на уровне библиотеки. Библиотеки с мануалом как её употребить.

    И всё же компилятор у кодесиса очень не плох, вполне предсказуем и почти второй хелп в его сообщениях, а вот редактор жуть. Ну на самом деле, не увидел я в Ваших примерах ничего непонятного в поведении компилятора. А если есть желание улучшать кодесис V2, то похоже уже поздно.

    Профессиональные форумы нужны не для споров и лузлов (простите модераторы), у них другое назначение, отбросить эмоции, выслушать собеседника и приобрести новый опыт, и даже начать сомневаться в том, в чём был уверен на 100.
    С Наступающим Вас !!!

  8. #18
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от betep Посмотреть сообщение
    кодесису действительно не хватает полноценной библиотеки для работы с датой, (это как раз о том) и Time_sec не решит проблем. кроме тех операций, которые вы описали в письме, для работы с датой нужно гораздо больше, но на уровне библиотеки. библиотеки с мануалом как её употребить.
    ну вот и чудненько. а теперь представьте себе, что модератор оставил только первые два поста. как вы думаете, что произведет на людей, влияющих на развитие кдс, большее впечатление - вот тот ваш второй пост, показывающий, что все хорошо, прекрасная маркиза, или трехстраничная дискуссия?

    ваше понимание задач форума несколько узковато - на мой взгляд. я считаю, что мы можем изменять не только себя, но и мир вокруг нас. даже через форум. и не надо мне доказывать обратного. я же не говорю, что я прав. я объявляю свою позицию.

    спасибо за решение задачи. когда понадобится, обязательно воспользуюсь

  9. #19
    Пользователь
    Регистрация
    15.12.2006
    Адрес
    Калуга
    Сообщений
    157

    По умолчанию

    извиняюсь, что влезаю, но по моему у и.в. петрова есть статья "программируем временные сложности", где все разжевано до нельзя. если нужна - плиз - мыло - вышлю . вес всего 400кб. И еще ссылочка http://www.prolog-plc.ru/art10
    Последний раз редактировалось МИХАИЛ; 09.12.2010 в 16:40.

  10. #20

    По умолчанию

    http://www.codesys.ru/docs/TimeExperience.pdf
    похоже автор не подозревает про TOD#24:00:01
    но с датами и временем предлагает работать через самописные функции, (а что такое библиотека?) и автор против добавления в кодесис дополнительных типов на время и дату, температуру и прочее. Так какой смысл этих трёх страниц?
    Последний раз редактировалось BETEP; 10.12.2010 в 10:25.

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Ваши права

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