AGB  ·  Datenschutz  ·  Impressum  







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

Tage in Jahre

Ein Thema von The Re@l · begonnen am 5. Apr 2003 · letzter Beitrag vom 8. Apr 2003
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#11
  Alt 6. Apr 2003, 11:00
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
  Mit Zitat antworten Zitat
The Re@l

Registriert seit: 2. Jan 2003
77 Beiträge
 
#12
  Alt 6. Apr 2003, 13:34
So Nun funzt es auch richtig

Delphi-Quellcode:
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;
Thx @ all
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#13
  Alt 6. Apr 2003, 14:21
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:
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;
bye
  Mit Zitat antworten Zitat
The Re@l

Registriert seit: 2. Jan 2003
77 Beiträge
 
#14
  Alt 8. Apr 2003, 15:55
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!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 19:04 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