Accueil > Forum > > > > Rechercher un mot dans une source binaire
Rechercher un mot dans une source binaire
mardi 21 octobre 2008 à 20:57:26 |
Rechercher un mot dans une source binaire

kakenette
|
Bonjour, voilà j'ai fait une petite fonction booléenne pour savoir si oui ou non un mot a été trouvé dans la source d'un fichier, je voulais savoir si il existe ou si vous connaissez une méthode plus rapide que celle que j'ai faite qui suit : Peut être mon idée de tableau est pas bonne... --- SearchStr = "Le mot" --- Dim bContents() As Byte ReDim bContents(LOF(oFile)) Get #oFile, , bContents --- La partie de recherche que j'aimerai amélioré : For i = 0 To UBound(bContents) If bContents(i) = Asc(Left$(SearchStr, 1)) Then Found = 0 For j = Len(SearchStr) - 1 To 1 Step -1 If bContents(i + j) <> Asc(Mid$(SearchStr, 1 + j, 1)) Then Found = -1 Exit For End If Next If Found = 0 Then MSGBOX " TROUVER !" End If End If Next Ps: Si vous ne comprenez rien dite le moi j'essayerai de mieux m'expliquer lol. kakenette
|
|
mardi 21 octobre 2008 à 23:15:46 |
Re : Rechercher un mot dans une source binaire

PCPT
|
salut,
à vérifier avec le fichier en question mais logiquement, "le mot" est alors entrecoupé de vbnullchar
dans quel cas on doit pouvoir accélérer la recherche avec (après la lecture vers le tableau de byte) :
dim s$ s=bContents found = iif(instrb(1,s,strconv(SearchStr ,vbunicode))=0,-1,0)
pas testé et juste tapé dans cette fenêtre, çà doit pas être bien loin de çà.... ++
Prenez un instant pour répondre à ce sondage svp <
|
|
mercredi 22 octobre 2008 à 08:31:24 |
Re : Rechercher un mot dans une source binaire

kakenette
|
Hello, je comprend pas comment modifier avec se que tu ma donner...
kakenette
|
|
mercredi 22 octobre 2008 à 10:04:44 |
Re : Rechercher un mot dans une source binaire

PCPT
|
j'ai pourtant repris tes "-1" et "0" du la même manière que toi, justement....
SearchStr = "Le mot" Dim bContents() As Byte ReDim bContents(LOF(oFile)) Get #oFile, , bContents dim s$ s= bContents if instrb(1,s, strconv( SearchStr ,vbunicode) )>0 then MSGBOX "TROUVé !" Prenez un instant pour répondre à ce sondage svp 
|
|
mercredi 22 octobre 2008 à 10:23:55 |
Re : Rechercher un mot dans une source binaire

kakenette
|
Et bien hélasse ça marche pas. ça ne me trouve pas le mot. :(
kakenette
|
|
mercredi 22 octobre 2008 à 10:39:36 |
Re : Rechercher un mot dans une source binaire

kakenette
|
j'ai remplacer toute ma boucle de recherche par se que tu ma mis mais ça fonctionne pas, ça me renvoie toujours -1
|
|
mercredi 22 octobre 2008 à 13:35:48 |
Re : Rechercher un mot dans une source binaire

PCPT
|
j'ai pas testé et c'est saisi ici..... tu peux héberger un fichier?
|
|
mercredi 22 octobre 2008 à 14:31:28 |
Re : Rechercher un mot dans une source binaire

kakenette
|
hein ? j'ai pas compris se que tu veux me dire, tu veux que j'héberge quoi?
En réalité la fonction est asser simple, J'ouvre un fichier, je récupère la source binaire et je regarde si oui ou non un mot s'y trouve. Pour le moment j'ai pas trouver plus vite que ma boucle...
kakenette
|
|
mercredi 22 octobre 2008 à 17:10:47 |
Re : Rechercher un mot dans une source binaire

PCPT
|
si c'est un fichier "normal" (ascii ou ansi), pourquoi tu l'ouvres en binaire? c'est pourquoi je demandais un exemple de fichier 
et dans ce cas :
Private Sub Form_Load() Dim FF As Integer, sBuffer As String Const SearchStr As String = "Le mot" FF = FreeFile Open "C:\fichier.txt" For Input As #FF sBuffer = Input(LOF(FF), 1) Close #FF If InStrB(1, sBuffer, SearchStr) > 0 Then MsgBox "TROUVé !" End Sub possible également de lire ligne par ligne pour ne pas avoir à récupérer la totalité d'un bloc, la différence d'exécution ne s'en fera ressentir que sur de gros fichiers, à tester...
Prenez un instant pour répondre à ce sondage svp 
|
|
mercredi 22 octobre 2008 à 17:13:27 |
Re : Rechercher un mot dans une source binaire

kakenette
|
C'est comme ca que tu voulais dire ?
Private Sub Command1_Click()
Dim bContents() As Byte Dim SearchStr As String Dim oFile As Long oFile = FreeFile Open "Chemin du fichier" For Binary Access Read As #oFile ReDim bContents(LOF(oFile)) Get #oFile, , bContents Close #oFile
SearchStr = "Le mot"
Dim s$ s = bContents If InStrB(1, s, StrConv(SearchStr, vbUnicode)) > 0 Then MsgBox "TROUVé !"
End Sub
Ca trouve pas :(
kakenette
|
|
Cette discussion est classée dans : mot, source, searchstr, if, bcontents
Répondre à ce message
Sujets en rapport avec ce message
Valeur Suivante Fichier Texte!! [ par Nitz999 ]
Bonjour,J'ai deux problèmes :1- J'ai réussi à récupérer une valeur d'un fichier texte entre deux mots, mais je suis incapable de récupérer les valeurs
Traduction source c en VB.Net (Algo Bruteforce) [ par Redman31100 ]
Bonjour j'ai essayé de mettre ce code : http://www.cppfrance.com/codes/ALGORITHME-BRUTE-FORCE_41911.aspx en VB.Net mais quand j'ai fait le test j'ai u
Ajouter [ par saveourssouls ]
Voila, j'aimerais savoir si vous connaissiez un lien d'une source (j'ai cherché) ou carrément une source en tête. En fait, augmenter un mot. Imaginons
Mot de passe [ par MoiDebutantVBA ]
j'ai téléchargé une page excel avec des macros et la source et protégée par un mot de passe...coment faire pour voir la source...merci
positionnement RichTextBox besoin d'idee stp [ par barrimaamine ]
Bonjour, voila mon problème : je veux que mon RichTextBox détecte certain mot pour les mettres en blue ou autre couleur. Pour le moment voila ce que
inputbox>mot de passe marche plus [ par barth62 ]
bonjour j'ai trouve ce petit code sur internet je l'avais essaye hier (ca marchait )et la ca MARCHE PLUS [^^sad2][^^sad1][^^sad2] je marque dans le t
Instr et Like en série [ par lacomm ]
Bonjour à tous,J'ai un type défini:Private Type mot pos As Integer long As StringEnd TypeJ'ai une pr
ListBox et base de données [ par Sinsitrus ]
Salut à tous ! J'ai une base de données Access connecté à mon projet VB et je souhaiterai que lorsque je clique sur le bouton, le mot se trouvant dan
Faut-il dire "une source" ou "un source"? [ par racpp ]
Salut tout le monde,Les dictionnaires de français précisent que le mot "source" est toujours féminin. Mais dans beaucoup d'ouvrages ou documents d'inf
Annulation de la dernière procédure en VB6 [ par cyth56 ]
Bonjour, je cherche la solution pour annuler ma dernière procédure. Voici une partie du code.VB6 Private Sub Com3_Click() Timer2 = False Com3.Caption
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|