![]() |
Alter berechnen!
Hallo,
ich habe da mal wieder ein kleines problem... Ich habe eine DateTimePicker und zwei variablen datum:string; datum := DateToStr(Now); time:string; time := DateToStr(DateTimePicker.Date); Ich möchte jetzt sozusagen datum - time berechnen und dann das "alter" anzeigen lassen, z.B. über ShowMessage. Wie folgt bin ich vorgegangen.
Delphi-Quellcode:
Funktioniert irgendwie nicht ganz.
procedure TForm7.datum_dateChange(Sender: TObject);
var alter:extended; begin time := DateToStr(datum_date.Date); alter := StrToDate(datum) - StrToDate(time); if (alter) >= 18 then begin Tabsheet4.TabVisible := true; end else if (alter) < 18 then begin Tabsheet4.TabVisible := false; end; end; Wenn das augewählte Datum 1995, dann wir der Tabsheet nicht auf false gesetzt :gruebel: Woran liegt das? |
Re: Alter berechnen!
Hallo...
probier mal folgendes:
Delphi-Quellcode:
...weglassen, wenn das Programm in den else Zweig läuft ist alter eh < 18
if (alter) < 18 then
aus...
Delphi-Quellcode:
machst du mal...
if (alter) >= 18 then
Delphi-Quellcode:
:hi:
if alter >= 18 then
|
Re: Alter berechnen!
Hmm... habe ich gemacht, geht aber nicht.
Liegt das vielleicht am OnChange des TimeDatePickers? |
Re: Alter berechnen!
Zitat:
Du kannst doch direkt damit rechnen:
Delphi-Quellcode:
So sollte es klappen.
procedure TForm7.datum_dateChange(Sender: TObject);
var alter: TDateTime; begin alter := now - datum_date.Date; if alter >= 18 then Tabsheet4.TabVisible := true else Tabsheet4.TabVisible := false; end; Gruß Michael |
Re: Alter berechnen!
nimm mal einen anderen Variablennamen für time.
...könnte mit dem reserviertem Wort Time verwechselt werden. Und dann stimmt deine Berechnung nicht. |
Re: Alter berechnen!
Hallo,
bei TDateTime-Werten gibt die Zahl vor dem Komma die Tage und nicht die Jahre an. Hast du dir schon einmal die Unit DateUtils und deren Routinen angesehen? Gruß Hawkeye |
Re: Alter berechnen!
Stimmt, mal nachgebessert :stupid: :angel2:
Zitat:
|
Re: Alter berechnen!
Ich habe mir das jetzt mal anzeigen lassen. Das Problem ist, dass wenn ich ich z.B. den 4.11.1990 aus wähle, dann zeigt Delphi mir über Showmessage den 4.11.1917 an. Woran liegt das?
|
Re: Alter berechnen!
Zitat:
|
Re: Alter berechnen!
showmessage(datetostr(alter));
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:46 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