mam problem, proszę o pomoc
jak pokazać ostatni dzień miesiąca
chodzi mi o to,
przedstawiamy data wydruku np 2004-06-10
a nota uznaniowa z dnia 2004-05-31
itp.
mam problem, proszę o pomoc
jak pokazać ostatni dzień miesiąca
chodzi mi o to,
przedstawiamy data wydruku np 2004-06-10
a nota uznaniowa z dnia 2004-05-31
itp.
Hint:
Ostatni dzien miesiaca to data pierwszego dnia miesiaca nastepnego - 1 :-)
jak bys nie zakumal napisze kod
jakbyś był taki uprzejmy, to dzięki z góry
Nie bardzo rozumiem o co chodzi, ale może to w czymś pomoże:
//funkcja zwracająca (jako TDateTime) ostatni dzień w podanym miesiącu i roku:
function LastDayInMonth(const Month: Byte; const Year: WORD): TDateTime;
var
bx: Byte;
begin
case Month of
1, 3, 5, 7, 8, 10, 12: bx := 31;
4, 6, 9, 11: bx := 30;
2:
begin
if IsLeapYear(Year) then
bx := 29
else
bx := 28;
end;
else
Result := 0; // Error. Miesiąc musi być liczbą z zakresu 1..12 !
Exit;
end;
Result := EncodeDate(Year, Month, bx);
end;
W typie TDateTime jeden dzien to wartosc 1. Czyli data ostatniego dnia to data pierwszego dnia nastepnego miesiaca pomniejszona o jeden:
DataPierwszegoDnia := EncodeDate(2004,7,1);
DataOstatniegoPoprzedniegoMiesiaca := DataPierwszegoDnia - 1;
i masz date 30.06.2004
pozdro
Ja tam z powodzeniem używam EndOfTheMonth, ale nie wiem jak jest w starych wersjach.