IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

ajouter debug.print automatiquement pour les fainéants


Sujet :

VB 6 et antérieur

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    683
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 683
    Points : 237
    Points
    237
    Par défaut ajouter debug.print automatiquement pour les fainéants
    Salut à tous les lecteurs et postiers du forum (attention, les postiers sont surveillés !! )

    J'ai tapé tout un code assez long d'écriture ds un fichier txt.
    Je n'ai mis aucun debug.print.

    Y'a -t'il une astuce permettant de rajouter automatiquement dés qu'il y a un
    Print #1, quelquechose, une nouvelle ligne en dessous :
    debug.print #1, ce quelquechose

    et ceci sur toutes les lignes de mon code ?

    J'ai bien pensé à copier mon code dans un txt et à lancer une boucle dessus pour corriger mais il y a peut être plus simple ?


    Bonne journée à tous
    Thibault

  2. #2
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    C'est surtout que je vois pas trop l'intérêt, puisque tu enregistres dans un fichier, il suffit de lire le fichier après pour voir si ça colle avec ce que tu espérais non ?
    Et sinon la syntaxe est "debug.print ce_quelquechose"
    Si tu veux ajouter un debug.print automatiquement, tu n'as plus qu'à écrire un programme pour lire ton fichier texte et ajouter debug.print après avoir lu print, mais ça me semble un peu tordu
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  3. #3
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Si tu ajoutes un point d'arrêt sur une ligne à partir d'où tu veux vérifier les valeurs lues (ou écrites), tu pourra ensuite en effectuant une exécution ligne par ligne (F8) vérifier le contenu de tes variables en passant la souris au dessus de celles-ci. Une bulle s'affiche avec les informations voulues.

  4. #4
    Membre habitué
    Inscrit en
    Mai 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 125
    Points : 128
    Points
    128
    Par défaut
    dans le menu edition tu vas à Remplacer

    tu receherche le text où tu veux inserer ton debug "Print #1"
    et tu le remplace par "debug.Print #1"

    et tu fais remplacer tout

    le resultats n'est pas garentit

  5. #5
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 185
    Points
    17 185
    Par défaut
    Citation Envoyé par tibofo
    Y'a -t'il une astuce permettant de rajouter ......
    Citation Envoyé par medkarim
    ...... et tu le remplaces par "debug.Print #1"
    A bon
    Citation Envoyé par medkarim
    le résultats n'est pas garantit
    Précision bien utile
    C'est toujours sympathique de proposer une solution, mais dans le doute, il serait aussi sympathique de vérifier cette proposition avant de la proposer.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Bonsoir,

    Bon...
    (solidarité entre fainéants...) :
    tu te fais un petit programme en VB
    Code simple et rapide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Option Explicit
    Private Sub Command1_Click()
       Dim FF As Integer, fic_a_traiter As String, strtext As String, nellechaine As String, pos As Integer, encours As String
       FF = FreeFile
       fic_a_traiter = "d:\essai.txt" 'mets ici le nom (xxxx.frm, ssss.bas, etc... par exemple)
       Open fic_a_traiter For Input As #FF
         strtext = Input(LOF(FF), #FF)
       Close #FF
       strtext = strtext & vbNewLine
       nellechaine = ""
       Do While Len(strtext) > 0
         pos = InStr(strtext, vbNewLine)
         If pos > 0 Then
           encours = Left(strtext, pos - 1)
           nellechaine = nellechaine & Left(strtext, pos - 1) & vbNewLine
           strtext = Mid(strtext, pos + 2)
           If LCase(Left(encours, 7)) = "print #" Then
             nellechaine = nellechaine & "Debug.print " & Mid(encours, InStr(encours, ",") + 2) & vbNewLine
           End If
         End If
         Loop
        FF = FreeFile
       Open fic_a_traiter For Output As #FF
          Print #FF, nellechaine
       Close #FF
    End Sub
    Tu traites ainsi tes fichiers .frm, .bas, etc... (pas la peine de traiter les .frx, .vbw et .vbw)
    Attention, hein : à ne lancer qu'une fois par fichier (sinon, ma foi, tu auras 2 lognes de debug print au lieu d'une...)
    Tu as là le principe...
    Je te laisse à tes occupations en te recommandant, pour chaque projet, de te servir d'une listbox alimentée par les fichiers de ton répertoire de projet.
    Tu lances sur chaque item (tu peux facilement automatiser) et détruis l'item (ainsi tu ne risqueras pas de traiter 2 fois ni d'oublier un fichier, hein...)
    Ouala ...

  7. #7
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Re,...

    Ne lance pas ce code...
    Je m'aperçois, de bon matin, que je me suis entraîné sur un fichier texte d'essai qui ne comportait aucune indentation (ce qui change tout !...)
    Il me faut donc réfléchir à la modification à faire...

    La voilà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Option Explicit
     
    Private Sub Command1_Click()
       Dim FF As Integer, fic_a_traiter As String, strtext As String, nellechaine As String, pos As Integer, encours As String ', tremp As String
       FF = FreeFile
       fic_a_traiter = "d:\essai.txt" 'mets ici le nom (xxxx.frm, ssss.bas, etc... par exemple)
       Open fic_a_traiter For Input As #FF
         strtext = Input(LOF(FF), #FF)
       Close #FF
       nellechaine = ""
       Do While Len(strtext) > 0
         pos = InStr(strtext, "Print #")
         If pos > 0 Then
           nellechaine = nellechaine & Left(strtext, pos - 1) & "Print #"
           encours = calcule_encours(Mid(strtext, pos + 7))
           strtext = Mid(strtext, pos + Len(encours) + 7)
           nellechaine = nellechaine & encours & vbNewLine & "Debug.print " & Mid(encours, InStr(encours, ",") + 1)
         Else
           nellechaine = nellechaine & strtext
           Exit Do
         End If
         Loop
         FF = FreeFile
         Open fic_a_traiter For Output As #FF
           Print #FF, nellechaine
         Close #FF
    End Sub
     
    Private Function calcule_encours(quoi As String) As String
      Dim pos As Integer
      pos = InStr(quoi, vbNewLine)
      If pos < 0 Then Exit Function
      calcule_encours = Left(quoi, pos)
    End Function
    Le fait d'une indentation est maintenant présent.
    Je n'ai toutefois pas traité (j'ai maintenant le tournis avec cette histoire) :
    - le cas éventuel d'une instruction Print #X sur plusieurs lignes avec l'underscore
    - le cas éventuel d'une instruction du genre :
    toto : toto : Print #1 tata : tutu = "pimpin"
    J'espère que tes lignes de code contenant Print #.... ) ne sont pas écrites de ces deux manières)

Discussions similaires

  1. séparateur automatique pour les dates
    Par laurent53 dans le forum Excel
    Réponses: 3
    Dernier message: 27/09/2008, 17h29
  2. Label automatique pour les sections
    Par Spack dans le forum Mise en forme
    Réponses: 2
    Dernier message: 08/06/2008, 19h28
  3. Ajouter un second axe pour les abscisses sur un graphique
    Par developpeur82 dans le forum MATLAB
    Réponses: 4
    Dernier message: 02/04/2007, 15h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo