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.
Vihje: Pääsiäissunnuntain laskukaava Delphillä
Delphiguru
0
122
Vastaukset
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Sä olet epävakaa
tai ainakin yrität onnistuneesti vaikuttaa siltä. Ei sun kanssa uskalla ruveta yhtään mihinkään, menis hommat ojasta all462075Mieti miten paljon yritin
Löytää yhteyttä kanssasi uudelleen sen väärinymmärryksen jälkeen. Koen etten tullut puoleltasi hyvin kohdelluksi mies😔571819- 361534
Yksi viesti häneltä ja ottaisin takaisin
Mutta ei sitä tule. Ja ehkä parempi niin, tein jo valintani. En saanut häneltä tarpeeksi, kaikki muu meni minun edelle j321443- 781238
- 581122
Keskisarjan puheet
Onko kansanedustajan sopivaa puhua tuollai vai pitäisikkö potkia pois eduskunnasta?189973- 57949
- 49913
- 24894