Danke an alle habe es hinbekommen. Anzeige im OnShow und dann im AfterScroll.
OnShow der Form
Geburtstagheute := False;
.
Im AfterScroll
Delphi-Quellcode:
if CalcBirthday(Patient1Qry.FieldByName('GEBURTSDATUM').AsDateTime) and (Geburtstagheute = False) then
begin
lblAlter.Font.Color := clRed;
MessageDlg('Patient / Klient / Kunde hat heute Geburtstag.?', mtConfirmation, [mbOK],0);
Geburtstagheute := True;
end
else
begin
if CalcBirthday(Patient1Qry.FieldByName('GEBURTSDATUM').AsDateTime) then
lblAlter.Font.Color := clRed
else
lblAlter.Font.Color := clBlack;
end;
Also, ich halte das für einen strafbaren Missbrauch persönlicher Daten. Da lebt der Mensch glücklich und zufrieden in einer Superposition aller Alterszustände und dann macht ihn jemand darauf aufmerksam, dass er Geburtstag hat. Folge: Die Wellenfunktion kollabiert und der Mensch muss sich der traurigen Erkenntnis stellen, dass er schon wieder ein Jahr näher an der Kiste ist...
Geburtstage sind was für Kinder, ab 21 sind sie nur noch lästig...
Naja, man könnte dem Kunden ein Boolsches Flag spendieren das man setzen kann wenn er nicht an den Geburtstag erinnert werden will...