|
21.12.2010, 17:18 | #1 |
Administrator
|
имхо, С\AL недоделанный макроязык с ужасными (с точки зрения программинга) ляпами, например, определение переменных.
из сегодняшнего. чего может быть проще? оттестфилдить дату на вхождение в диапазон например: testfield("Posting Date", DateFrom, DateTo) - не работает. ну да и фиг с ним, testfield навовская примочка. но почему не работает конструкция if not "Pisting Date" in [DateFrom..DateTo] then... это ж ДОЛЖНО работать по определению!!! где семейство Controls у форм? доколе перечислять все контролы при любой попытке управлять видимостью\едитабельностью контролов? где управление закладками, например, скрыть? где управление кнопками меню? аскетичный? да. более чем. красивый код? отточен, лаконичен, немногословен? вот тут изо всех сил отнюдь! посмотрите на юниты обработки измерений, хотя бы... в бюджетах измерений 6 штук6 и много раз встречаются вшестеро откопированные куски кода, поскольку обращаться с полями как с объектами, сложновато. да, мы научились обходить тонкие места, но положите руку на причиндалы те, кто до этого хоть в чем-то программировал: МЫ ДЕЛАЕМ КОСТЫЛИ, поскольку нормальные методы программирования не канают. конечно, все имха. |
|
22.12.2010, 09:13 | #2 |
Участник
|
Цитата:
|
|
22.12.2010, 10:53 | #3 |
Moderator
|
Цитата:
Там хотя бы ответят будет ли это исправлено в какой-то дальней версии или лучше не надеятся А тут говорить даже теоритически бесполезно . |
|
22.12.2010, 16:19 | #4 |
Участник
|
Цитата:
Вариант 1 Код: MyDate := 151210D; IF NOT (MyDate IN [011210D..311210D]) THEN ERROR(FORMAT(MyDate)); Вариант 2 Код: MyDate := 150610D; IF NOT (MyDate IN [011210D..311210D]) THEN ERROR(FORMAT(MyDate)); В Вашем варианте конструкция не рабoтает, потому что очевидно DateТо меньше чем DateFrom Вариант 3 Код: MyDate := 151210D; IF NOT (MyDate IN [151210D..141210D]) THEN ERROR(FORMAT(MyDate)); Очевидно в конструкции [variable1..variable2] variable2 должна быть всегда больше/равна variable1, поэтому просто надо дополнить код: Код: IF DateТо < DateFrom THEN BEGIN IF NOT ("Posting Date" IN [DateТо ..DateFrom]) THEN ... END ELSE BEGIN IF NOT ("Posting Date" IN [DateFrom..DateTo]) THEN ... END; |
|
09.06.2011, 14:10 | #5 |
Administrator
|
|
|