Victor_VG
Tracker Mod | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору igor_andreev Наверное лучше сделать чуть иначе - счёт даты - пять знаков с ведущим нулём который не выводится пока год не превысит 9999. И тогда выводить с запросом типа "Дата превышает 31 Декабря 9999 года Вы подтверждаете что нет ошибки?". И пусть тот, кто балуется с датами сидит кнопки жмёт. И никому из нас ворчать не придётся. Думаю, что такое решение оптимальное. Ведь гораздо более простые программы умеют скрывать ведущие нули, а в случае с датой там вообще алгоритм простейший: Код: dcl ddate char(11) Function ddate(ddate) dcl var dec(5) var = subst(date,5,5) ddate = subst(date,1,2).".".subst(date,3,2).".".if var <= 9999 then subst(date,5,4)."" else subst(date,5,5) end return(ddate) | семь строк на PL/1 решают проблему просто и красиво. P.S. И то, пять из них можно смело вышвырнуть, оставив только: Код: var = subst(date,5,5) ddate = subst(date,1,2).".".subst(date,3,2).".".if var <= 9999 then subst(date,5,4)."" else subst(date,5,5) end | Добавлю - вроде наше ворчание пригодилось. Чьё бы ни было, но в changelog far: Цитата: drkns 24.12.2010 10:37:23 +0200 - build 1771 1. Продолжение 1763 - годы отображаются без ведущего нуля. | главное, что это исправлено.
---------- Жив курилка! (Р. Ролан, "Кола Брюньон") Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti |
| Всего записей: 34360 | Зарегистр. 31-07-2002 | Отправлено: 04:37 28-12-2010 | Исправлено: Victor_VG, 18:34 28-12-2010 |
|