home *** CD-ROM | disk | FTP | other *** search
- *******************
-
- FUNCTION Gregorian
-
- PARAMETERS _gregin
-
- PRIVATE _gregstr, _gregyear, _gregdayt
-
- IF TYPE("_gregin") <> "N"
- RETURN(CTOD(" / / "))
- ENDIF
-
- IF (_gregin < 1000 .AND. _gregin > 366) .OR. _gregin < 1
- RETURN(CTOD(" / / "))
- ENDIF
-
- _gregstr = LTRIM(TRIM(STR(_gregin)))
- _gregdayt = VAL(RIGHT(_gregstr, 3)) - 1
-
- IF _gregdayt < 0
- RETURN(CTOD(" / / "))
- ENDIF
-
-
- IF VAL(_gregstr) - VAL(SUBSTR(_gregstr, LEN(_gregstr)-2)) = 0
- * Do jsut the day logic
- _gregyear = STR(YEAR(DATE()))
- ELSE
- _gregyear = STR(INT((VAL(_gregstr) - ;
- VAL(SUBSTR(_gregstr, LEN(_gregstr)-2))) / 1000))
- IF VAL(SUBSTR(_gregstr, LEN(_gregstr) - 2)) > 366
- RETURN(CTOD(" / / "))
- ENDIF
- ENDIF
-
- RETUN( CTOD("01/01/" + _gregyear) + _gregdayt)
-
- * End of File