Moin...
Versuch mal ob dir das weiter hilft...
Delphi-Quellcode:
procedure THauptForm.RbMonatClick(Sender: TObject);
var Datum: TDate;
var Year, Month, Day: Word;
begin
if DateTouched=1 then
Datum:=Datum_von.Date
else
Datum:=Datum_bis.Date;
DecodeDate(Datum, Year, Month, Day);
Day:=1;
Datum:=EncodeDate(Year,Month,Day);
Datum_von.Date:=Datum;
DecodeDate(Datum, Year, Month, Day);
if Month = 12 then
Month := 1
else
Month:=Month+1;
Day:=1;
Datum:=EncodeDate(Year,Month,Day);
Datum:=Datum-1;
Datum_bis.Date:=Datum;
BtnShow.SetFocus;
end;
Diese Prozedur macht zwar was völlig anderes aber kann dir vielleicht einen Hinweis zur Handhabung geben. Ich habe hier zwei DateTimePicker und stelle sie auf genau einen Monat ein (1. - letzter des Monats).
Wenn Du jetzt für dein problem das Datum Decodest, dann kannst du schauen ob Day = 1. Dann sollte in der regel ein neuer Monat angefangen haben. Wenn dein Prog nicht jeden Tag startet und loggt, dann solltest du dir den Monat irgendwo "merken" und lieber schauen ob der sich geändert hat.
Einfacher gehts bald nicht...
[EDIT]
Achso... das aktuelle Datum bekommst du so:
DecodeDate(Now, Year, Month, Day)
[/EDIT]
Bis denne...
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?