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

146

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000

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

      Luetuimmat keskustelut

      1. 20v on otettu kiinni

        Tulipalo oli sytytetty joten murhasiko ex omat lapsensa ja heidän Äidin. Tuskin sitä kukaan ohikulkijakaan sytytti.
        Savonlinna
        325
        11265
      2. Suomessa on ollut suurtyöttömyyttä ennenkin, ja lääkäriin pääsee nykyäänkin

        Täällähän oli jonkun sekopään(vas.) juttu, että ennen ei ollut työttömyyttä ja lääkäriin pääsi. Siihen alkoi tietysti ko
        Maailman menoa
        33
        3458
      3. Mitä meidän välillä

        Tapahtuu lopulta?
        Ikävä
        79
        3047
      4. IL - Auerin lapsia oli houkuteltu rahalla Annelin puolelle?

        16:12 Outoja väitteitä Sijaisäidin mukaan Auerin lapsia koetettiin houkutella nettipalstoilla muuttamaan kertomuksiaan
        Maailman menoa
        95
        2751
      5. 89
        2621
      6. Savonlinan perhesurma, epäilty mies romani, äiti kantaväestöä

        https://www.is.fi/kotimaa/art-2000011676508.html Savonlinnan seudun romaniyhdistyksestä kerrottiin lauantaina IS:lle, e
        Maailman menoa
        154
        2341
      7. Savonlinnan murhapolttaja romani

        Ainakin IS kertoo. Arvasin heti ettei ole normi valkolainen suomalainen.
        Maailman menoa
        271
        2233
      8. S-kaupoissa on nykyään ihanaa käydä

        Kun niissä ei enää käy satuolentoihin uskovat hihhuIit eivätkä persut. Asiakaskunta on huomattavasti siistiytynyt muutam
        Maailman menoa
        24
        2040
      9. Ei me taideta

        Pystyä kokonaan olemaan erossa.
        Ikävä
        45
        1471
      10. Kun aika on oikea niin

        Tupsahdat uudelleen tai löydän edes melkein yhtä ihanan ja joudun tyytymään... Suukko poskelles. 😘 Viattomasti vain.. �
        Ikävä
        13
        1445
      Aihe