Date

0

W jaki sposob mozna pobrac ilosc dni w danym miesiacu ?
Za pomoc z gory dzienx :)--Pozdrawiam {hello}
Tomasz K.

0

możesz sobie zrobic tablice stałych, przecieŻ miesięcy jest tylko 12 : )
a inaczej to nie wiem choc pewnie sie da, wiem ze jest jeden nawet komponent taki, chyba sie nazywa calendar czy cuś , nie wiem bo wyłączyłem Delphi, byl na zakladce Samples .

0

Potrzebuje z obsloga lat przestepnych.--Pozdrawiam {hello}
Tomasz K.

0

no to przecieŻ rok przestępny nie jest zdarzeniem losowym tylko występuje w miare regularnie : ) (dla niewiedzących każdy rok co 4 lata jest przestepny od 1800 poczynając , tylko 1900, 2000 ... nie są )
więc możesz chyba dodać gdzies tam jakis warunek podzielnosci przez cztery czy inny jakis : )

0

uses DateUtils;

function DaysInAMonth(const AYear, AMonth: Word): Word;

function DaysInMonth(const AValue: TDateTime): Word;--Pawel

Delphi6

0

Rok przestępny jest wtedy, gdy liczba roku dzieli się przez 4, ale nie przez 100, chyba że dzieli się przez 400.
to znaczy nie ma np w 1900, ale 2000 jest rok przestepny.

0

Spróbuj zrobić taki warunek:

var rok:integer;

if rok mod 4=0 then....(rok przestępny)

Biega o to, że rok przestępny jest co 4 lata i jeśli dzieli się przez 4 to jest przeztępny. "rok mod 4" oznacza resztę z dzielenia rok-u przez 4. Jeśli jest równa 0 to rok jest przestępny
Miesiące:
(połączone z tym wyżej)
var luty:byte;
const styczen=31
luty1=28
luty2=29
marzec=31
...................

if rok mod 4=0 then luty=luty1
else luty=luty2;

Chyba dalej już jasne. To jest napisane w Pascalu. Nie wiem w czym piszesz Swój program, ale to co napisałem po naszemu a nie po kompowemu to sobie możesz przełożycz na Delphi czy coś. Robiłem kiedyś taki fajny kalendarz z grafiką i właśnie pamiętam że miałem też taki problem.

Siemka
Refcio

0

Refcio, a może byś tak przeczytał post Eryka... to nie jest tak prsto z przestepnymi.--Pawel

Delphi6

0

Eryk napisał:
Rok przestępny jest wtedy, gdy liczba roku dzieli się przez 4, ale nie przez 100, chyba że dzieli się przez 400.
&gtto znaczy nie ma np w 1900, ale 2000 jest rok przestepny.
&gt
&gt

no masz racje dawno nie mialem geografii : )

0

Dzieki wszystkim :)--Pozdrawiam {hello}
Tomasz K.

0

A no!
Zawsze myślałem, że jak rok jest podzielny przez 4 to jest przestępny. To teraz ten warunek będzie wyglądał tak:
if (rok mod 4=0) and ((rok mod 100=0) and (rok mod 400=0)) or (rok mod 100&lt&gt0) then..........(rok przestępny).
Albo jakś tak.

0

Albo prosciej

Uses DateUtils;

CzyPrzestepny:=IsInLeapYear(EncodeDate(Rok,1,1));

ale i tak uważam, że lepiej uzyć funkcji podanych przeze mnie powyżej--Pawel

Delphi6

1 użytkowników online, w tym zalogowanych: 0, gości: 1