French GEDCOM et B4A

Sergey_New

Well-Known Member
Licensed User
Longtime User
si tu veux que les utilisateurs français comprennent bien le fonctionnement
Je veux que tous les utilisateurs, pas seulement les Français, comprennent la logique du programme.
Ceci est réalisé non seulement par le nom de l'élément, mais aussi par la pratique de travailler avec le programme. Au fait, j'ai commencé par le terme "3 générations", puis j'ai refusé, je n'aimais pas ça. Je vais réfléchir à la façon de le faire uniquement pour la langue française.
Étrange, l'application a été téléchargée 80 fois.
Qui s'y intéresse? Le programme n'est pas terminé ...
 
Last edited:

Marc DANIEL

Well-Known Member
Licensed User
Petite parenthèse généalogique: La plupart des Européens actuels ont certainement dans leur généalogie, une personne descendant de Charlemagne:
Lire cet article intéressant >>> Calcul du nombre théorique d'ascendants possibles

J'ai vérifié cette affirmation, j'ai trouvé, en remontant la généalogie du côté de mon arrière-grand-mère maternelle Claudia BONNETAIN, un lien me permettant de remonter jusqu'à Charlemagne.

Il faut remonter à partir de Claudia BONNETAIN et suivre le chemin suivant:
- son père Raymond BONNETAIN
- François BONNETAIN
- Jeanne DESCOMBES
- Benoît DESCOMBES
- Jean DESCOMBES
- Pierre DESCOMBES
- Claudine MONTMESSIN
- Mathie DESPIERRE
- Claudine GRANDJEAN
- Jean GRANDJEAN
- Claude GRANDJEAN
- Anne BOYER
- Philiberte BARJOT
- Guillaume BARJOT
- Guillaume BARJOT
- Claude 1er BARJOT
- Henriette de BOURBON
- Pierre II de BOURBON
- Charles Ier de BOURBON
- Jean Ier de BOURBON
- Louis II de BOURBON
- Pierre Ier de BOURBON
- Louis Ier de BOURBON
- Robert de CLERMONT
- Saint-Louis (ou Louis IX)
- Louis VIII
- Philippe AUGUSTE
- Louis VII le Jeune
- Louis VI le Gros
- Philippe Ier
- Henri Ier
- Robert le Pieux
- Hugues CAPET
- Hugues le Grand
- Béatrice de VERMANDOIS
- Herbert Ier
- Pépin de Vermandois
- Bernard d'Italie
- Pépin d'Italie
- CHARLEMAGNE
- Pépin le Bref
- Charles MARTEL

Je pense que la plupart des personnes vivant actuellement en Europe peuvent trouver un "chemin" remontant vers l'un(e) ou l'autre de ces ancêtres ...

C'était un moment de détente généalogique.
Cordialement,

Marc DANIEL
Mes applications pour Smartphones développées sous B4X
Mes applications pour Tablettes développées sous B4X
Mes logiciels éducatifs développés sous Visual Studio 2019
Le projet d'application de Sergey permet avec facilité de remonter le temps en arrière sur 46 générations !!! si je compte celle de mes enfants et celle de mes petits-enfants.

Départ à partir de mon arrière-grand-mère Claudia BONNETAIN par exemple:

Depart.PNG


Il suffit de cliquer sur le signe + situé à gauche de son nom pour obtenir immédiatement l'affichage de la génération supérieure de ses parents. Il suffit de continuer à remonter en suivant "le bon chemin" indiqué plus haut sur ce forum et on arrive à Charlemagne et même à 2 générations plus haut à Charles MARTEL, ce qui fait au total une remontée sur 48 générations !

Charlemagne.PNG


Il suffit de cliquer sur le signe + situé à gauche de Charlemagne pour remonter encore à la génération supérieure et ensuite sur "Pépin le Bref" et on arrive à la 48ème génération avec Charles MARTEL.

Mon fichier GEDCOM ne permet pas de remonter plus haut dans le temps:

Arrivee.PNG


Donc félicitations à Sergey pour son travail sur ce projet. Il permet d'exploiter les ressources d'un fichier GEDCOM et de démontrer que ces fichiers sont de, véritables bases de données.

Marc DANIEL
 

Marc DANIEL

Well-Known Member
Licensed User
Je veux que tous les utilisateurs, pas seulement les Français, comprennent la logique du programme.
Ceci est réalisé non seulement par le nom de l'élément, mais aussi par la pratique de travailler avec le programme. Au fait, j'ai commencé par le terme "3 générations", puis j'ai refusé, je n'aimais pas ça. Je vais réfléchir à la façon de le faire uniquement pour la langue française.
Étrange, l'application a été téléchargée 80 fois.
Qui s'y intéresse? Le programme n'est pas terminé ...
Personnellement je l'ai téléchargée deux fois. Je pense que le forum intéresse beaucoup de personnes et ton projet d'application est apparemment très attendu.
 
Last edited:

Marc DANIEL

Well-Known Member
Licensed User
Sergey, j'ai trouvé une princesse russe dans mes ascendances: "Anne de Kiev", (ukrainien : А́нна Яросла́вна ; russe : Анна Ярославна, Anna Iaroslavna)
 

john mad doe

Member
Licensed User
Longtime User
Bonjour

Je suis moi aussi très intéressé par une routine de tri alphabétique performante.

Dans mon cas il s'agit de plusieurs millions de lignes.

John
 

klaus

Expert
Licensed User
Longtime User
Dans mon cas il s'agit de plusieurs millions de lignes.
Et pourquoi autant? Je ne vois pas l'utilitéde trier autant de lignes à la fois.
Sous quelle forme sont tes données?
Ja pense que pour autant de données, une base de données serait utile.
Et les moteurs de bases de données contiennent des méthodes de tri.

Erel a écrit différentes routines de tri ICI.
Je ne les ai pas comparées au niveau vitesse.
La routine contenue dans la Class Flexible Table, celle de #26, n'est pas la plus rapide.
 

Marc DANIEL

Well-Known Member
Licensed User
Screenshot_20200825-180016.PNG


Bon travail, Sergey !
Félicitations.
J'ai beaucoup de progrès à faire pour avancer mon propre projet.
Cordialement,
Marc
 

Marc DANIEL

Well-Known Member
Licensed User
J'avance lentement mais je suis très loin des résultats obtenue par Sergey, même si mon projet est différent du sien.
Je cherche actuellement à rajouter les dates et lieux de naissance aux listes des individus trouvés.

Marc
 

Attachments

  • Fichier.zip
    2.7 KB · Views: 191
  • GEDCOM.zip
    110.8 KB · Views: 191

Marc DANIEL

Well-Known Member
Licensed User
J'avance. J'ai réussi malgré quelques imperfections à créer une routine d'extraction des données des individus détectés dans le GEDCOM. Tester avec le "Fichier.GED" dans le répertoire "Download"
Je continue ...
 

Attachments

  • Fichier.zip
    2.7 KB · Views: 209
  • LABO.zip
    89.2 KB · Views: 214

klaus

Expert
Licensed User
Longtime User
Salut Marc.
Désolé de ne répondre qu'aujourd'hui.
Ces derniers jours j'ai beaucoup bricolé dans la maison de ma fille, donc peu de temps passé sur B4X.
Quelques points:
Dans la version LABO.zip j'ai dû modifier la ligne ci-dessous:
rp.CheckAndRequest(rp.PERMISSION_READ_EXTERNAL_STORAGE)
par
rp.CheckAndRequest(rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
car le programme se plantait.

Dans la version GEDECOM.zip je trouves l'entrée dans le programme compliquée.
D'ailleurs, même si un fichier est trouvé, je ne sais pas comment continuer.
Puis, pourquoi ne pas afficher directement les données trouvées?
Je supposes que c'est le pas suivant.

Je préfères la version dans LABO.zip. Si un fichier existe on l'affiche.
S'il y a plusieurs fichiers, il faut donner à l'utilisateur la possibilité de choisir le fichier qu'il souhaite voir.
Et, lorsqu'on quitte le programme, mémoriser le dernier fichier consulté et afficher celui-ci par défaut.
Pour moi, lorsque je démarre un programme, je préfères entrer directement dans le vif du sujet sans écran d'accueil ou autres artifices.
Mais, bon, ce ne sont que mes impressions.
 

Marc DANIEL

Well-Known Member
Licensed User
Merci Klaus et tu as raison, ton diagnostic est bon: je m'occupe de la carrosserie alors que le moteur n'est pas encore au point.
La maison de ta fille est plus importante que mes projets flous, donc encore merci de ton attention.
 

Marc DANIEL

Well-Known Member
Licensed User
J'avance lentement mais sûrement !
"Chi va piano va sano e va lontano"
 

Attachments

  • GEDCOM2.zip
    92.7 KB · Views: 183

klaus

Expert
Licensed User
Longtime User
J'ai regardé tes projets et j'ai les commentaires suivants:

1. Le programme fonctionne sous Android 9 mais ne fonctionne pas sous Android 10.
Le problème est l'accès à File.DirRootExternal.
Il faut ajouter la ligne ci-dessous dans le Manifest Editor.
SetApplicationAttribute(android:requestLegacyExternalStorage, true)

2. Sur mes appareils on ne voit pas les fichiers à sélectionner.
J'ai du ajouter la ligne ci-dessous aprés ListFich.Initialize:
ListFich.Initialize
ListeDesGEDCOM.SingleLineLayout.Label.TextColor = Colors.Black


3. Après le programme plante dans la routine AjoutDonnee qui n'est pas adaptée aux lignes que tu lis.
Ou tu ne lis pas les bonnes donnés.
La routine est adaptée pour la liste Tribu mais pas pour le fichier ListeNoms.txt.

Désolé, mais j'ai un peu de peine à suivre la logique de ton programme.
Sur ce que tu veux faire et sur ce que tu veux afficher pour l'utilisateur.

Mon sentiment est que tu devrais établir une base de données locale avec les données du fichier sélectionné.
Et après, avec des requêtes appropriées afficher les résultats en fonction de critères au choix.
Je sais, c'est très général, mais comme je ne connais rien à la généalogie c'est difficile de donner des conseils concrets sur comment définir la base de données.
 

Marc DANIEL

Well-Known Member
Licensed User
Klaus, j'apprécie systématiquement toutes tes remarques et j'en tiens compte. Grâce à tes nombreux conseils, je progresse certes lentement mais je progresse.

Je n'ai pas eu personnellement de plantage avec AjoutDonnee et pourtant j'ai testé le projet d'application avec une dizaine de fichiers GED tous d'origine différente mais cela dépend peut-être d'autres facteurs.

Maintenant que j'arrive à décortiquer les GEDCOM, je vais effectivement désormais me consacrer à l'affichage des données concernant un individu à la fois, choisi dans la liste.
A suivre donc.
Cordialement.
Marc
 
Top