AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Geburtstagsabfrage

Ein Thema von Walter Landwehr · begonnen am 23. Apr 2023 · letzter Beitrag vom 26. Apr 2023
Antwort Antwort
Seite 1 von 2  1 2      
Walter Landwehr

Registriert seit: 28. Mär 2006
Ort: 32816 Schieder-Schwalenberg
384 Beiträge
 
Delphi 10.4 Sydney
 
#1

Geburtstagsabfrage

  Alt 23. Apr 2023, 11:57
Hallo, ich möchte beim Aufruf einer kundenform und Wechsel des Kunden angezeigt bekommen das dieser Kunde Geburtstag hat. In welschen Ereignis sollte die Abfrage stehen. Auf jeden Fall sollte erst das Formular angezeigt werden und dann die Geburtstagsmeldung. Beim Wechsel vom Kunden sollte die Anzeige auch kommen wenn er Geburtstag hat aber nur einmal.

Delphi-Quellcode:
if CalcBirthday(Patient1Qry.FieldByName('GEBURTSDATUM').AsDateTime) and (Geburtstagheute = True) then
    begin
      lblAlter.Font.Color := clRed;
      MessageDlg('Patient / Klient / Kunde hat heute Geburtstag.?', mtConfirmation, [mbOK],0);
      Geburtstagheute := False;
    end
    else
    begin
      lblAlter.Font.Color := clBlack;
    end;
hat jemand einen Ansatz wo ich den Aufruf Platzieren sollte.
Walter Landwehr
Mfg

Walter
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.014 Beiträge
 
Delphi 12 Athens
 
#2

AW: Geburtstagsabfrage

  Alt 23. Apr 2023, 12:33
Ich würde einen Timer starten, wenn das Form angezeigt bzw. der Kunde gewechselt wird. Damit das nur einmal pro Kunde passiert, musst du dir das eben irgendwo notieren.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.150 Beiträge
 
Delphi 12 Athens
 
#3

AW: Geburtstagsabfrage

  Alt 23. Apr 2023, 12:49
AfterScroll bzw. AfterOpen (oder sowas)

und das erste Open ins OnShow.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.908 Beiträge
 
Delphi 12 Athens
 
#4

AW: Geburtstagsabfrage

  Alt 23. Apr 2023, 15:16
Ich nutze oft einen angepassten DelayWorker, von Sir Rufo hier im Forum, um eine zeitverzögerte Meldung abzusetzen.
Alt aber bewährt.
  Mit Zitat antworten Zitat
Walter Landwehr

Registriert seit: 28. Mär 2006
Ort: 32816 Schieder-Schwalenberg
384 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Geburtstagsabfrage

  Alt 23. Apr 2023, 15:39
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;
Walter Landwehr
Mfg

Walter
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Geburtstagsabfrage

  Alt 24. Apr 2023, 16:07
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...
Peter Below
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#7

AW: Geburtstagsabfrage

  Alt 24. Apr 2023, 16:39
Nur eine Kleinigkeit, aber boolean sollte man auch als solche behandeln:
and (Geburtstagheute = False) Also niemals mit Konstanten vergleichen, sondern boolesche Logik verwenden. In dem Fall simpel:
and Geburtstagheute Da es verschiedene boolean Typen gibt, deren Bedeutung sich auch noch teilweise unterscheidet, kannst Du dir damit auch ein schönes Ei legen.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.150 Beiträge
 
Delphi 12 Athens
 
#8

AW: Geburtstagsabfrage

  Alt 24. Apr 2023, 16:46
and not Geburtstagheute
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#9

AW: Geburtstagsabfrage

  Alt 24. Apr 2023, 16:52
and not Geburtstagheute
Wie peinlich
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.418 Beiträge
 
Delphi 7 Professional
 
#10

AW: Geburtstagsabfrage

  Alt 24. Apr 2023, 18:19
Wenn dann eher andersherum
if not Geburtstagheute and (CalcBirthday(Patient1Qry.FieldByName('GEBURTSDATUM').AsDateTime)) then
Dann können wir uns ggfls. auch noch die mehr oder weniger komplexe Berechnung in CalcBirthday sparen, jedenfalls dann, wenn boolsche Ausdrücke nicht vollständig ausgewertet werden müssen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:29 Uhr.
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