![]() |
Hallo,
ich weis ja nicht was Du vor hast. Wenn Du aber nur das Alter in Jahren haben willst, dann decodiere (DecodeDate) doch einfach beide Datumsfelder und ziehe dann Jahr heute von Jahr damals ab. Jetzt brauchst Du nur schauen ob Tag und Monat vor oder gleich oder nach deinem Stichtag ist. Wenn kleiner dann einfach 1 vom Jahr abziehen. Alles verstanden? bye |
So Nun funzt es auch richtig
Delphi-Quellcode:
Thx @ all
procedure TForm3.DBEdit10Change(Sender: TObject);
var datum1, datum2,Dneu,dneu1: TDatetime; i: Integer; d,m,y,d1,y1,m1 : Word; begin IF DBEdit10.Text <>'' then begin datum1:= Query1.FieldByName('date').AsDateTime; datum2:=now; decodedate(datum1,y,m,d); decodedate(datum2,y1,m1,d1); dneu := encodedate(1,m,d); //Geburtsdatum dneu1 := encodedate (1,m1,d1); //aktuelles datum If dneu > dneu1 then i := Round((y1 - y)-1); edit2.Text := IntToStr(i) + ' Jahre'; If dneu < dneu1 then i := Round(y1 - y); edit2.Text := IntToStr(i) + ' Jahre'; If dneu = dneu1 then i := Round(y1 - y); edit2.Text := IntToStr(i) + ' Jahre'; end else begin Edit2.Text := ''; end; end; |
Hallo,
als Function wärs schöner gewesen !
Delphi-Quellcode:
function AlterInJahren(const Damals, Heute: TDateTime): Integer;
var DamalsTag, DamalsMonat, DamalsJahr: Word; HeuteTag, HeuteMonat, HeuteJahr: Word; begin if Heute < Damals then begin Result := -1 end else begin DecodeDate (Damals, DamalsJahr, DamalsMonat, DamalsTag); DecodeDate (Heute, HeuteJahr, HeuteMonat, HeuteTag); Result := HeuteJahr - DamalsJahr; if (HeuteMonat <= DamalsMonat) and (HeuteTag < DamalsTag) then begin Dec (Result); end; end; end;
Delphi-Quellcode:
bye
procedure TForm3.DBEdit10Change(Sender: TObject);
var datum1, datum2,Dneu,dneu1: TDatetime; i: Integer; d,m,y,d1,y1,m1 : Word; begin IF DBEdit10.Text <>'' then begin datum1:= Query1.FieldByName('date').AsDateTime; datum2:=now; edit2.Text := IntToStr(AlterInJahren(datum1, datum2) + ' Jahre'; end else begin Edit2.Text := ''; end; end; |
Sorry das ich erst jetzt schreibe, aber mein Motherboard hatte den löffel abgegeben, Deine Variante gefällt mir irgendwie besser.
mmhh auf jedenfall Danke nochmal für eure hilfe! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:49 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-2025 by Thomas Breitkreuz