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 :

[VB]Recherche d'une chaine de caractère dans un fichier


Sujet :

VB 6 et antérieur

  1. #1
    Membre actif Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Points : 239
    Points
    239
    Par défaut [VB]Recherche d'une chaine de caractère dans un fichier
    Bonjour,
    J'ai un fichier qui reprend le listing d'autre fichier de tous genre... La liste est continue et sans réel séparateur, mon but serai de retrouver tous les fichiers de la liste dont l'extension serait .doc par exemple... Quelqu'un sait me dire comment faire???

  2. #2
    Membre actif Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Points : 239
    Points
    239
    Par défaut
    Est-il possible de rechercher dans une ligne du fichier une chaine de type "?:\*.doc" et de la récupérer??? J'ai tenté avec Split mais ça cloche au niveau du ? et de *... Quelqu'un connaitrait une autre fonction ou un moyen de paramètrer celle-ci, qu'elle corresponde plus à mes besoins???
    Merci...

  3. #3
    Membre actif Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Points : 239
    Points
    239
    Par défaut
    Est il possible de récupérer, dans une chaine de caractère, un morceau de cette chaîne, allant du caractère n° X au caractère n° Y???
    Par exemple, les caractère entre le n° 4 et le n° 20???

  4. #4
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Regardes (aide en ligne) Right, Left, Instr, Mid et Len...

  5. #5
    Membre actif Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Points : 239
    Points
    239
    Par défaut
    Je vais faire ça, merci...

  6. #6
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Voir aussi les Expressions régulières (Regular expressions).

  7. #7
    Membre actif Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Points : 239
    Points
    239
    Par défaut
    Comme suggéré par AlainTech, voici le code que j'ai fait, il permet de récupérer dans un fichier toutes les chaînes de caractères ressemblant à ceci :
    ?:\*.pst
    Dans un fichier .txt, il fonctionne sans problème, la où ça m'ennuie, c'est que le fichier que je lis n'est pas un .txt mais un .dat et que là, ça cloche... Comment puis-je m'y prendre???
    Dim monTab() As String
    Dim depart As Integer, fin As Integer, nbcaractere As Integer
    Dim chaine As String

    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
    fichier = "C:\Documents and Settings\monpc\NTUSER.dat"
    Open fichier For Input As #1
    While Not EOF(1)
    Line Input #1, ligne
    fin = InStr(ligne, ".pst")
    depart = InStr(chaine, ":\")
    If (depart > 0) Then
    If (fin > 0) Then
        fin = fin + 3
        chaine = Left(ligne, fin)
        depart = depart - 2
        nbcaractère = Len(chaine)
        depart = nbcaractère - depart
        chaine = Right(chaine, depart)
        MsgBox chaine
    End If
    End If
    Wend
    Close #1

  8. #8
    Membre actif Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Points : 239
    Points
    239
    Par défaut
    Lorsque j'essaie un msgbox pour afficher toutes les lignes du fichier, il n'y en a qu'une qui ressort et elle est couverte de rectangles vides. Je ne comprends pas pourquoi car lorsque j'ouvre le fichier avec notepad, je sais y retrouver les chaînes qui m'intéressent...

  9. #9
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    un fichier .dat n'est pas un fichier de texte.
    ouvre ton fichier à l'aide du bloc-notes et tu comprendras...

  10. #10
    Membre actif Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Points : 239
    Points
    239
    Par défaut
    En l'ouvrant avec le bloc note, j'ai constaté que la première ligne, celle qui m'est ressortie par la msgbox est identique à peu de chose près... Les caractères spéciaux sont juste remplacé par les rectangles. Ensuite dans le fichier, je vois 3 lignes blanches, puis le code reprend... Est-ce que ces 3 lignes posent problèmes??? Si oui, y a-t-il moyen de passer outre???

  11. #11
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    un fichier .dat n'est pas structuré comme un fichier .txt (notamment pour les alinéas) et le line input conduira à la lecture d'une ligne interminable.

  12. #12
    Membre actif Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Points : 239
    Points
    239
    Par défaut
    J'igorais cet aspect de la chose... Est-ce qu'il existe une technique pour lire les .dat???

  13. #13
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Pour retrouver une chaîne dans une autre, tu as like... si tu es sûr de la casse...

    A tout hasard

    A+

  14. #14
    Membre actif Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Points : 239
    Points
    239
    Par défaut
    ouskel'n'or, merci pour l'idée du like... Mais la recherche tourne au poil dans un fichier txt... Le seul problème qui persiste est le fait que ce soit un fichier .dat...

  15. #15
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Une question (pardonne-moi de te la poser) : pourquoi veux-tu lire un .dat ? (c'est pour mon information personnelle)

    Une réponse à ta question maintenant : lu liras, comme je te l'ai dit plus haut, des lignes interminables. (quand je dis "des", je le dis au sens des lignes séparées par un chr(13), qui peut être là par le hasard des choses ou... ne pas être là)

  16. #16
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    La structure du fichier n'est pas liée à son extension.

    Mais...
    Par définition, un fichier .txt est censé contenir du texte alors qu'un fichier .dat contient... des data.
    C'est-à-dire, n'importe quoi.
    Un programmeur peut très bien choisir de ne mettre que du texte dans un fichier qu'il nomme en .dat.

  17. #17
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Certes, mais je suppose bien volontiers que le fichier .dat qu'il veut lire est un fichier de datas... habituel

  18. #18
    Membre actif Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Points : 239
    Points
    239
    Par défaut
    Je suis entrain de faire un petit programme qui liste certaines informations sur les utilissateurs partageant une même machine, comme par exemple, qui a des personal folders sous outlook et sur quelle partitio. Pour l'utilisateur en session, rien de plus simple, il suffit d'aller lire dans une clé de registre dans hkey_current_user... Là où ça cloche, c'est pour les autres utilisateurs. J'avais une solution qui était de monter tous les utilisateurs dans hkey_users http://www.developpez.net/forums/viewtopic.php?t=457097 mais je ne suis pas assez doué pour manipuler correctement les clés de registre. Je me suis donc intéressé au fichier ntuser.dat utilisé au cours de la procédure et aux infos qu'il contient. Je me suis dit que si je pouvais les récupérer comme ça, ça me permettrait de contourner la difficulté. Mais bon, si tu m'assures que je ne pourrai jamais lire un fichier .dat...

  19. #19
    Membre actif Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Points : 239
    Points
    239
    Par défaut
    Dans mon cas, le programmeur à la base du fichier .dat est microsoft...

  20. #20
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Je viens de voir que, ce que tu cherches à lire, c'est une ruche de base de registre.

    Là, c'est clair qu'il n'y a pas que du texte.

Discussions similaires

  1. Réponses: 9
    Dernier message: 04/12/2014, 17h26
  2. Rechercher/remplacer une chaine de caractères dans plusieurs fichiers
    Par _shuriken_ dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 31/07/2011, 20h06
  3. Réponses: 3
    Dernier message: 25/07/2006, 08h40
  4. [String]Recherche d'une chaine de caractères dans une autre
    Par Crazyblinkgirl dans le forum Langage
    Réponses: 3
    Dernier message: 29/07/2004, 11h51
  5. recherche d'une chaine de caractère dans une données text
    Par jdeheul dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 17/06/2004, 16h35

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