Debug

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
pierre003
Messages : 60
Inscription : ven. 27/mai/2016 8:27
Localisation : 03

Debug

Message 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
Toshiba satellite Windows 7 64bits
zaphod_b
Messages : 76
Inscription : mar. 09/déc./2014 20:02

Re: Debug

Message 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

Ollivier
Messages : 4190
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Debug

Message 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.
pierre003
Messages : 60
Inscription : ven. 27/mai/2016 8:27
Localisation : 03

Re: Debug

Message 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
Toshiba satellite Windows 7 64bits
pierre003
Messages : 60
Inscription : ven. 27/mai/2016 8:27
Localisation : 03

Re: Debug

Message 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
Toshiba satellite Windows 7 64bits
Marc56
Messages : 2147
Inscription : sam. 08/févr./2014 15:19

Re: Debug

Message 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:
Répondre