Calcul d'une durée en ANNEES (Age d'une personne)
Utilisateur WDF
Inscrit:
19/05/2004 12:10
De LYON
Post(s): 59
Bonjour à tous,

Je suis débutante en WinDev (et en programmation) et j'ai déjà pas mal avancé mon projet, mais je ne pensais pas buter sur un truc aussi bête.

Je cherche à afficher dynamiquement l'âge des personnes dans une table.
Cela semblerait quelque chose d'assez naturel à obtenir, mais cela fait 3 heures que je cherche dans l'aide dans tous les sens et je ne trouve rien. J'ai appelé la Hot-Line qui n'a pas de solution à proposer, les propriétés d'une variable "Durée" n'existent pas autrement que : Jour, Heure, Minute, Seconde, Centième, etc.
Les Mois et Années n'existent pas !
Les exemples fournis utilisent l'âge d'une personne comme une rubrique enregistrée dans un fichier, ce qui ne me paraît pas très logique.
Si je calcule une "Durée" par "DateDifférence" entre "Date de naissance" et "Date du jour", j'obtiens un résultat en nombre de jours, mais je ne trouve pas de fonction pour le passer en numérique afin de le diviser par 365.

Quelqu'un s'est-il déjà embêté la dessus ?
Merci de vos réponses.


Contribution le : 24/05/2004 18:46
Créer un fichier PDF de la contribution Imprimer


Re: Calcul d'une durée en ANNEES (Age d'une personne)
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour Juliane,

Voici une petite fonction saisie à la volée qui permet de calculer l'écart en année entre deux date
pour les puristes cette procédure peut être optimisée.

PROCEDURE Get_Age(sDateDebut est une chaîne, sDateFin est une chaîne=DateSys())

nDate est un entier
nDateJour est un entier
nEcart est un entier
nResultat est un entier

nDate = DateVersEntier(Gauche(sDateDebut,4)+"0101")
nDateJour = DateVersEntier(Gauche(sDateFin,4)+"0101")
nEcart = nDateJour - nDate
nResultat = PartieEntière(nEcart/365)
SI Droite(sDateFin,4) < Droite(sDateDebut,4) ALORS nResultat --
SI nResultat < 0 ALORS nResultat = 0
RENVOYER nResultat


Utilisation de cette fonction en comparaison avec la date du jour
Info(Get_Age("20000101") + " an(s)")


Affiche '4 an(s)'

Utilisation de cette fonction en compraison avec une date passé en paramètre
Info(Get_Age("19500101","20000101") + " an(s)")

Affiche '50 an(s)'

Contribution le : 24/05/2004 23:30
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Calcul d'une durée en ANNEES (Age d'une personne)
DSI WDF
Inscrit:
05/05/2004 13:46
Post(s): 314
Tu peux également utiliser cette fonction qui ne prend pas en compte directement le nombre de jours entre les 2 dates.

PROCEDURE Calcul_Age(DateNaissance est une Date)

DateJour est une Date=DateDuJour()
Age est un entier=DateNaissance..Année-DateJour..Année
SI DateJour..Jour<=DateNaissance..Jour ET DateJour..Mois<=DateNaissance..Mois ALORS
	Age--
FIN
RENVOYER Age

Contribution le : 25/05/2004 08:57
Créer un fichier PDF de la contribution Imprimer


Re: Calcul d'une durée en ANNEES (Age d'une personne)
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
Juste une version 'light' à partir de variables dates

PROCEDURE Get_Age(dDateDebut est une date, dDateFin est une date=DateSys())
SI PAS DateValide(dDateDebut) alors renvoyer -1
SI dDateDebut<dDateFin ALORS RENVOYER -1
RENVOYER(dDateFin..annee-dDateDebut..Année)


non ?

nAge est un entier = Get_Age("20000101")
si nAge<>-1 alors Info(nAge + " an(s)")

Contribution le : 25/05/2004 09:01
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


[Résolu] Calcul d'une durée en ANNEES (Age d'une personne)
Utilisateur WDF
Inscrit:
19/05/2004 12:10
De LYON
Post(s): 59
Merci infiniment pour vos réponses.

J'hésitais à intervenir sur ce forum, mais je constate qu'il y a plein de gens sympas pour aider une pauvre débutante qui essaie de monter une maquette d'appli. en attendant d'avoir les moyens de créer une entreprise autour de mon projet (et d'embaucher les gens compétents).

Merci encore.


Contribution le : 25/05/2004 12:06
Créer un fichier PDF de la contribution Imprimer


Re: [Résolu] Calcul d'une durée en ANNEES (Age d'une personne)
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
De rien Julianne.
Merci de me préciser en privé la raison de telles réticences, cela peut être édifiant. Notre invite en page d'accueil n'est encore assez clair semble-t-il .

Pour votre recherche de compétences, utiliser le même canal... ce genre de discussion est toujours utile.

Bonnes visites à venir et ne pas hésiter à consacrer régulièrement les 10 secondes quotidiennes pour voter et nous soutenir.

Contribution le : 25/05/2004 12:12
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2