Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Geburtstagsabfrage (https://www.delphipraxis.net/212913-geburtstagsabfrage.html)

himitsu 24. Apr 2023 19:28

AW: Geburtstagsabfrage
 
Und auch das Doppelte rauswerfen.

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;
Im ersten IF ist etwas, was auch im 2. IF nochmal drin ist -> die Farbe.

Delphi-Quellcode:
HatGeburtstag := CalcBirthday(Patient1Qry.FieldByName('GEBURTSDATUM').AsDateTime);
if HatGeburtstag and not GeburtstagHeute then
  MessageDlg('Patient / Klient / Kunde hat heute Geburtstag?', mtConfirmation, [mbOK], 0);
GeburtstagHeute := True;

//if HatGeburtstag then
//  lblAlter.Font.Color := clRed
//else
//  lblAlter.Font.Color := clBlack;
lblAlter.Font.Color := IfThen(HatGeburtstag, clRed, clBlack);
2 Drittel weniger Code, nichts Mehrfach und vermutlich auch übersichtlicher/verständlicher.


wobei

Delphi-Quellcode:
HatGeburtstag := CalcBirthday(Patient1Qry.FieldByName('GEBURTSDATUM').AsDateTime);
//if HatGeburtstag and not GeburtstagHeute then GeburtstagHeute := MessageDlg('Patient / Klient / Kunde hat heute Geburtstag?', mtConfirmation, [mbClose,mbIgnore], 0) = mrIgnore;
//if HatGeburtstag then GeburtstagHeute := GeburtstagHeute or (MessageDlg('Patient / Klient / Kunde hat heute Geburtstag?', mtConfirmation, [mbClose,mbIgnore], 0) = mrIgnore);
GeburtstagHeute := GeburtstagHeute or (HatGeburtstag and (MessageDlg('Patient / Klient / Kunde hat heute Geburtstag?', mtConfirmation, [mbClose,mbIgnore], 0) = mrIgnore));
lblAlter.Font.Color := IfThen(HatGeburtstag, clRed, clBlack);

TurboMagic 25. Apr 2023 18:35

AW: Geburtstagsabfrage
 
Zitat:

Zitat von peterbelow (Beitrag 1521486)
Zitat:

Zitat von Walter Landwehr (Beitrag 1521433)
Danke an alle habe es hinbekommen. Anzeige im OnShow und dann im AfterScroll.
OnShow der Form
Delphi-Quellcode:
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... :wink:
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... ;-)

MyRealName 26. Apr 2023 07:44

AW: Geburtstagsabfrage
 
Zitat:

Zitat von TurboMagic (Beitrag 1521537)
Naja, man könnte dem Kunden ein Boolsches Flag spendieren das man setzen kann wenn er nicht an den Geburtstag erinnert werden will... ;-)

Wobei es fraglich ist, ob man einen Menschen an seinen Geburtstag erinnern muss... Bin fast 50 und mir ist meiner noch NIE entfallen :)

himitsu 26. Apr 2023 09:50

AW: Geburtstagsabfrage
 
Och, kann schonmal passieren.
Und vielleicht will man nicht mehr erinnert werden?

Mann hat es ja nicht so leicht, wie die Anderen, denn wie heißt es gerne mal?
"Die besten 10 Jahre der Frau sind die zwischen 29 und 30."




Aber ja, natürlich kommt es drauf an.
Hier hatte sich auch mal wer gewünscht, dass beim Einloggen "alle" die heutigen Geburtstage sehen.
Was schon ein bissl gegen den Datenschutz ist.

TurboMagic 26. Apr 2023 17:47

AW: Geburtstagsabfrage
 
Bei uns in der Abteilung gibt's einen GID (Geburtags Informations Dienst).
Kann man "abonieren", man kann die Meldung seines Geburtstages aber sicher
auch rausnehmen lassen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz