Vihje: Pääsiäissunnuntain laskukaava Delphillä

Delphiguru

Pääsiäissunnuntain päivämäärä lasketaan näin:

function CalcEasterSunday(Year:Integer):TDatetime;
var
C,N,K,I,J,L,M,D : Integer;

begin
C := Year DIV 100;

N := Year MOD 19; // N := Year - 19 * (Year DIV 19);

K := (C - 17) DIV 25;

I := C - C DIV 4 - (C - K) DIV 3 19 * N 15;
I := I - 30 * (I DIV 30);
I := I - (I DIV 28) * (1 - (I DIV 28) * (29 DIV (I 1)) * ((21 - N) DIV 11));

J := Year Year DIV 4 I 2 - C C DIV 4;

J := J MOD 7; // J := J - 7 * (J DIV 7);

L := I - J;
M := 3 (L 40) DIV 44;
D := L 28 - 31 * (M DIV 4);

Result := EncodeDate(Year, M, D);
end;

----

Tämän pitäisi toimia kaikilla Delphin versioilla. JOS ei toimi delphi 1:llä, kokeile muuttaa kokonaislukujen tyyppi Integer -> longint.

Huomaa: TDatetime -tyypin määrittely vaihtui Delphi 2.0:ssa Delphi 1:een verrattuna. Delphi 1 laski vuodet luvusta 1, mutta Delphi 2.0:ssa ja uudemmissa vuosi enkoodataan TDatetime -tyyppiin samoin kuin eräissä Microsoftin ohjelmistoissa.

0

124

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000

      Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

      Luetuimmat keskustelut

      1. Kumpi teki aloitteen?

        😃 häh
        Ikävä
        109
        4206
      2. Onko kaivattusi ulkoisesti

        paremman vai huonomman näköinen kuin exäsi? 🪤
        Ikävä
        78
        3456
      3. Oletko koskaan stalkannut kaivattuasi?

        Jos olet, miten olet stalkannut? Jäitkö kiinni? Onko hän stalkannut sinua? Jos on, miten suhtauduit?
        Ikävä
        76
        3249
      4. Karhuryhmä

        Kellään tarkempaa tietoa miksi ja missä karhuryhmä ollut? Perheväkivaltaa vai huumeperintää kenties taas?
        Jämsä
        24
        3189
      5. Just alkoi ottamaan päähän

        Miten voikin mennä näin, että koko päivän haluaa vain nähdä toisen ja lähelle. Sitten aivan salamana mieleen tulee kaikk
        Ikävä
        22
        3072
      6. Mitä kaikkea sä

        Olisit valmis tekeen mun eteen vielä? Vai oletko mitään?
        Ikävä
        72
        2896
      7. "Mielipide: Äärivasemmiston uhka on otettava vakavasti"

        Demokratia näyttäisi olevan Halla-aholle enemmänkin välttämätön paha kuin tavoiteltava asia. Väkivallan ihannointi ja m
        Maailman menoa
        45
        2760
      8. Raisionkaaren koira hyökkäys

        Taas nähtiin että koiriin ei voi luottaa. Eilen illalla vapaana ollut koira hyökkäsi Raisionkaarella kolmen henkilön kim
        Raisio
        60
        2678
      9. Tapa jolla kohtelit minua viimeksi miellytti erityisesti

        Osaat huomioida kauniisti ja katsot aina tilanteita yhteisen hyvän kannalta. Sitä arvostan erityisesti.
        Ikävä
        85
        2519
      10. Ei me saada toisiamme

        Ei vaan saada. On vain haaveita ja uunelmia
        Ikävä
        33
        2364
      Aihe