AGB  ·  Datenschutz  ·  Impressum  







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

Geburtsdatum errechnen

Ein Thema von Kunoishi · begonnen am 28. Okt 2009 · letzter Beitrag vom 10. Dez 2009
Antwort Antwort
Seite 1 von 2  1 2      
Kunoishi

Registriert seit: 26. Dez 2002
Ort: Berlin
140 Beiträge
 
Delphi 5 Standard
 
#1

Geburtsdatum errechnen

  Alt 28. Okt 2009, 20:08
Ich hatte hier mal einen Quellcode gefunden zur berechnung des Geburtsdatums
Delphi-Quellcode:
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;
dieses wollte ich jetzt in meinem Projekt einbinden
Delphi-Quellcode:
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;
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.

Komme aber nicht ganz klar damit und Suche wie so oft hier wieder mal eure Hilfe.
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Geburtsdatum errechnen

  Alt 28. Okt 2009, 20:22
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:
!90/90/00;1;_
Auf das Verlassen des MaskEdits kannst du beispielweise im Ereignis OnExit reagieren.

MFG
Patti
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
Kunoishi

Registriert seit: 26. Dez 2002
Ort: Berlin
140 Beiträge
 
Delphi 5 Standard
 
#3

Re: Geburtsdatum errechnen

  Alt 28. Okt 2009, 20:26
wie kann ich aber den Wert bei dem EncodeDate();
von meiner MaskEdit zuweisen?
Das wäre hier mein Problem.
  Mit Zitat antworten Zitat
28. Okt 2009, 20:32
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "VCL / WinForms / Controls" verschoben.
Delphi-Frage: TMaskEdit -> VCL
Benutzerbild von himitsu
himitsu

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

Re: Geburtsdatum errechnen

  Alt 28. Okt 2009, 20:37
String nach TDate (TDateTime)
z.B. Delphi-Referenz durchsuchenStrToDate


Gibt es keinen TDateTimePicker in D5?
$2B or not $2B
  Mit Zitat antworten Zitat
Kunoishi

Registriert seit: 26. Dez 2002
Ort: Berlin
140 Beiträge
 
Delphi 5 Standard
 
#6

Re: Geburtsdatum errechnen

  Alt 28. Okt 2009, 20:43
werde ich mal durchforsten, ich hoffe ich werde damit klar kommen
  Mit Zitat antworten Zitat
Kunoishi

Registriert seit: 26. Dez 2002
Ort: Berlin
140 Beiträge
 
Delphi 5 Standard
 
#7

Re: Geburtsdatum errechnen

  Alt 10. Dez 2009, 17:07
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:
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;
bis hierhin geht auch alles
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
  Mit Zitat antworten Zitat
Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#8

Re: Geburtsdatum errechnen

  Alt 10. Dez 2009, 18:00
In der CodeLib hier hättest du ein Beispiel gefunden:

Zitat:
Delphi-Quellcode:
gebdate:=EncodeDate(1950,1,25);
 Edit1.Text:=IntToStr(age(gebdate)); ergibt 59 bei Systemdatum < 25.01.2010
Gruß

Wolfgang

[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824
  Mit Zitat antworten Zitat
Kunoishi

Registriert seit: 26. Dez 2002
Ort: Berlin
140 Beiträge
 
Delphi 5 Standard
 
#9

Re: Geburtsdatum errechnen

  Alt 10. Dez 2009, 18:08
oh dann schau ich dort mal noch durch
danke
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#10

Re: Geburtsdatum errechnen

  Alt 10. Dez 2009, 19:32
Zitat von Wolfgang Mix:
In der CodeLib hier hättest du ein Beispiel gefunden:

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.
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.
  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 13:36 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