![]() |
Geburtsdatum errechnen
Ich hatte hier mal einen Quellcode gefunden zur berechnung des Geburtsdatums
Delphi-Quellcode:
dieses wollte ich jetzt in meinem Projekt einbinden
function Age(BirthDate: TDate): integer;
var y1,y2,m1,m2,d1,d2: Word; begin SysUtils.DecodeDate(date,y1,m1,d1); SysUtils.DecodeDate(BirthDate,y2,m2,d2); Result := ((y1 * 10000 + m1 * 100 + d1) - (y2 * 10000 + m2 * 100 + d2)) div 10000; end;
Delphi-Quellcode:
hierzu möchte ich aber eine MaskEdit zur Eingabe verwenden, um bei verlassen dieser in dem Editfeld "Alter.Text" mir dann das Alter ausgeben zu lassen.
procedure TSachverhaltForm.DateTimePicker1Exit(Sender: TObject);
begin DateTimePicker1.DateTime:=EncodeDate(1950,1,25); Alter.Text:='das Alter der Person ist ' + IntToStr(age(DateTimePicker1.Date)) + ' Jahre'; //ergibt 59 bei Systemdatum < 25.01.2010 end; Komme aber nicht ganz klar damit und Suche wie so oft hier wieder mal eure Hilfe. |
Re: Geburtsdatum errechnen
Meinst du, dass du zur Eingabe des Datums ein MaskEdit verwenden möchtest? Wenn ja, dann zieh dir ein MaskEdit auf dein Formular und stelle bei der Eigenschaft EditMask folgenden Wert ein:
Code:
Auf das Verlassen des MaskEdits kannst du beispielweise im Ereignis OnExit reagieren.
!90/90/00;1;_
MFG Patti |
Re: Geburtsdatum errechnen
wie kann ich aber den Wert bei dem EncodeDate();
von meiner MaskEdit zuweisen? Das wäre hier mein Problem. |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "VCL / WinForms / Controls" verschoben.
Delphi-Frage: TMaskEdit -> VCL |
Re: Geburtsdatum errechnen
|
Re: Geburtsdatum errechnen
werde ich mal durchforsten, ich hoffe ich werde damit klar kommen :-)
|
Re: Geburtsdatum errechnen
da ich mit den Berechnungen des Geburtstags noch nicht so recht weiter komme, habe ich mal umgedacht und mein Problem anderes angefast. Wo ich ein wenig besser klarkomme und eigentlich schon ein Ergebnis habe.
Hierzu verwende ich ein Stringgrid (Dazu hatte ich was hier im Forum gefunden)
Delphi-Quellcode:
bis hierhin geht auch alles
procedure TForm.StringGridKeyPress(Sender: TObject;
var Key: Char); begin with StringGrid do begin if col = 6 then if key = Chr(13) then calcYears; end end; procedure TForm.calcYears; var heute: TDateTime; geb, jahr, monat, tag: Word; i,code: Integer; begin heute := Now; DecodeDate(heute, jahr, monat, tag); with StringGrid do begin EditorMode := True; if Cells[6,row] <> '' then begin Val(Cells[6,row], geb, code); Cells[3,row] := IntToStr(jahr-geb) end end end; jetzt habe ich aber nicht nur das Jahr für die Berechnungsgrundlage sondern möchte das Datum verwenden (20.12.1971) damit die Berechnung genauer wird. wie bekomme ich das den jetzt nur hin |
Re: Geburtsdatum errechnen
In der CodeLib
![]() Zitat:
Wolfgang [edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit] |
Re: Geburtsdatum errechnen
oh dann schau ich dort mal noch durch :-)
danke |
Re: Geburtsdatum errechnen
Zitat:
könntet ihr solche spitzen Kommentare bitte weglassen? erstens: wenn das so weitergeht, fragt irgendwann niemand mehr zweitens: gibt es immer wieder neue Aspekte und Ideen, auch wenn das Thema irgendwo schonmal behandelt wurde drittens: hättest du schreiben können "da konnte ich folgendes finden" viertens: einfach gar nicht antworten, wenn man nicht möchte fünftens: gibt es Menschen, die beim Suchen wirklich nicht so geschickt sind, wie Du, oder vielleicht einfach die falschen Suchwörter eingegeben haben sechstens: entwickelt sich Technik immer weiter, so dass es vielleicht auch neue Lösungen zu dem Problem geben könnte. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz