Page 1 sur 1

Debug

Publié : sam. 11/août/2018 16:23
par pierre003
Bonjour a toutes et a tous,
Je sais que je suis un peu pénible, mais je suis toujours avec mes fichiers GedCom. :oops:
Je pense qu’il est impossible de créer un EXE avec des debug (c’est bien dommage car ça marchait bien), mais je voudrais connaitre le plus simple et surtout avec quel gadget pour faire a peut près la même chose qu’avec debug (EditorGadget mais il y a peut être plus simple ?), c’est juste pour tester si les fichiers crées par d’autres logiciels de généalogie ont les mêmes infos dans ce fichier dit universel (surtout la longitude et la latitude, pour le reste je pense que oui):
Je réussi maintenant envoyer des photos mais des fichiers ???
Donc j’envoi comme ça, un bout de fichier GedCom "TstGedcom.txt" dans le code avec Debug.
Si vous avez des idées. :?:
Merci
J’étais parti a l’origine avec les communes de X Km a la ronde puis récupérer les personnes qui sont nés, décédés dans ses communes mais j’abandonne pour l’instant, et je vais essayer avec les personnes qui ont sont nés, ou décédés a X km a la ronde.
Pour les mariages je n’ai pas encore tout compris leurs façons de faire dans les fichiers GedCom, je verrai plus tard.
PS : certains qui vont écraser une larme, en rangeant le garage je viens de retrouver ça (entre autres). :wink:

  • 0 @I1@ INDI
    1 NAME Honore-Pierre-Alexandre/HERBELIN/
    2 GIVN Honore-Pierre-Alexandre
    2 SURN HERBELIN
    1 SEX M
    1 OCCU Cultivateur
    1 _FIL LEGITIMATE_CHILD
    1 FAMS @F2@
    1 BIRT
    2 DATE 24 FEB 1835
    2 PLAC Saint-Maixent,72320,Sarthe,Pays de la Loire,FRANCE,
    3 MAP
    4 LATI 48.089070
    4 LONG 0.653000
    2 _FNA NO
    1 DEAT
    2 DATE 22 FEB 1895
    2 PLAC Saint-Maixent,72320,Sarthe,Pays de la Loire,FRANCE,
    3 MAP
    4 LATI 48.089070
    4 LONG 0.653000
    2 _FNA NO
    1 FAMC @F3@
    0 @I4@ INDI
    1 NAME Louise-Victoire/DEBRAY/
    2 GIVN Louise-Victoire
    2 SURN DEBRAY
    1 SEX F
    1 OCCU Cultivatrice
    1 _FIL LEGITIMATE_CHILD
    1 FAMS @F2@
    1 BIRT
    2 DATE 4 APR 1838
    2 PLAC Nogent-le-Bernard,72110,Sarthe,Pays de la Loire,FRANCE,
    3 MAP
    4 LATI 48.236140
    4 LONG 0.489960
    2 _FNA NO
    1 DEAT
    2 DATE 21 JUN 1918
    2 PLAC Saint-Maixent,72320,Sarthe,Pays de la Loire,FRANCE,
    3 MAP
    4 LATI 48.089070
    4 LONG 0.653000
    2 _FNA NO
    1 FAMC @F5@
    0 @I6@ INDI
    1 NAME Pierre/HERBELIN/
    2 GIVN Pierre
    2 SURN HERBELIN
    1 SEX M
    1 _FIL LEGITIMATE_CHILD
    1 FAMS @F3@
    1 BIRT
    2 DATE 25 JUN 1793

Code : Tout sélectionner

EnableExplicit
Declare RecupInfos()

Define a.s,i.i
Global NbFch.i
Global Ligne.s 
Global LgGedCom.s
OpenFile(1,"TstGedcom.txt",#PB_UTF8   ); changer l'extention de TXT en ged après tests
For i=1 To 100
    LgGedCom=ReadString(1)
    If  Right(LgGedCom,4)="INDI"
        LgGedCom=""
        RecupInfos()
    EndIf
Next
CloseFile(1)

Procedure RecupInfos()
    While Right(LgGedCom,4)<>"INDI"
        LgGedCom= ReadString(1)
        If  Mid(LgGedCom,3,4)="GIVN"; Prénom
            Debug  Mid(LgGedCom,8)
        ElseIf   Mid(LgGedCom,3,4)="SURN"; Nom
            Debug  Mid(LgGedCom,8)
        ElseIf   Mid(LgGedCom,3,4)="BIRT";  année
            LgGedCom=ReadString(1)
            Debug  "Date naissance : " + Mid(LgGedCom,14)
            LgGedCom=ReadString(1)
            If Mid(LgGedCom,3,4)="PLAC"
                Debug  "Lieu naissance : " + Mid(LgGedCom,8)
            EndIf
            LgGedCom=ReadString(1)
            If  Mid(LgGedCom,3,3)="MAP"
                 LgGedCom=ReadString(1)
                 Debug "Lat : " + Mid(LgGedCom,8)
                 LgGedCom=ReadString(1)
                 Debug "Long : " + Mid(LgGedCom,8)
            EndIf
        EndIf   
    Wend
EndProcedure
Image

Re: Debug

Publié : sam. 11/août/2018 17:30
par zaphod_b
bonjour,

avec la console on a une sortie simple genre debug.
aller dans options du compilateur >> format de l'executable = CONSOLE

Code : Tout sélectionner

;;;;
;;;;Options compilateur >>> format executable = CONSOLE

EnableExplicit
Declare RecupInfos()

Define a.s,i.i
Global NbFch.i
Global Ligne.s
Global LgGedCom.s
 OpenConsole()     
 ConsoleTitle ("gedcom")
 
OpenFile(1,"TstGedcom.txt",#PB_UTF8   ); changer l'extention de TXT en ged après tests
While Eof(1)=0
    LgGedCom=ReadString(1)
    If  Right(LgGedCom,4)="INDI"
        LgGedCom=""
        RecupInfos()
    EndIf
Wend
CloseFile(1)
    
 PrintN("Appuyez sur [Entree] pour quitter")
 Input()
 CloseConsole()
   
Procedure RecupInfos()
    While Right(LgGedCom,4)<>"INDI" And Eof(1)=0
        LgGedCom= ReadString(1)
        If  Mid(LgGedCom,3,4)="GIVN"; Prénom
            PrintN(Mid(LgGedCom,8))
        ElseIf   Mid(LgGedCom,3,4)="SURN"; Nom
            PrintN(  Mid(LgGedCom,8))
        ElseIf   Mid(LgGedCom,3,4)="BIRT";  année
            LgGedCom=ReadString(1)
            PrintN(  "Date naissance : " + Mid(LgGedCom,14))
            LgGedCom=ReadString(1)
            If Mid(LgGedCom,3,4)="PLAC"
                PrintN(  "Lieu naissance : " + Mid(LgGedCom,8))
            EndIf
            LgGedCom=ReadString(1)
            If  Mid(LgGedCom,3,3)="MAP"
                 LgGedCom=ReadString(1)
                 PrintN( "Lat : " + Mid(LgGedCom,8))
                 LgGedCom=ReadString(1)
                 PrintN( "Long : " + Mid(LgGedCom,8))
            EndIf
        EndIf   
    Wend
EndProcedure


Re: Debug

Publié : sam. 11/août/2018 19:30
par Ollivier
Ne crie pas au désespoir si vite Pierre : tu vas pouvoir faire parler ceux qui n'ont pas eu le temps de voir la Loi RGPD ratifiée !!! L'aide de Zaphod n'est pas inutile : il y a la librairie Console dans l'aide à étudier : aussi simple que des Print et des Input si tu n'es pas pointilleux sur le design.

Re: Debug

Publié : sam. 11/août/2018 21:51
par pierre003
zaphod_b a écrit :bonjour,

avec la console on a une sortie simple genre debug.
aller dans options du compilateur >> format de l'executable = CONSOLE
Merci bien, je vais voir ça.
Bonne soirée
Pierre

Re: Debug

Publié : sam. 11/août/2018 21:53
par pierre003
Ollivier a écrit :Ne crie pas au désespoir si vite Pierre : tu vas pouvoir faire parler ceux qui n'ont pas eu le temps de voir la Loi RGPD ratifiée !!! L'aide de Zaphod n'est pas inutile : il y a la librairie Console dans l'aide à étudier : aussi simple que des Print et des Input si tu n'es pas pointilleux sur le design.
C’est étrange ça me rappelle furieusement ma jeunesse lorsque je bataillais avec le DOS. :wink:
Mais ça n’a pas l’air mal.
Bonne soirée
Pierre

Re: Debug

Publié : lun. 13/août/2018 7:45
par Marc56
Je pense qu’il est impossible de créer un EXE avec des debug (c’est bien dommage car ça marchait bien), mais je voudrais connaitre le plus simple et surtout avec quel gadget pour faire a peut près la même chose qu’avec debug (EditorGadget mais il y a peut être plus simple ?), c’est juste pour tester si les fichiers crées par d’autres logiciels
Tu peux créer ton système de fichier de log. C'est même conseillé car très utile si un utilisateur t’appelle un jour mais ne sais pas dire à quel moment le programme s'est planté.

Code : Tout sélectionner

Log_File$ = GetUserDirectory(#PB_Directory_ProgramData) + "Debug.txt"

If Not OpenFile(0, Log_File$, #PB_File_Append)
  MessageRequester("Erreur Système", "Ne peut créer/écrire dans le fichier de log", #PB_MessageRequester_Error)
  End 
EndIf

Procedure Write_Log(Message$)
  If IsFile(0)
    WriteString(0, FormatDate("%dd/%mm/%yy %hh:%ii:%ss - ", Date()) + Message$ + #CRLF$)
  Else
    MessageRequester("Erreur", "Ne peut plus écrire dans le fichier de log", #PB_MessageRequester_Error)
  EndIf
EndProcedure

; Test
Write_Log("Début programme")
Write_Log("Hello World")
Write_Log("Fin programme")

If IsFile(0) : CloseFile(0) : EndIf

; Test affichage log
RunProgram(Log_File$, "", "")
L'affichage du log est une chose que tu peux mettre dans un menu "Maintenance"
Tu mets #PB_File_Append ou pas selon que tu veux conserver tout l'historique ou réinitialiser à chaque démarrage.
RunProgram avec juste le nom du fichier texte, ouvrira le lecteur de fichier texte par défaut (ie: NotePad)

:wink: