FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Synedit Parameters
par Yannick Aujourd'hui à 0:27

» Code à vérifier SVP (Oups ! résolu)
par Jean Claude Hier à 21:16

» Compilateur FBPano
par jean_debord Hier à 9:56

» Bienvenue à Virtualalan !
par UltraVox Hier à 9:18

» Concours de Morpions
par jjn4 Hier à 0:04

» ShortName$(F) [Cloturé]
par papydall Mer 21 Juin 2017 - 16:19

» Remplacer espace par tiret dans noms des dossiers / fichiers
par papydall Mer 21 Juin 2017 - 15:27

» Menu personalisé avec icones et menu contextuel
par Laurent (Minibug) Mer 21 Juin 2017 - 12:44

» La liste des choses à faire ...
par Jack Mar 20 Juin 2017 - 22:49

» Quoi de neuf à propos de Goric 3D ? (@Jack)
par UltraVox Mar 20 Juin 2017 - 21:06

» Nom court et anti fenetre dos
par silverman Mar 20 Juin 2017 - 18:31

» Ludothèque Panoramic
par jjn4 Mar 20 Juin 2017 - 18:09

» Proposition à la communauté
par Yannick Mar 20 Juin 2017 - 15:02

» >199
par maelilou Mar 20 Juin 2017 - 14:13

» NUMBER_FOCUS
par Yannick Lun 19 Juin 2017 - 15:25

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2017
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
2627282930  
CalendrierCalendrier

Partagez | 
 

 genealogie

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
maelilou



Nombre de messages : 109
Age : 68
Localisation : Ardennes françaises
Date d'inscription : 02/05/2012

MessageSujet: genealogie   Sam 9 Mar 2013 - 15:53

Et bien voilà...

C'est un programme qui permet à partir d'un fichier GED généré par un programme de généalogie (Heredis en l’occurrence, mais ce pourrait être un autre) d'extraire d'une masse de médias mélangés (toutes familles confondues) les seuls médias intéressés par ce Ged.

En fait bien souvent, les actes, les photos, les signatures quand on les enregistre, on ne sait pas toujours où les conserver.
Donc souvent par simplicité ou fainéantise, on colle tout en vrac.
Et si un jour un correspondant vous demande une branche de votre généalogie avec les médias qui vont bien avec...

Si il faut trier... Au secours. J'en ai plus de 5000.



Code:

' Programme de recherche des medias dans un fichier GED
' Vanderesse 20130116

 Init()
 recherche()

 affichage()
 crenewged()
end

' ************************  Variables , label etc  **************************
SUB Init()
dim w0,h0
w0=1200
h0=700
dim w$,x$, y$, z$ ,a$ , n%  ,tex$ ,fin, nouvged$

dim x,y,yy,z, trlr, ged$ ,rep$ , srep$,ficorigine$, prefixe$
label  debut, arret ,traitement , err

 width 0,w0
 height 0,h0
 caption 0,"Recherche des medias et transfert par Maelilou"
 color 0,215, 214, 232
 
 ' picture 500
 ' file_load 500,"D:\panoramic\ane.jpg"

  container 5 : top 5,10 : left 5,100 : width 5,1000 : height 5,100
    alpha 6 : parent 6,5 : top 6,20 : left 6,150 : width 6,400
    color 6,232, 232, 255 : font_color 6,0,0,0: font_bold 6 : font_size 6,11
    tex$ = " Ce programme extrait les medias concernés par le fichier Ged  "
    tex$ = tex$ + "que vous allez choisir : " +chr$(13)
    tex$ = tex$ + " par defaut la racine des fichiers sera celle du fichier Ged."+chr$(13)

    caption 6,tex$

 container 10 : top 10,120 : left 10,100 : width 10,1000 : height 10,300 : ' hide 10


alpha 21 : parent 21,10 : top 21,30 : left 21,150 : width 21,600 : height 21,40
    color 21,232, 232, 255 : font_color 21,0,0,0: font_bold 21 : font_size 21,11

list 1 : width 1, 800 : top 1,220 : left 1,200: color 1,232, 232, 255 : height 1,200

  button 50
active 50
left 50,400
top 50,350
caption 50,"OK"


button 60
active 60
left 60,600
top 60,350
caption 60,"Arrêt"



 end_sub



 


' *********************
' Choix du fichier GED
' *********************
sub recherche()

open_dialog 15
filter 15,"fichier GED|*.ged"
ged$=file_name$(15) : ' choisir un nom de fichier avec open_dialog numéro 15
if ged$ = "_"

caption 21, "Pas de fichier selectionné. Fermeture du programme": wait 3000:goto arret
end_if

' repertoire courant
  rep$=dir_current$

' recherche nom à donner au nouveau Ged
  nouvged$=left$(ged$,len(ged$)-4)+"BIS.ged"


  ' affichage des tenants et aboutissants.
 tex$="Fichier traité = " + ged$+ chr$(13)

 tex$= tex$ + "Les fichiers seront generés dans = " + rep$ + chr$(13)
 tex$= tex$ + "Le nouveau fichier Ged sera = " + nouvged$
 ' tex$=tex$+"Chargement du fichier GED. Veuillez patienter"
 caption 21, tex$
end_sub


 '-----------------------------
 ' creation nouveau ged
 ' ----------------------------

  sub crenewged()
  file_open_write 2,nouvged$

  end_sub

 ' -------------------------------------------------
 ' Ouverture du fichier GED et affichage dans LIST 1
 ' -------------------------------------------------
 sub affichage()
 

file_load 1,ged$

on_click 60,arret
on_click 50, debut

 end_sub
 
 
 ' -----------------------------------------
 ' lecture et recherche de File dans GED
 ' -----------------------------------------
 debut:
 x=0
while a$<>"TRLR"
x=x+1
z$=item_read$(1,x)
a$=mid$(z$,3,4)
prefixe$=left$(z$,7)
If a$="TRLR"
file_writeln 2,"0 TRLR" : ' ecriture de fin de fichier GED
goto arret
end_if

if a$="FILE"

gosub traitement



end_if
' écriture dans le nouveau GED de lignes normales.
  file_writeln 2,z$

 end_while

 ' -----------------------------------
 ' Copie des fichiers JP et GED
 ' -----------------------------------
  traitement:
    ' copie medias
  print_locate 200,500

 ficorigine$=mid$(z$,8,1000)
  print_locate 200,450 : print ficorigine$ + string$(50," ")
y$=ficorigine$
 y=instr(y$,"\")

  y$=right$(y$,(len(y$)-y))
  y=instr(y$,"\")
  y$=right$(y$,(len(y$)-y))

 y=instr(y$,"\")
 srep$=left$(y$,y)
 if dir_exists(srep$)=0
 dir_make srep$
 end_if
 y$=right$(y$,(len(y$)-y))
 y$=rep$+"\"+srep$+y$
 print_locate 200,500 :print y$ + string$(50," ")

 if file_exists(y$)=0
  on_error_goto err
file_copy ficorigine$,y$
 print_locate 200,475:print "Copié vers": ' wait 200
  end_if
 
    ' copie dans nouveau GED
   
  z$=prefixe$ + y$
  ' file_writeln 2,z$
  return

 ' ----------------------------------------------------------------------------
 ' fermeture volontaire ou pas de fichier selectionné
  arret:

caption 21,"Le programme va s'arrêter. A + !"
 if ged$<>"_"
file_close 2
end_if
  wait 3000
  terminate


  err:
  print error_number
  print error_type$
  print error_line
  print ficorigine$
  print y$
  stop


Il n'est pas sophistiqué, mais correspond à mes besoins.
C'est sûr que si Jack compte y trouver matière ça va être duraille...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
maelilou



Nombre de messages : 109
Age : 68
Localisation : Ardennes françaises
Date d'inscription : 02/05/2012

MessageSujet: et celui là ...   Sam 9 Mar 2013 - 15:59

Dans la foulée, en voilà un autre.
Il permet de connaître quels sont les médias affecté à un personnage.

Celui là ce fut le premier. Et ça se voit...
Notez que ça se voit aussi sur les suivants !

Donc il utilise un fichier Ged mais génère les résultats dans un fichier Excel

Code:

' Programme de recherche des medias dans un fichier GED
' Vanderesse 2012/05/02

' Il faut tout d'abord trier dans la recherche multicritére d'Heredis par
' 1 individu, lignée Sosa
' 2 Union, Type, est different de, non connu
' Puis marquer les fiches
' exporter gedcom , individus marqués et seulement les medias.

      ' Deux phases dans le programme
      ' Naissance, baptéme, décés
      ' tri du fichier excel par no de famille, colonne M
      ' information des mariages
      ' enregistrement du fichier excel

' ************************  Variables , label etc  **************************
dim w$,x$, z$
dim objet$, libel1$, libel2$, libel3$
dim nofam$,noind$,nom$,prenom$, dnai$,lnai$,nai$,dbat$,lbat$,bat$
dim ddec$,ldec$,dec$,dmar$,lmar$,mar$,phot$ ,wife$ ,husb$
dim media$
dim famprec$
dim x, z,x1,x2 ,x% , trlr, ged$


 width 0,1000
 height 0,1000
label choixfichier,debut
label fermeture ,zeroindi ,dejalu, arret
label miseazero
label naissance, deces, bapteme ,recherche_evenement, recherchenofam ,progmariage, mariage
label lecture , lecturefam ,famillesuivante,evenementmariage,departmariage
label libel1, libel2 ,libel3,verslibel1
label rechercheville , finfamille ,recherchenoepouse, recherchenomari,lectcola ,recherchedateplacfile
 libel1$="        BIRTDEATCHR FAMS"  : ' recherche naissance deces bapteme
 libel2$="    DATEPLACFILE    FAMSDEATBURIOCCUSEX SIGN"  : ' recherche date lieu media
 libel3$="    DATEPLACFILEHUSBWIFECHILOBJEFORMMARR_USTMARC_FNA"

label valeurlibel2
label positexcel,ecriturexls ,lecturexls  , ici
Dim excelord,excelabc ,excelord$,excelabc$,positexcel$,datexcel$, ordexcel ,ordmax
dim excelordhusb, excelordwife


left 0,176
top 0,128
width 0,450
height 0,260
caption 0,"Recherche des medias"
 color 0,247,254,213

' ***************************************************
' Choix du fichier GED Ouverture du XLS, Entete etc.*
' ***************************************************
choixfichier:

open_dialog 15
ged$=file_name$(15) : ' choisir un nom de fichier avec open_dialog numéro 1
if ged$ = "_"
  print_locate 50,100
print "Pas de fichier selectionné. Fermeture du programme": wait 5000: goto arret
end_if

 print_locate 100,100
 print "Fichier traité : "+ged$

button 5
active 5
left 5,120
top 5,180
caption 5,"C'est parti !"
on_click 5,debut

button 6
active 6
left 6,250
top 6,180
caption 6,"C'est pas bon !"
on_click 6,arret


end


 ' ---------------------------
 ' Ouverture du fichier GED
 ' ---------------------------
 debut:
 
 cls
FILE_OPEN_READ 1,ged$
 ' ---------------------------
 ' Ouverture du fichier Excel
 ' ---------------------------
 excel_start
 wait 1500
 excel_file_new 1
 ' -----------------------------------------------
 ' ecriture de l'entête du fichier Excel
 ' -----------------------------------------------
  excelord$=2
  excelabc$="D" :datexcel$="Fichier traité : "+x$:gosub ecriturexls
  excelord$=4
 excelabc$="A" :datexcel$="No Ind":gosub ecriturexls
 excelabc$="B" :datexcel$="Nom":gosub ecriturexls
 excelabc$="C" :datexcel$="Prénom":gosub ecriturexls
 excelabc$="D" :datexcel$="D naissance":gosub ecriturexls
 excelabc$="E" :datexcel$="L naissance":gosub ecriturexls
 excelabc$="F" :datexcel$="Media":gosub ecriturexls
 excelabc$="G" :datexcel$="D batheme":gosub ecriturexls
 excelabc$="H" :datexcel$="L batheme":gosub ecriturexls
 excelabc$="I" :datexcel$="Media":gosub ecriturexls
 excelabc$="J" :datexcel$="D deces":gosub ecriturexls
 excelabc$="K" :datexcel$="L deces":gosub ecriturexls
 excelabc$="L" :datexcel$="Media":gosub ecriturexls
 excelabc$="M" :datexcel$="No Fam":gosub ecriturexls
 excelabc$="N" :datexcel$="D mariage":gosub ecriturexls
 excelabc$="O" :datexcel$="L mariage":gosub ecriturexls
 excelabc$="P" :datexcel$="Media":gosub ecriturexls
 
 excelord=5
 
 
' ***************************************
' on recherche le premier individu
' ***************************************
 zeroindi:
 gosub miseazero
 gosub lecture

' Est ce un individu ? test sur label INDI
 z=instr(w$,"INDI")
 if z<>0
 
 ' dejalu. On revient ici si un nouvel individu 0 @xx@ INDI a été detecté
 dejalu:
 ' recherche du no d'individu dans  "0 @XXXXX@ INDI"
 z=instr(w$,"@")+1
 w$=mid$(w$,z,30)
 z=instr(w$,"@")-2
 w$=left$(w$,z)
 noind$=w$
 
 ' recherche ordonnees a chaque changement d'individu
 excelord=excelord+1:excelord$=str$(excelord)
 ordmax=excelord :' on récupére le dernier no de ligne dans le tableau
 excelabc$="A":datexcel$=noind$: gosub ecriturexls



gosub lecture: ' on saute le label NAME
gosub lecture
 nom$=mid$(w$,8,60) :print nom$:' nom GIVN
 excelabc$="B":datexcel$=nom$:gosub ecriturexls

 gosub lecture
 prenom$=mid$(w$,8,60) :print prenom$:' prenom SURN
 excelabc$="C":datexcel$=prenom$: gosub ecriturexls

 goto recherche_evenement
 end_if
 goto zeroindi
 
 
 ' **********************************************
 ' Recherche d'un evenement BIRT CHR DEAT FAMS
 ' **********************************************
 recherche_evenement:

 gosub lecture
  verslibel1:
  gosub libel1 : ' recherche NDBF "        BIRTDEATCHR FAMS"

  select x%
  case 0: ' print "rien"
  case 1: goto dejalu: 'changement d'individu lexture faite
  case 2: goto naissance
  case 3: goto deces
  case 4: goto bapteme
  case 5: gosub recherchenofam:datexcel$=nofam$:excelabc$="M":gosub ecriturexls
  end_select
  goto recherche_evenement

  ' ***********
  ' naissance
  ' ***********
  naissance:

  gosub lecture
  gosub libel2 : ' recherche date lieu et media  "    DATEPLACFILE    FAMSDEATBURIOCCUSEX SIGN"
  select x%
  case 0:goto naissance
  case 1:gosub valeurlibel2:dnai$=x$:datexcel$=dnai$:excelabc$="D":gosub ecriturexls:goto naissance
  case 2:gosub valeurlibel2:gosub rechercheville:lnai$=x$:datexcel$=lnai$:excelabc$="E":gosub ecriturexls:goto naissance
  case 3: nai$="N": print nai$:datexcel$=nai$:excelabc$="F":gosub ecriturexls:goto recherche_evenement
  case 4:goto dejalu: 'changement d'individu lexture faite
  case 5:gosub recherchenofam:datexcel$=nofam$:excelabc$="M":gosub ecriturexls:goto recherche_evenement
  case 6:goto verslibel1
  case 7:goto verslibel1
  case 8:goto verslibel1
  case 9:goto verslibel1
  case 10:goto verslibel1
  end_select
  goto naissance

  ' ***********
  ' bapteme
  ' ***********
  bapteme:


  gosub lecture
  gosub libel2 : ' recherche date lieu et existence media
  select x%
  case 0:goto bapteme
  case 1:gosub valeurlibel2:dbat$=x$:datexcel$=dbat$:excelabc$="G":gosub ecriturexls:goto bapteme
  case 2:gosub valeurlibel2:gosub rechercheville:lbat$=x$:datexcel$=lbat$:excelabc$="H":gosub ecriturexls:goto bapteme
  case 3:bat$="B": print bat$:datexcel$=bat$:excelabc$="I":print excelabc$:gosub ecriturexls:goto recherche_evenement
  case 4:goto dejalu: 'changement d'individu lexture faite
  case 5:gosub recherchenofam:datexcel$=nofam$:excelabc$="M":gosub ecriturexls : goto recherche_evenement
  case 6:goto verslibel1
  case 7:goto verslibel1
  case 8:goto verslibel1
  case 9:goto verslibel1
  case 10:goto verslibel1
  end_select
  goto bapteme


  ' ***********
  ' deces
  ' ***********
  deces:

  gosub lecture
  gosub libel2:  ' recherche date lieu et existence media
  select x%
  case 0:goto deces
  case 1:gosub valeurlibel2:ddec$=x$:datexcel$=ddec$:excelabc$="J":gosub ecriturexls:goto deces
  case 2:gosub valeurlibel2:gosub rechercheville:ldec$=x$:datexcel$=ldec$:excelabc$="K":gosub ecriturexls:goto deces
  case 3:dec$="D": print dec$:datexcel$=dec$:excelabc$="L":gosub ecriturexls:goto recherche_evenement
  case 4:goto dejalu: 'changement d'individu lexture faite
  case 5:gosub recherchenofam:datexcel$=nofam$:excelabc$="M":gosub ecriturexls:goto recherche_evenement
  case 6:goto verslibel1
  case 7:goto verslibel1
  case 8:goto verslibel1
  case 9:goto verslibel1
  case 10:goto verslibel1
  end_select

  goto deces
 
 
 ' *****************************
 ' sous programme
 ' *****************************

 ' ---------------------------------------------------------------------------
 ' recherche dans libel1  naissance / decés / bapteme
 libel1:
 X%=0
 z=instr(w$,"INDI")
 if z<>0
 X%=1: ' on change d'individu
 return
 end_if
 x%=0
 x$=mid$(w$,3,4)
 x%=instr(libel1$,x$)
 x%=x%/4 : ' on recupere le type d'evenement

 return
 ' ---------------------------------------------------------------------------
 ' recherche dans libel2 date / lieu / existence media
 libel2:
 X%=0
 z=instr(w$,"INDI")
 if z<>0
 X%=4 : ' on change d'individu
 return
 end_if
 x%=0
 x$=mid$(w$,3,4)
 x%=instr(libel2$,x$)
 x%=x%/4 : ' on recupere le type d'evenement

 return
 ' -------------------------------------------------------------------------
 ' valeur de ville,date media etc.
 valeurlibel2:
 x$=mid$(w$,8,60)

 return
 
 ' -------------------------------------------------------------------------
 ' recherche no de familledand "1 FAMS @XXXXXU@
 recherchenofam:
 z=instr(w$,"@")+1
 w$=mid$(w$,z,30)
 z=instr(w$,"@")-2
 w$=left$(w$,z)
 nofam$=w$
 return
 ' ------------------------------------------------------------------------
 ' Reduction du lieu à la seule ville
 rechercheville:
 if x$<>""
  z=instr(x$,",")-1
  x$=left$(x$,z)
  end_if
 return
 ' ------------------------------------------------------------------------
 'position dans excel
 positexcel:
 positexcel$=excelabc$+excelord$
 return
 ' -------------------------------------------------------------------------
 ' ecriture dans le fichier exel
 ecriturexls:

 gosub positexcel

 excel_write positexcel$,datexcel$

 datexcel$="" :positexcel$=""
 return
 ' -------------------------------------------------------------------------
 ' lecture dans le fichier exel
 lecturexls:

 gosub positexcel

 datexcel$=excel_read$ (positexcel$)

 return


 ' ------------------------------------------------------------------------
 ' lecture dans le Gedcom  et test sur la fin de fichier = TRLR pour les GED

 lecture:
 file_readln 1,w$
 x$=mid$(w$,3,4)
 if x$="TRLR" :' on est à la fin du fichier GED

 trlr=1 :' la premiere partie du programme est faite
 goto fermeture
  end_if
 return

 
 
  '***************************************************************************
  ' Deuxieme phase du programme
 
  '***************************************************************************
  ' mariage
  '***************************************************************************
  progmariage:

 form 10
 left 10,176
top 10,128
width 10,450
height 10,260
caption 10,"tri fichier excel"
 color 10,212,252,254

 PRINT_TARGET_IS 10
 print_locate 100,100
 Print "Trier le fichier excel suivant colonne M"

  COMMAND_TARGET_IS 10
  button 7
active 7
left 7,120
top 7,180
caption 7,"On continue !"
on_click 7,departmariage
end

departmariage:
  FILE_OPEN_READ 1,ged$
  excelord=5 :' premiere ligne en ordonnée du tableau
  trlr=2 :' ce flag permet de savoir que le prog est en phase 2
  ' -----------------------------------------------------------------------------
  ' recherche no premiere famille  ou famille suivante dans le fichier excel
  famillesuivante:

  excelabc$="M": excelord=excelord+1
  ordexcel=excelord

                  if excelord=ordmax :' on atteint la fin du tableau excel
                  goto fermeture
                  end_if
 
  excelord$=str$(excelord)
  gosub positexcel
  datexcel$=excel_read$(positexcel$) :' lecture de la famille
  nofam$=datexcel$
 
                ' print_locate 100,150
                ' print str$(excelord)+" "+ nofam$+" "+famprec$:stop
 
    if nofam$=famprec$:' cette famille a été traitée
    goto famillesuivante
        end_if
 

  if nofam$="":' pas de famille ???
  goto famillesuivante
  end_if


  ' -----------------------------------------------------------------------------
  ' reconstitution no famille style GED
 
  z$="0 @"+nofam$+"U@ FAM"  :' exemple "0 @4313U@ FAM" C'est une union

  famprec$=nofam$ :' la famille à traiter est conservée dans famprec$
 

  ' -----------------------------------------------------------------------------
  ' recherche dans le fichier GED  de la famille
  ici:
  gosub lecturefam
 
              if w$<>z$
              goto ici
              end_if

  goto mariage :' la famille a été trouvée
 
 
 ' ------------------------------------------------------------------------
 ' lecture dans le Gedcom

 lecturefam:
 file_readln 1,w$

 x$=mid$(w$,3,4)
      if x$="TRLR" :' on est à la fin du fichier GED mariages terminés.

      trlr=2
      goto fermeture

      end_if : ' programme terminé.
 return
 
  ' -----------------------------------------------------------------------------
  ' famille trouvée on recherche les balises HUSB et WIFE qui suivent MARR

    ' mariage
  mariage:
  gosub lecturefam:gosub libel3
      if x%=4
      gosub recherchenomari
      end_if
 
  gosub lecturefam:gosub libel3
      if x%=5
      gosub recherchenoepouse
      end_if
     


  ' on recherche les balises DATE,PLAC,FILE qui suivent MARR

  recherchedateplacfile:
  gosub lecturefam

  gosub libel3 : ' recherche date lieu et existence media

  select x%
  case 0:goto recherchedateplacfile
  case 1:gosub valeurlibel2:dmar$=x$:goto recherchedateplacfile
  case 2:gosub valeurlibel2:gosub rechercheville:lmar$=x$:goto recherchedateplacfile
  case 3:mar$="M":goto recherchedateplacfile
  case 4:goto recherchedateplacfile :' HUSB
  case 5:goto recherchedateplacfile :' WIFE
  case 6:goto recherchedateplacfile :' CHIL enfant
  case 7:goto recherchedateplacfile :' OBJE
  case 8:goto recherchedateplacfile :' FORM
  case 9:goto recherchedateplacfile :' MARR mariage
  case 10:goto finfamille  :' _UST MARRIED  On change donc de famille on traite les données du mariage
  case 11:goto recherchedateplacfile:' MARC contrat de mariage
  case 12:goto recherchedateplacfile :' _FNA acte à rechercher
  end_select

  stop

 
 ' -----------------------------------------------------------------------
 ' recherche dans "    DATEPLACFILEHUSBWIFECHILOBJEFORMMARR_USTMARC"
 libel3:
  X%=0
 x$=mid$(w$,3,4)
 x%=instr(libel3$,x$)
 x%=x%/4 : ' on recupere le type d'evenement

 return
 
 
'*******************************************
' Enregistrement des données du mariage    *
'*******************************************
 ' on arrive ici aprés avoir lu la balise _UST
 finfamille:


 excelabc$="A"
 excelord=6
 noind$=husb$

 gosub lectcola :' lecture dans la colonne A de l'individu
                print_locate 100,50
                print str$(excelord)

    excelordhusb=excelord
 gosub evenementmariage

 
 excelabc$="A"
 excelord=6
 noind$=wife$
 gosub lectcola :' lecture dans la colonne A de l'individu


                  print_locate 100,50
                  print str$(excelord)


      excelordwife=excelord
 gosub evenementmariage

 


 ' on se repositionne sur la derniere famille lue dans le fichier excel
 dmar$="":lmar$="":mar$="":wife$="":husb$=""
excelord=ordexcel
  excelabc$="M"
 

  goto famillesuivante
 ' -----------------------------------------------------------------
 evenementmariage:

 datexcel$=dmar$:excelabc$="N":gosub ecriturexls
 datexcel$=lmar$:excelabc$="O":gosub ecriturexls
 datexcel$=mar$:excelabc$="P":gosub ecriturexls
 return
 
 

 
 ' ***********************************************
 ' recherche mari/femme dans tableau excel
 ' lecture de la colonne A numéro des individus
 
 
 lectcola:
 excelord$=str$(excelord)
 gosub lecturexls
 if datexcel$<>noind$
 excelord=excelord+1
 goto lectcola
 end_if
 return
 
 ' ------------------------------------------------------------------------
 ' extraction no mari  "1 HUSB @XXXXXI@
 ' -------------------------------------------------------------------------

 recherchenomari:

 z=instr(w$,"@")+1
 husb$=mid$(w$,z,30)
 z=instr(husb$,"@")-2
 husb$=left$(husb$,z)

 return

 
 ' ------------------------------------------------------------------------
 ' extraction no femme  "1 WIFE @XXXXXI@
 ' -------------------------------------------------------------------------

 recherchenoepouse:

 z=instr(w$,"@")+1
 wife$=mid$(w$,z,30)
 z=instr(wife$,"@")-2
 wife$=left$(wife$,z)

 return

 ' ***************************************************************************
 'fermeture du fichier ged eof ou TRLR atteint
 ' ***************************************************************************
 fermeture:
 file_close 1

 if trlr=1
 goto progmariage :' deuxieme partie du programme
 end_if
 ' ----------------------------------------------------------------------------

 excel_file_close 1
 excel_stop
  terminate:end
 
  ' end_if
 ' return
 ' ----------------------------------------------------------------------------
 ' fermeture volontaire ou pas de fichier selectionné
  Arret:
  print_locate 100,100
  print "Le programme va s'arrêter à votre demande. A + !"
  wait 5000
    cls
    terminate:end
 ' -----------------------------------------------------------------------------
 ' mise à zero ou à vide
 miseazero:
  nofam$="":noind$="":nom$="":prenom$="": dnai$="":lnai$="":nai$=""
  dbat$="":lbat$="":bat$=""
  ddec$="":ldec$="":dec$="":dmar$="":lmar$="":mar$="":phot$=""
 datexcel$=""
  return
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
maelilou



Nombre de messages : 109
Age : 68
Localisation : Ardennes françaises
Date d'inscription : 02/05/2012

MessageSujet: Re: genealogie   Sam 9 Mar 2013 - 16:17


Un fichier Ged c'est en fait un fichier texte avec une structure légèrement tordue...
Ce sont les Mormons qui ont crée la norme.
Pour les curieux TRLR est une marque de fin de fichier.
Ben oui ça s'invente pas.
et il faut retrouver ses petits là dedans.
Ce genre de fichier peut atteindre plus de 100000 lignes comme qui rigole.


Code:

0 HEAD
1 SOUR HEREDIS 11 PC
2 VERS 11
2 NAME HEREDIS PC
2 CORP BSD Concept ©
3 ADDR www.heredis.com
1 DATE 27 APR 2012
2 TIME 11:47:28
1 GEDC
2 VERS 5.5
2 FORM LINEAGE-LINKED
1 CHAR ANSI
1 PLAC
2 FORM Town , Area code , County , Region , Country, Subdivision
1 SUBM @S0@
0 @S0@ SUBM
1 ADDR
0 @10I@ INDI
1 NAME Georges Roland Clement Ghislain/VANDERESSE/
2 GIVN Georges Roland Clement Ghislain
2 SURN VANDERESSE
1 SEX M
1 OBJE
2 FORM jpg
2 FILE D:\genealogie heredis vanderesse\trombinoscope\vanderesse_georges.jpg
1 BIRT
2 DATE 17 NOV 1911
2 PLAC Bantheville,55110,Meuse,Lorraine,FRANCE,
2 OBJE
3 FORM jpg
3 FILE D:\genealogie heredis vanderesse\actes_vanderesse_nizet\n_vanderesse_georges_roland_clement_ac55028ec55028.JPG
1 CHR
2 DATE 25 NOV 1911
2 PLAC Bantheville,55110,Meuse,Lorraine,FRANCE,
2 _FNA YES
1 DEAT
2 DATE 5 FEB 1989
3 TIME 8:15
2 PLAC Verdun,55100,Meuse,Lorraine,FRANCE,hopital saint nicolas
2 OBJE
3 FORM jpg
3 FILE D:\genealogie heredis vanderesse\actes_vanderesse_nizet\d_vanderesse_georges_ad55408ec55545.jpg
1 BURI
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
1 OCCU cultivateur ouvrier magasinier
1 FAMS @4312U@
1 FAMC @4313U@
1 SIGN YES
1 _FIL LEGITIMATE_CHILD
0 @11I@ INDI
1 NAME Yvonne Elisabeth/HENRION/
2 GIVN Yvonne Elisabeth
2 SURN HENRION
1 SEX F
1 OBJE
2 FORM jpg
2 FILE D:\genealogie heredis vanderesse\trombinoscope\henrion_yvonne.jpg
1 OBJE
2 FORM jpg
2 FILE D:\genealogie heredis vanderesse\trombinoscope\henrion_yvonne_1.jpg
1 BIRT
2 DATE 15 JUN 1921
3 TIME 16:0
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
2 OBJE
3 FORM jpg
3 FILE D:\genealogie heredis vanderesse\actes_vanderesse_nizet\n_henrion_yvonne_ac55408ec55408.JPG
1 CHR
2 DATE 11 SEP 1921
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
1 DEAT
2 DATE 30 MAR 1991
3 TIME 6:0
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
2 OBJE
3 FORM jpg
3 FILE D:\genealogie heredis vanderesse\actes_vanderesse_nizet\d_henrion_yvonne_ac55408ec55408.jpg
1 BURI
2 DATE 1 APR 1991
3 TIME 14:30
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
1 OCCU employée de banque
1 FAMS @4312U@
1 FAMC @4314U@
1 SIGN YES
1 _FIL LEGITIMATE_CHILD
0 @12I@ INDI
1 NAME Sylvain Marie Joseph Ghislain/VANDERESSE/
2 GIVN Sylvain Marie Joseph Ghislain
2 SURN VANDERESSE
1 SEX M
1 OBJE
2 FORM jpg
2 FILE D:\genealogie heredis vanderesse\trombinoscope\vanderesse_sylvain_senior.jpg
1 BIRT
2 DATE 6 JUL 1877
3 TIME 9:0
2 PLAC Tourinnes-Saint-Lambert,1457,Brabant Wallon,Wallonie,BELGIQUE,
2 OBJE
3 FORM jpg
3 FILE D:\genealogie heredis vanderesse\actes_vanderesse_nizet\n_vanderesse_sylvain_acbelgiec_1457.jpg
1 DEAT
2 DATE 18 APR 1962
3 TIME 17:30
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
2 OBJE
3 FORM jpg
3 FILE D:\genealogie heredis vanderesse\actes_vanderesse_nizet\d_vanderesse_sylvain_ac55408ec55408.jpg
1 BURI
2 DATE 23 APR 1962
3 TIME 10:30
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
1 OCCU Cultivateur
1 FAMS @4313U@
1 SIGN YES
1 _FIL LEGITIMATE_CHILD
0 @13I@ INDI
1 NAME Azelie Marie Therese Ghislaine/LORETTE/
2 GIVN Azelie Marie Therese Ghislaine
2 SURN LORETTE
1 SEX F
1 OBJE
2 FORM jpg
2 FILE D:\genealogie heredis vanderesse\trombinoscope\lorette_azelie.jpg
1 BIRT
2 DATE 24 SEP 1887
2 PLAC Lonzée,5030,Namur,Wallonie,BELGIQUE,
1 DEAT
2 DATE 13 MAY 1954
3 TIME 15:0
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
2 OBJE
3 FORM jpg
3 FILE D:\genealogie heredis vanderesse\actes_vanderesse_nizet\d_lorette_azelie_ac55408ec55408.jpg
1 BURI
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
1 OCCU Cultivatrice
1 FAMS @4313U@
1 SIGN YES
1 _FIL LEGITIMATE_CHILD
0 @14I@ INDI
1 NAME Charles Louis/HENRION/
2 GIVN Charles Louis
2 SURN HENRION
1 SEX M
1 OBJE
2 FORM jpg
2 FILE D:\genealogie heredis vanderesse\trombinoscope\henrion_charles_junior.jpg
1 BIRT
2 DATE 1 MAR 1896
2 PLAC Paris,10,Seine,Ile de France,FRANCE,
2 OBJE
3 FORM jpg
3 FILE D:\genealogie heredis vanderesse\actes_vanderesse_nizet\n_henrion_charles_louis_1896_ac75000ec75011.jpg
1 DEAT
2 DATE 5 MAY 1967
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
2 OBJE
3 FORM jpg
3 FILE D:\genealogie heredis vanderesse\actes_vanderesse_nizet\d_henrion_charles_louis_ac55408ec55408.jpg
1 BURI
2 DATE 6 MAY 1967
3 TIME 16:0
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
1 OCCU coiffeur caviste employé de bureau etc.
1 FAMS @4314U@
1 SIGN YES
1 _FIL LEGITIMATE_CHILD
0 @15I@ INDI
1 NAME Marie Therese/BERTHELEMY/
2 GIVN Marie Therese
2 SURN BERTHELEMY
2 NSFX née Gobert
1 SEX F
1 BIRT
2 DATE 3 JUL 1898
3 TIME 20:0
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
2 OBJE
3 FORM jpg
3 FILE D:\genealogie heredis vanderesse\actes_vanderesse_nizet\n_berthelemy_gobert_therese_ac55408ec55408.JPG
2 OBJE
3 FORM jpg
3 FILE D:\genealogie heredis vanderesse\actes_vanderesse_nizet\n_berthelemy_gobert_therese_1_ac55408ec55408.JPG
1 DEAT
2 DATE 15 NOV 1970
3 TIME 10:0
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
2 OBJE
3 FORM jpg
3 FILE D:\genealogie heredis vanderesse\actes_vanderesse_nizet\d_berthelemy_therese_ac55408ec55408.jpg
1 BURI
2 DATE 17 NOV 1970
3 TIME 15:0
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
1 OCCU sans
1 FAMS @4314U@
1 SIGN YES
1 _FIL LEGITIMIZED_CHILD
0 @76I@ INDI
1 NAME Dominique Marie Thérése/VANDERESSE/
2 GIVN Dominique Marie Thérése
2 SURN VANDERESSE
2 NICK nique
1 SEX F
1 OBJE
2 FORM jpg
2 FILE D:\genealogie heredis vanderesse\trombinoscope\dominique 2010.JPG
2 DATE 2010
1 BIRT
2 DATE 27 JAN 1950
3 TIME 16:30
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
1 CHR
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
1 OCCU infirmiere
1 FAMS @4338U@
1 FAMC @4312U@
1 SIGN YES
1 _FIL LEGITIMATE_CHILD
0 @89I@ INDI
1 NAME Timothée/VANDERESSE/
2 GIVN Timothée
2 SURN VANDERESSE
2 NICK Tim
1 SEX M
1 BIRT
2 DATE 2 DEC 1982
2 PLAC Nancy,54000,Meurthe-et-Moselle,Lorraine,FRANCE,
1 OCCU professeur d'anglais
1 FAMC @4338U@
1 SIGN YES
1 _FIL RECOGNIZED_CHILD
0 @90I@ INDI
1 NAME Jean Pierre Marie Vincent/GUICHARD/
2 GIVN Jean Pierre Marie Vincent
2 SURN GUICHARD
1 SEX M
1 OBJE
2 FORM jpg
2 FILE D:\genealogie heredis vanderesse\trombinoscope\guichard_jean_pierre.jpg
1 BIRT
2 DATE 11 FEB 1950
3 TIME 4:0
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
1 OCCU cultivateur
1 FAMS @4338U@
1 FAMC @4339U@
1 SIGN YES
1 _FIL LEGITIMATE_CHILD
0 @91I@ INDI
1 NAME André Irenée Marcel/GUICHARD/
2 GIVN André Irenée Marcel
2 SURN GUICHARD
1 SEX M
1 BIRT
2 DATE 25 DEC 1921
3 TIME 12:0
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
1 CHR
2 DATE 22 JAN 1922
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
2 _FNA YES
1 OCCU agriculteur à pouilly
1 FAMS @4339U@
1 FAMC @5412U@
1 SIGN YES
1 _FIL LEGITIMATE_CHILD
0 @92I@ INDI
1 NAME Therese Paule Marguerite Marie/FORESTIER/
2 GIVN Therese Paule Marguerite Marie
2 SURN FORESTIER
1 SEX F
1 BIRT
2 DATE 8 FEB 1921
2 PLAC Paris,16,Seine,Ile de France,FRANCE,
1 DEAT
2 DATE 7 MAR 2012
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
2 _FNA YES
1 BURI
2 DATE 10 MAR 2012
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
2 _FNA YES
1 FAMS @4339U@
1 FAMC @4379U@
1 _FIL LEGITIMATE_CHILD
0 @203I@ INDI
1 NAME Marguerite Lucie Clotilde/RICADAT/
2 GIVN Marguerite Lucie Clotilde
2 SURN RICADAT
1 SEX F
1 BIRT
2 DATE 18 SEP 1892
2 PLAC Noisy-le-Sec,93130,Seine-Saint-Denis,Île-de-France,FRANCE,
1 DEAT
2 DATE 18 MAY 1976
3 TIME 9:0
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
1 BURI
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
2 _FNA YES
1 OCCU sans
1 FAMS @4379U@
1 _FIL LEGITIMATE_CHILD
0 @205I@ INDI
1 NAME Louis Auguste Antoine/FORESTIER/
2 GIVN Louis Auguste Antoine
2 SURN FORESTIER
1 SEX M
1 BIRT
2 DATE 26 JAN 1890
2 PLAC Paris,17,Seine,Ile de France,FRANCE,
1 DEAT
2 DATE 15 JUN 1952
3 TIME 19:30
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
1 BURI
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
2 _FNA YES
1 OCCU retraité de la ville de Paris
1 FAMS @4379U@
1 _FIL LEGITIMATE_CHILD
0 @398I@ INDI
1 NAME Gustave Auguste/GUICHARD/
2 GIVN Gustave Auguste
2 SURN GUICHARD
1 SEX M
1 BIRT
2 DATE 8 APR 1887
3 TIME 8:30
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
1 DEAT
2 DATE 27 FEB 1964
3 TIME 12:30
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
1 BURI
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
1 OCCU agriculteur
1 FAMS @5412U@
1 SIGN YES
1 _FIL LEGITIMATE_CHILD
0 @3006I@ INDI
1 NAME Marguerite Léontine Elisabeth/BOURDELANDE/
2 GIVN Marguerite Léontine Elisabeth
2 SURN BOURDELANDE
1 SEX F
1 BIRT
2 DATE 22 MAY 1889
2 PLAC Sedan,08200,Ardennes,Champagne-Ardenne,FRANCE,
1 DEAT
2 DATE 13 AUG 1987
3 TIME 12:30
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
1 BURI
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
2 _FNA YES
1 OCCU cultivatrice
1 FAMS @5412U@
1 SIGN YES
1 _FIL LEGITIMATE_CHILD
0 @4312U@ FAM
1 HUSB @10I@
1 WIFE @11I@
1 CHIL @76I@
1 MARR
2 DATE 28 OCT 1946
3 TIME 11:0
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
2 OBJE
3 FORM jpg
3 FILE D:\genealogie heredis vanderesse\actes_vanderesse_nizet\m_vanderesse_georges__henrion_yvonne_ac55408ec55408.JPG
1 _UST MARRIED
0 @4313U@ FAM
1 HUSB @12I@
1 WIFE @13I@
1 CHIL @10I@
1 MARR
2 DATE 15 FEB 1911
2 PLAC Exermont,08250,Ardennes,Champagne-Ardenne,FRANCE,
2 OBJE
3 FORM jpg
3 FILE D:\genealogie heredis vanderesse\actes_vanderesse_nizet\m_vanderesse_sylvain_lorette_azelie_ad08161ec08161.jpg
2 OBJE
3 FORM jpg
3 FILE D:\genealogie heredis vanderesse\actes_vanderesse_nizet\m_vanderesse_sylvain_lorette_azelie_1_ad08161ec08161.jpg
2 OBJE
3 FORM jpg
3 FILE D:\genealogie heredis vanderesse\actes_vanderesse_nizet\m_vanderesse_sylvain_lorette_azelie_2_ad08161ec08161.jpg
2 OBJE
3 FORM jpg
3 FILE D:\genealogie heredis vanderesse\actes_vanderesse_nizet\m_vanderesse_sylvain_lorette_azelie_3_ad08161ec08161.jpg
2 OBJE
3 FORM jpg
3 FILE D:\genealogie heredis vanderesse\actes_vanderesse_nizet\m_vanderesse_sylvain_lorette_azelie_4_ad08161ec08161.jpg
2 OBJE
3 FORM jpg
3 FILE D:\genealogie heredis vanderesse\actes_vanderesse_nizet\m_vanderesse_sylvain_lorette_azelie_ad08000ec08161.JPG
1 _UST MARRIED
0 @4314U@ FAM
1 HUSB @14I@
1 WIFE @15I@
1 CHIL @11I@
1 MARC
2 DATE 9 JUN 1920
2 PLAC Stenay,55700,Meuse,Lorraine,FRANCE,
1 MARR
2 DATE 10 JUN 1920
2 PLAC Stenay,55700,Meuse,Lorraine,FRANCE,
1 _UST MARRIED
0 @4338U@ FAM
1 HUSB @90I@
1 WIFE @76I@
1 CHIL @89I@
1 _UST EXTRACONJUGAL_RELATION
0 @4339U@ FAM
1 HUSB @91I@
1 WIFE @92I@
1 CHIL @90I@
1 MARR
2 DATE 7 SEP 1946
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
1 _UST MARRIED
0 @4379U@ FAM
1 HUSB @205I@
1 WIFE @203I@
1 CHIL @92I@
1 _UST MARRIED
0 @5412U@ FAM
1 HUSB @398I@
1 WIFE @3006I@
1 CHIL @91I@
1 MARR
2 DATE 23 SEP 1911
2 PLAC Pouilly sur Meuse,55700,Meuse,Lorraine,FRANCE,
1 _UST MARRIED
0 TRLR

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5384
Age : 66
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: genealogie   Sam 9 Mar 2013 - 17:38

Salut maelilou.
Merci d’avoir réagi.
Surement que quelqu’un te répondra.
Je verrais tes codes tout à l’heure, peut-être dans la soirée.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
bignono

avatar

Nombre de messages : 1079
Age : 60
Localisation : Val de Marne
Date d'inscription : 13/11/2011

MessageSujet: Re: genealogie   Sam 9 Mar 2013 - 18:33

Maelilou, Very Happy je te remercie d'avoir publié tes codes, et si tu as d'autres "bidouilles" Very Happy n'hésite surtout pas, ça peut servir. Tes codes, même si je n'utilises pas heredis (j'utilise MyHeritage Family Tree Builder et une version limitée de parentèle déclic), m'invitent à essayer de faire la même chose avec mes logiciels de généalogie. Dans l'immédiat, je n'ai guère le temps de m'en occuper, mais ils sont sur le forum, et je saurais les récupérer le moment venu.
Merci beaucoup!
A+ Wink Wink Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
maelilou



Nombre de messages : 109
Age : 68
Localisation : Ardennes françaises
Date d'inscription : 02/05/2012

MessageSujet: Re: genealogie   Sam 9 Mar 2013 - 19:25

En fait je ne "bricole " qu'à partir des gedcom.
Donc peu importe le programme généalogique d'origine.

Comme Heredis ne faisait pas ce genre de bidouilles j'ai dû y aller à la mimine...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7809
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 9 Mar 2013 - 19:41

@ Maelilou,

Merci pour tes codes, je vais les ausculter de près. Laughing
Je ne me suis pas encore attaqué à ce genre de domaine
car c'est encore trop flou dans mon esprit. un jours...sans doute avec BDR.dll de Klaus... Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: genealogie   

Revenir en haut Aller en bas
 
genealogie
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Qui fait de la généalogie?
» Généalogie Garmin 276C
» yEd

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Vos sources, vos utilitaires à partager-
Sauter vers: