• Advertisement

Généalogie

Tout ce qui concerne la version 10 de windev
**Windev est une marque déposée de Pcsoft**

Généalogie

Messagepar berz98 » Mer Juin 08, 2011 4:35 pm

Bonjour,

J'ai fais une petite application pour gérer un élevage d'oiseau j'aimerai en sélectionnant un oiseau avoir son arbre généalogie mais je ne sais pas comment mi prendre. Si quelqu'un à une idée merci à lui.
berz98
Nouveau Membre
 
Messages: 5
Inscription: Ven Mar 31, 2006 12:01 pm

Advertisement

Re: Généalogie

Messagepar Jurassic Pork » Jeu Juin 09, 2011 4:37 am

Bonjour,
tu peux utiliser un arbre pour afficher la généalogie ( la table hiérarchique existait-elle en windev 10 ? ) .
Peux-tu nous indiquer la structure actuelle de ta base de données ?

Ami calmant, J.P ;-)
Avatar de l’utilisateur
Jurassic Pork
Membre
 
Messages: 41
Inscription: Ven Juin 03, 2011 10:33 pm

Re: Généalogie

Messagepar 1160francis » Jeu Juin 09, 2011 7:20 am

je n'arrive plus à me connecter avec berz98 j'ai du réinscrire.
donc j'ai une base de donnée toute simple (N° bague de l'oiseau, date de naissance, sexe, espèce, N°bague du père, N° bague de la mère)
1160francis
Nouveau Membre
 
Messages: 7
Inscription: Jeu Juin 09, 2011 7:14 am

Re: Généalogie

Messagepar Jurassic Pork » Jeu Juin 09, 2011 3:18 pm

Il te faut plusieurs générations ou seulement les parents ?
sous quelle forme le résultat : graphique , table , texte , autre ?

Ami calmant, J.P ;)
Avatar de l’utilisateur
Jurassic Pork
Membre
 
Messages: 41
Inscription: Ven Juin 03, 2011 10:33 pm

Re: Généalogie

Messagepar Samifred » Jeu Juin 09, 2011 7:45 pm

Bonjour,

Juste une question, comment est constitué le N°de bague... et le format... numérique, alphanumérique, nombre de caractère ?

Comme ici
Cordialement, en espérant que ma collaboration soit profitable. Fred Image
PS: Il est important d'indiquer, dans la question, la version WD utilisée.
Note: Pas de question par MP, merci.
Avatar de l’utilisateur
Samifred
 
Messages: 3552
Inscription: Sam Nov 26, 2005 12:16 pm
Localisation: 128.0.0.0

Re: Généalogie

Messagepar 1160francis » Sam Juin 11, 2011 2:47 pm

Il me faudrait sur plusieurs génération si possible. le format du n° bague est au format texte.
1160francis
Nouveau Membre
 
Messages: 7
Inscription: Jeu Juin 09, 2011 7:14 am

Re: Généalogie

Messagepar Samifred » Dim Juin 12, 2011 9:47 am

Ceci avec génération à l'infini... mais en version wd12

Les données ne sont que des saisies bidons pour tester.

Image
Cordialement, en espérant que ma collaboration soit profitable. Fred Image
PS: Il est important d'indiquer, dans la question, la version WD utilisée.
Note: Pas de question par MP, merci.
Avatar de l’utilisateur
Samifred
 
Messages: 3552
Inscription: Sam Nov 26, 2005 12:16 pm
Localisation: 128.0.0.0

Re: Généalogie

Messagepar 1160francis » Dim Juin 12, 2011 2:46 pm

Je travaille sous windev 10, pour savoir les descendants d'un oiseau j'arrive à le faire, moi ce que je voudrai c'est en sélectionnant un oiseaux j'ai son père, sa mère, son grand père, sa grand mère etc.. et ça du côté du père et de la mère.
1160francis
Nouveau Membre
 
Messages: 7
Inscription: Jeu Juin 09, 2011 7:14 am

Re: Généalogie

Messagepar Jurassic Pork » Lun Juin 13, 2011 2:42 pm

Bonjour,

est-ce qu'un arbre dans le genre de celui-ci te conviendrait ? :
Image

les chiffres correspondent à un numéro de bague fictif. En rose les femelles, en bleu les mâles :P
chaque niveau de l'arborescence correspond à une génération :
par exemple 1006 est le fils de 1003 et 1004 , 1003 est la fille de 1000 et 1001.
on remplit l'arbre en cliquant dans la table sur l'oiseau dont on veut voir les ancêtres.

Utiliser un arbre pour des oiseaux ça me paraît logique :lol:

Ami calmant, J.P ;-)
Avatar de l’utilisateur
Jurassic Pork
Membre
 
Messages: 41
Inscription: Ven Juin 03, 2011 10:33 pm

Re: Généalogie

Messagepar Samifred » Lun Juin 13, 2011 2:59 pm

Elle est bien bonne :lol: j'avais pas pensé au détournement de l'arbre :P bravo !!!
Cordialement, en espérant que ma collaboration soit profitable. Fred Image
PS: Il est important d'indiquer, dans la question, la version WD utilisée.
Note: Pas de question par MP, merci.
Avatar de l’utilisateur
Samifred
 
Messages: 3552
Inscription: Sam Nov 26, 2005 12:16 pm
Localisation: 128.0.0.0

Re: Généalogie

Messagepar 1160francis » Lun Juin 13, 2011 3:38 pm

De cette façon ça me va parfaitement, tu peu m'expliquer un peu plus pour les codes merci.
1160francis
Nouveau Membre
 
Messages: 7
Inscription: Jeu Juin 09, 2011 7:14 am

Re: Généalogie

Messagepar Samifred » Lun Juin 13, 2011 3:48 pm

1160francis a écrit:je n'arrive plus à me connecter avec berz98 j'ai du réinscrire.
donc j'ai une base de donnée toute simple (N° bague de l'oiseau, date de naissance, sexe, espèce, N°bague du père, N° bague de la mère)


Malheureusement je n'ai plus de version 10 installée.

Mais avec deux rubriques de plus un "Numéro de famille" qui reste le même et un "Numéro de génération" que tu incrémentes à chaque naissance, tu fais ce que tu veux.

Un tri sur la famille et la génération de font l'arbre généalogique.
Cordialement, en espérant que ma collaboration soit profitable. Fred Image
PS: Il est important d'indiquer, dans la question, la version WD utilisée.
Note: Pas de question par MP, merci.
Avatar de l’utilisateur
Samifred
 
Messages: 3552
Inscription: Sam Nov 26, 2005 12:16 pm
Localisation: 128.0.0.0

Re: Généalogie

Messagepar Jurassic Pork » Lun Juin 13, 2011 4:07 pm

Pour générer l'arbre j'utilise une procédure récursive ( c'est à dire qu'elle s'appelle elle-même). Normalement il ne faut pas utiliser ce genre de fonction en Wlangage mais quand le nombre d'appels n'est pas trop important la pile n'explose pas. Voici ce que je fais :
dans la table où il y a tous les oiseaux quand je double-clic sur une ligne j'ouvre une fenêtre avec un champ arbre qui représente ses ancêtres.
Voici le code (testé en WD9, à optimiser et à ajuster) :
dans le code de la table sur doubleclic (numbague est la colonne de la table avec le numéro de bague)
Code: Tout sélectionner
Ouvre(FEN_ARBRE,numbague)


dans initialisation de FEN_ARBRE :
Code: Tout sélectionner
PROCEDURE FEN_ARBRE(numerobagueoiseau)
ArbreAjoute(Arbre1,"oiseau"+TAB+numerobagueoiseau,aDéfaut, aDéfaut,numerobagueoiseau)
ArbreRécursif(numerobagueoiseau,"oiseau"+TAB+numerobagueoiseau)


et voici le plus compliqué la procédure récursive :
Code: Tout sélectionner
PROCEDURE ArbreRécursif(xParentID = 0,chemcomplet = "oiseau")
nPosition est un entier
père est un entier
mère est un entier

POUR TOUT Oiseaux    AVEC Oiseaux.numbague = xParentID
    SI Oiseaux.mère <> 0 ALORS
   codoiseaumere est une chaîne =  Oiseaux.mère
   chemoiseaumere est une chaîne = chemcomplet+TAB+codoiseaumere

   ArbreAjoute(Arbre1, chemoiseaumere,aDéfaut,aDéfaut,codoiseaumere)
       // on colore en rose
   Arbre1[chemoiseaumere]..CouleurFond = RVB(255, 199, 240)
   ArbreRécursif((Oiseaux.mère),chemoiseaumere)
   FIN

   SI Oiseaux.père <> 0 ALORS
   codoiseaupere est une chaîne = Oiseaux.père
   chemoiseaupere est une chaîne = chemcomplet+TAB+codoiseaupere
             
   ArbreAjoute(Arbre1, chemoiseaupere,aDéfaut,aDéfaut,codoiseaupere)
       // on colore en bleu
   Arbre1[chemoiseaupere]..CouleurFond = RVB(165, 240, 255)
   
   ArbreRécursif((Oiseaux.père),chemoiseaupere)
   FIN
FIN


Ami calmant, J.P ;-)
Avatar de l’utilisateur
Jurassic Pork
Membre
 
Messages: 41
Inscription: Ven Juin 03, 2011 10:33 pm

Re: Généalogie

Messagepar 1160francis » Mar Juin 14, 2011 6:18 am

Merci pour votre aide
1160francis
Nouveau Membre
 
Messages: 7
Inscription: Jeu Juin 09, 2011 7:14 am



  • Advertisement

Retourner vers Forum Windev 10

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités