ostatni

0

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.

0

Hint:
Ostatni dzien miesiaca to data pierwszego dnia miesiaca nastepnego - 1 :-)

jak bys nie zakumal napisze kod

0

jakbyś był taki uprzejmy, to dzięki z góry

0

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;
0

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

0

Ja tam z powodzeniem używam EndOfTheMonth, ale nie wiem jak jest w starych wersjach.

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