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

Langage Delphi Discussion :

Recherche de chaîne dans un tampon non typé


Sujet :

Langage Delphi

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 536
    Points : 121
    Points
    121
    Par défaut Recherche de chaîne dans un tampon non typé
    Bonjour à tous

    Comment effectuer la recherche d'une chaîne (une suite de caractères) dans un buffer non typé string ?

    Fichiers sources : .HTML .HTM .RTF , chargés entièrement , et recherche de chaînes effectuées en mémoire. J'emploie la fonction FindText de RichEdit. Là, je trouve les chaînes, ce qui n'est pas le cas avec les routines Ansi, Pos, etc... appliquées à des fichiers formatés.

    Mais j'ai 1650 fichiers ds lesquels chercher, et le nombre va aller croissant. Déjà, sur ma bécane , ça rame très dur ! Config : INTEL CORE 2 DUO E8400/3.00GHZ FSB 1333 6MB, 4 Go PC 6400 sur Asus P5Q. Plusieurs minutes.

    Sauf erreur de programmation (c'est possible : c'en cours de développement), mon FindText et ses milliers de chargements de fichiers sont trop longs.

    Explorer fait ça très bien, et très vite... mais je n'ai jamais trouvé une doc sur paramètres à lui passer

    Que feriez-vous ? Récupérer les résultats d'un logiciel de recherche de chaînes sur dd ? Vous en connaissez ?

    Merci :hello:

    L'appel d'Explorer pour une recherche de chaînes :


    La fonction de recherche elle-même :

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 452
    Points : 24 863
    Points
    24 863
    Par défaut
    voir SearchBinary appeler pour chaque fichier (FindFirst, FindNext...)

    La Recherche de Windows est particulièrement pourri pour la recherche de contenu, j'utilise celle de UE ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 536
    Points : 121
    Points
    121
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    voir SearchBinary appeler pour chaque fichier (FindFirst, FindNext...)

    La Recherche de Windows est particulièrement pourri pour la recherche de contenu, j'utilise celle de UE ...
    OK, merci

    "La recherche de UE " : UE c'est quoi ? UltraEdit ?

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 452
    Points : 24 863
    Points
    24 863
    Par défaut
    Tout à fait ! UltraEdit !

    Pour gagner du temps, tu pourrais mettre la lecture du buffer dans un thread, pendant que le buffer A est rempli, tu analyse le B, et vice versa ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 536
    Points : 121
    Points
    121
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Tout à fait ! UltraEdit !

    Pour gagner du temps, tu pourrais mettre la lecture du buffer dans un thread, pendant que le buffer A est rempli, tu analyse le B, et vice versa ...
    Comment... mais on peut passer des paramètres à UE, depuis un prog ??

  6. #6
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 452
    Points : 24 863
    Points
    24 863
    Par défaut
    Ah, je ne parle pas d'utiliser Ultra Edit par code, je faisais la comparaison pour ton ScreenShot, par code, je reste avec la fonction SearchBinary ... dont on pourrait améliorer les perfs par l'ajout d'un thread ... lit les derniers sujets sur le forum, tu verras depuis 1 semaine, on parle bcp de la recherche de chaine dans des fichiers ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  7. #7
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 536
    Points : 121
    Points
    121
    Par défaut Syntaxe de SearchBinary() ?
    Citation Envoyé par ShaiLeTroll Voir le message
    voir SearchBinary appeler pour chaque fichier (FindFirst, FindNext...)

    La Recherche de Windows est particulièrement pourri pour la recherche de contenu, j'utilise celle de UE ...
    Bonjour. Je cherche partout un exemple d'utilisation, et donc de syntaxe, mais rien. J'ai bien compilé SerchBinary avec D7, mais j'aimerais voir un exemple d'utilisation, pour la syntaxe. Merci

  8. #8
    Membre éclairé Avatar de peter27x
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 029
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 029
    Points : 757
    Points
    757
    Par défaut
    UEdit pkoi pas en effet, sinon moi pour la recherche j'utilise Super Finder



    That was my 0.02$.

Discussions similaires

  1. Extraction d'une chaîne dans un file non typé
    Par Philippe_Perfect dans le forum Débuter
    Réponses: 3
    Dernier message: 28/05/2010, 13h56
  2. Réponses: 2
    Dernier message: 08/10/2009, 13h42
  3. [RegEx] rechercher une chaîne dans une page source
    Par floopi51 dans le forum Langage
    Réponses: 8
    Dernier message: 28/04/2009, 11h18
  4. Recherche une chaîne dans un fichier
    Par |DuFF| dans le forum Windows
    Réponses: 5
    Dernier message: 24/01/2008, 17h11
  5. Rechercher une chaîne dans une autre
    Par Nethervoid21 dans le forum Langage
    Réponses: 3
    Dernier message: 17/11/2006, 16h58

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