> > Кроме того в третьем диалекте - деление целого на целое дает целое.
>
> > А в первом - вещественное.
>
> а попробовать?
Честное слово - я пробовал :) Или власть уже поменялась? Ладно, сейчас
это не важно.
Забавно другое - препроцессор от билдера стреляется. Говорит - не могу
развернуть VAR_WN :)
---
//-------------------------------------------------------------------------
#define ARG_YEAR :Year //"Year" // (2007)
#define ARG_MONTH :Month //"Month" // (9)
#define ARG_DAY :Day //"Day" // (27)
//-------------------------------------------------------------------------
#define OP_DIV_INT(a,b) ((a)/(b))
#define OP_MULT(a,b) ((a)*(b))
#define OP_MOD(a,b) (a-OP_MULT(OP_DIV_INT(a,b),b))
//-------------------------------------------------------------------------
#define VAR_A OP_DIV_INT(ARG_MONTH,12)
#define VAR_Y (ARG_YEAR+4800-VAR_A)
#define VAR_M (ARG_MONTH+OP_MULT(12,VAR_A)-3)
#define VAR_JD (ARG_DAY+OP_DIV_INT(OP_MULT(153,VAR_M)+2,5) \
+OP_MULT(365,VAR_Y) \
+OP_DIV_INT(VAR_Y,4) \
-OP_DIV_INT(VAR_Y,100) \
+OP_DIV_INT(VAR_Y,400) \
-32045)
//-------------------------------------------------------------------------
#define VAR_J VAR_JD
#define VAR_D4_1 (VAR_J+31741-OP_MOD(VAR_J,7))
#define VAR_D4_2 OP_MOD(VAR_D4_1,146097)
#define VAR_D4_3 OP_MOD(VAR_D4_2,36524)
#define VAR_D4 OP_MOD(VAR_D4_3,1461)
#define VAR_L OP_DIV_INT(VAR_D4,1460)
#define VAR_D1 (OP_MOD(VAR_D4-VAR_L,365)+VAR_L)
#define VAR_WN (OP_DIV_INT(VAR_D1,7)+1)
VAR_JD
VAR_D4
VAR_D1
VAR_WN
---
Сейчас попробую заюзать препроцессор от студии
Коваленко Дмитрий