Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Movable Hollidays
Message
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00346963
Message ID:
00347080
Views:
31
>>Will do! I'm almost ashamed to post it, but do you want to see my routine for purposes of comparison?
>
>Sure, mine is pretty ugly anyway, especially with good naming conventions :)

I wasn't going to mention it< g >. BTW, this was based on a written liturgical method. OK, here goes:
DEFINE CLASS Easter_Day AS CUSTOM

FUNCTION DateEaster

  LPARAMETER pnyearno

  LOCAL ldresult, lngold, lcyear, lcpaschalmoon, lndayofwk, lnamounttoadd
  lngold = This.Golden_No(pnyearno)
  lcyear = TRANSFORM(pnyearno, "####")
  lcpaschalmoon = This.FullMoonDate(lngold)
  lcpaschalmoon = LEFT(lcpaschalmoon, 5) + "-" + lcyear
  lndayofwk = DOW(CTOD(lcpaschalmoon), 1)
  lnamounttoadd = (7 - lndayofwk) + 1
  ldresult = CTOD(lcpaschalmoon) + lnamounttoadd
  RETURN ldresult
ENDFUNC

FUNCTION Golden_No

  PARAMETER pnyear

  LOCAL lnresult
  lnresult = pnyear + 1
  lnresult = lnresult % 19
  IF lnresult = 0
    lnresult = 19
  ENDIF
  RETURN lnresult
ENDFUNC

FUNCTION FullMoonDate

LPARAMETER pngoldnum

  LOCAL lcresult
  DO CASE
    CASE pngoldnum = 1
      lcresult = "04-14A"
    CASE pngoldnum = 2
      lcresult = "04-03B"
    CASE pngoldnum = 3
      lcresult = "03-23E"
    CASE pngoldnum = 4
      lcresult = "04-11C"
    CASE pngoldnum = 5
      lcresult = "03-31F"
    CASE pngoldnum = 6
      lcresult = "04-18C"
    CASE pngoldnum = 7
      lcresult = "04-08G"
    CASE pngoldnum = 8
      lcresult = "03-28C"
    CASE pngoldnum = 9
      lcresult = "04-16A"
    CASE pngoldnum = 10
      lcresult = "04-05D"
    CASE pngoldnum = 11
      lcresult = "03-25G"
    CASE pngoldnum = 12
      lcresult = "04-13E"
    CASE pngoldnum = 13
      lcresult = "04-02A"
    CASE pngoldnum = 14
      lcresult = "03-22D"
    CASE pngoldnum = 15
      lcresult = "04-10B"
    CASE pngoldnum = 16
      lcresult = "03-30E"
    CASE pngoldnum = 17
      lcresult = "04-17B"
    CASE pngoldnum = 18
      lcresult = "04-07F"
    CASE pngoldnum = 19
      lcresult = "03-27B"
  ENDCASE
  RETURN lcresult
ENDFUNC
ENDDEFINE
George

Ubi caritas et amor, deus ibi est
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform