AGB  ·  Datenschutz  ·  Impressum  







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

Alter errechnung

Ein Thema von alixuszocker · begonnen am 23. Feb 2008 · letzter Beitrag vom 24. Feb 2008
Antwort Antwort
Seite 1 von 2  1 2      
alixuszocker

Registriert seit: 21. Feb 2008
3 Beiträge
 
#1

Alter errechnung

  Alt 23. Feb 2008, 12:24
Hey leute, ich habe hier mal nen bissl gesucht habe aber nix gefunden.

Ich brauche Folgendes, ich möchte mir mein alter errechnen lassen, dass soll wie folgt funktionieren:

ich habe 2Edit Felder und eine Variable [alter] so jetzt soll das programm folgendes können.
Ich gebe in Edit1.Text mein Geburtsdatum ein zb 20.03.1990 so dann soll er jetzt das heutige datum nachschauen und sagen das man 17Jahre alt is und die 17jahre soll er auf edit2.text raus hauen und zusätzlich in die Variable alter rein schreiben wie alt man ist also 17 damit ich mit der variable alter noch etwas mehr machen kann aber das ist uninteressant.

wäre cool wenn mir hier einer helfen kann.

MFG Alex
  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: Alter errechnung

  Alt 23. Feb 2008, 12:34
Du hast eine Delphi(.Net)-Thema eröffnet, aber du meinst wohl eher Delphi(Win32). Vielleicht könntest du das noch ändern. Hier mal einpaar Stichwörter, die dir helfen könnten:

StrToDate, Date(now), DateToStr

Du kannst Datumswerte einfach voneinander abzeihen, also z.B.

Diff := Wert2 - Wert1; Hoffe, ich konnte dir zumindest etwas weiterhelfen!
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#3

Re: Alter errechnung

  Alt 23. Feb 2008, 12:35
nimm doch 'n tDateEdit, dann gehts wie folgt Alter := date - DatumEingabe.value;

that's all.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Alter errechnung

  Alt 23. Feb 2008, 12:39
Wenn Du mit TDateTime-Werten rechnest, erhältst Du die Differenz in Tagen und müsstest noch alle Schaltjahre ermitteln, die zwischen den beiden Daten liegen. Ich würde das wohl eher mit TSystemTime machen, etwa so:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var heute, GebDat: TSystemTime;
    Alter: byte;
begin
  DateTimeToSystemTime(now,heute);
  DateTimeToSystemTime(StrToDateTime(Edit1.Text),GebDat);
  Alter := heute.wYear - GebDat.wYear;
  if heute.wMonth < GebDat.wMonth then
    dec(Alter)
  else if (heute.wMonth = GebDat.wMonth) and (heute.wDay < GebDat.wDay) then
    dec(Alter);
  Edit2.Text := inttostr(Alter);
end;
Allerdings findet hier keine Fehlerbehandlung statt, die musst Du schon selbst implementieren.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#5

Re: Alter errechnung

  Alt 23. Feb 2008, 12:46
Wenns wirklich .NET ist ist das supereasy
Der Datentyp System.DateTime bzw. TimeSpan kann das nämlich aus dem FF:

Delphi-Quellcode:
var geburtstag: System.DateTime;
var heute: System.DateTime;
var diff: System.TimeSpan;
begin
  heute := DateTime.Today;
  geburstag := DateTime.Parse(textbox1.Text);
  diff := heute - geburtstag;
  textbox2.Text := (diff.Days / 365).ToString();
end;
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Alter errechnung

  Alt 23. Feb 2008, 12:50
Bist Du sicher, dass das auch mit den Schaltjahren funktioniert? Die 365 finde ich etwas optimistisch.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Alter errechnung

  Alt 23. Feb 2008, 12:52
Ich würde zuerst nur die Jahreszahlen betrachten und dann überprüfen welches der beiden Daten vorher ist und dementsprechend die Jahre dann anpassen
Markus Kinzler
  Mit Zitat antworten Zitat
Thanatos81
(Gast)

n/a Beiträge
 
#8

Re: Alter errechnung

  Alt 23. Feb 2008, 12:55
Unter Delphi32 würde ich einfach YearsBetween aus der Unit DateUtils nutzen. Wobei das mit Schaltjahren nicht 100%ig genau ist, da es nicht alle Schaltjahre raussucht sondern mit 365,25 Tagen pro Jahr rechnet.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Alter errechnung

  Alt 23. Feb 2008, 12:57
Zitat von mkinzler:
Ich würde zuerst nur die Jahreszahlen betrachten und dann überprüfen welches der beiden Daten vorher ist und dementsprechend die Jahre dann anpassen
Genauso mache ich es ja in meinem Beispiel (allerdings nicht in .NET )
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#10

Re: Alter errechnung

  Alt 23. Feb 2008, 13:00
Zitat von DeddyH:
Bist Du sicher, dass das auch mit den Schaltjahren funktioniert? Die 365 finde ich etwas optimistisch.
Nicht wirklich.
Nehmen wir an, N sei eine glatte Zahl ohne Nachkommastellen.
Das ganze wird genau dann ein klein wenig ungenau, wenn (Anzahl Tage / 365) plus minus (N/4) Tage an ein N herankommt.
Für diese Zeiträume kann man dann nochmach nachprüfen, ob das aktuelle Datum (Tag, Monat) kleiner ist als der eingegebene Geburstag und wenn ja, 1 von der Anzahl der Jahre abziehen wenn wir knapp _über_ N sind. Wenn wir unter N sind passt das ja.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  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 11:25 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