Bonjour à tous,
j'ai fait une application et j'ai besoin de savoir l'âge d'une personne selon sa date de naissance. Quelqu'un peut m'aider ?
Bonjour à tous,
j'ai fait une application et j'ai besoin de savoir l'âge d'une personne selon sa date de naissance. Quelqu'un peut m'aider ?
Et qu'est-ce qui te pose de problème ? Tu n'as qu'à soustraire l'année en cours avec l'année de naissance, et juste faire un test concernant le mois et le jour pour savoir si son anniversaire est déjà passé ou non.Envoyé par walid_kerkoub
pour vous quelqu'un qui est né le 31 décembre 2006 ce retrouve le 01/01/2007 au matin avec un ans d'ageEnvoyé par MiJak
.
vous pouvez utilser la fonction YearsBetween de l'unité DateUtils.
si vous voulez un calcule particulier tu devra écrire ta propre fonction.
Ah non il faut bien lire mon message : on soustrait 2007 à 2006 = 1, et ensuite comme je l'ai écrit juste faire un test pour savoir si son anniversaire est passé, et comme ce n'est pas le cas (1er janvier < 31 décembre), on soustrait 1 au résultat, donc 0 anEnvoyé par aityahia
![]()
mais où avais-je la tête ?
Merci MiJack.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 DecodeDate(Date(), YearA, MonthA, DayA); DecodeDate(StrToDate(Self.Edit1.Text), YearN, MonthN, DayN); if MonthA<MonthN then age:=yearA-yearN-1 else if MonthA>MonthN then age:=YearA-YearN else if DayA<DayN then age:=yearA-YearN-1 else age:=yearA-yearN; Self.Edit2.Text:=IntToStr(age);
ou plus court (soucis avec bissextile)
Code : Sélectionner tout - Visualiser dans une fenêtre à part YearsBetween(Date(), StrToDate(Self.Edit1.Text));
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !![]()
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
il ne faut pas réinventé la roue.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Try Edit2.Text:=IntTostr(YearsBetween(Now,StrToDate(Edit1.Text))); Except Edit2.Text := 'Erreur, Date de naissance Incorrecte'; end;
ton code est plus simple, je ne connaissait pas l'existance de la fonction YearsBetween.
Merci à tous.
Oui. L'âge en années, c'est le nombre d'années entières qu'on a vécu, c'est la partie entière de l'âge décimal en années, donc oui.Envoyé par aityahia
Partager