[R] Rechercher la présence d'un mot dans un fichier

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Amesamana
Niveau 5
Niveau 5
Messages : 108
Enregistré le : dim. 09 sept. 2012 16:37
Status : Hors ligne

[R] Rechercher la présence d'un mot dans un fichier

#1

Message par Amesamana »

Bonjour :)

Alors voilà ma recherche.
Je voudrais pouvoir coller dans une GUI un texte et retrouver dans un autre fichier si des lignes sont présentes.
Par exemple sur ma GUI je colle ces lignes :

Image

Sur C: j'ai un fichier qui contient des lignes
par exemple cette ligne(qui est également présente dans le GUI)

C:\Program Files (x86)\Avira\AntiVir Desktop\avgnt.exe

Je voudrais changé de couleur la ligne (une fois la recherche lancé) si elle est présente dans mon fichier source.
Ne sachant pas trop comment commencer un petit coup de pouce serait le bienvenue :)

Merci.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Rechercher la présence d'un mot dans un fichier

#2

Message par mikell »

Tout ça est assez simple si tu prends le temps de faire les choses dans l'ordre...
Où est-ce que tu bloques exactement ?
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
mdanielm
Membre émérite
Membre émérite
Messages : 254
Enregistré le : mer. 11 déc. 2013 19:48
Status : Hors ligne

Re: [..] Rechercher la présence d'un mot dans un fichier

#3

Message par mdanielm »

J'utiliserais un contrôle _GUICtrlRichEdit qui permet de colorer une ligne sélectionnée, car la difficulté c'est bien la coloration et pas la recherche!

_SetSel pour sélectionner
_SetCharColor pour colorer
_GetTextInLine pour obtenir les lignes une à une dans le contrôle

Pour la recherche, je chargerais le fichier dans une chaîne $content, et pour chaque ligne $li du contrôle je ferais:
$content = StringReplace($content, $li, $li)
car @extended contient alors le nombre de remplacements.
Si ce nombre est >0, la ligne $li est dans le fichier, il faut la colorer.

Ce n'est qu'une idée!
Bon travail
Amesamana
Niveau 5
Niveau 5
Messages : 108
Enregistré le : dim. 09 sept. 2012 16:37
Status : Hors ligne

Re: [..] Rechercher la présence d'un mot dans un fichier

#4

Message par Amesamana »

Bonjour,

désolé réponse tardive, mais je ne m'étais pas remis sur ce code depuis un bon moment :mrgreen:
Merci pour vos réponses.

Alors pour la recherche ça fonctionne, pas comme je le voudrais mais j'ai bien un résultat.

Je voudrais que le rapport reste entier et que les lignes trouvées soit d'une couleur.
J'aimerais mettre aussi des couleurs par rapport à des catégories de recherche.
Par exemple j’insère ces lignes et je recherche sppcomapi.dll et Rasl2tp.sys
[MD5.A56400B83371EAD36B9E62FAF0546595] - (.Microsoft Corporation - Extensions Internet pour Win32.) (.24/07/2014 - 13:10:54.) -- C:\Windows\System32\wininet.dll [2240000]
[MD5.471815800AE33E6F1C32FB1B97C490CA] - (.Microsoft Corporation - RAS L2TP mini-port/call-manager driver.) (.21/11/2010 - 04:24:33.) -- C:\Windows\system32\Drivers\Rasl2tp.sys [129536]
[MD5.88AB9B72B4BF3963A0DE0820B4B0B06C] - (.Microsoft Corporation - Application d’ouverture de session Windows.) (.04/03/2014 - 10:43:50.) -- C:\Windows\System32\Winlogon.exe [455168]
[MD5.067FA52BFB59A56110A12312EF9AF243] - (.Microsoft Corporation - Bibliothèque de licences.) (.21/11/2010 - 04:24:16.) -- C:\Windows\System32\sppcomapi.dll [232448]
Je voudrais le faire apparaitre comme ceci
[MD5.A56400B83371EAD36B9E62FAF0546595] - (.Microsoft Corporation - Extensions Internet pour Win32.) (.24/07/2014 - 13:10:54.) -- C:\Windows\System32\wininet.dll [2240000]
[MD5.471815800AE33E6F1C32FB1B97C490CA] - (.Microsoft Corporation - RAS L2TP mini-port/call-manager driver.) (.21/11/2010 - 04:24:33.) -- C:\Windows\system32\Drivers\Rasl2tp.sys [129536]
[MD5.88AB9B72B4BF3963A0DE0820B4B0B06C] - (.Microsoft Corporation - Application d’ouverture de session Windows.) (.04/03/2014 - 10:43:50.) -- C:\Windows\System32\Winlogon.exe [455168]
[MD5.067FA52BFB59A56110A12312EF9AF243] - (.Microsoft Corporation - Bibliothèque de licences.) (.21/11/2010 - 04:24:16.) -- C:\Windows\System32\sppcomapi.dll [232448]
et non comme j'arrive à le faire pour le moment.
Image
► Afficher le texte
Question supplémentaires.
Je suis limité en nombre de ligne dans mon Edit ?
Est-ce que je suis limité en nombre de mot à chercher ?
Autre question : Par exemple je recherche le mot Supdate, comment éviter de retrouver avec des lignes qui ont WindowsUpdate


Je regarde et travaille sur _GUICtrlRichEdit
merci :)
Amesamana
Niveau 5
Niveau 5
Messages : 108
Enregistré le : dim. 09 sept. 2012 16:37
Status : Hors ligne

Re: [..] Rechercher la présence d'un mot dans un fichier

#5

Message par Amesamana »

Bonsoir,

Je reviens sur ce sujet !
Je me penche à nouveau dessus mais pas de résultat !
Mikell a écrit :Tout ça est assez simple si tu prends le temps de faire les choses dans l'ordre...
Où est-ce que tu bloques exactement ?
Pas dans la recherche, mais pouvoir mettre les lignes du fichier de recherche avec en couleur.
Surement pas si difficile mais je bloque, voir je ne trouve pas la solution.
mdanielm
Membre émérite
Membre émérite
Messages : 254
Enregistré le : mer. 11 déc. 2013 19:48
Status : Hors ligne

Re: [..] Rechercher la présence d'un mot dans un fichier

#6

Message par mdanielm »

En espérant cette fois que mon aide vous comble.
(2 modifications faites ce lundi à 8h)
► Afficher le texte
Amesamana
Niveau 5
Niveau 5
Messages : 108
Enregistré le : dim. 09 sept. 2012 16:37
Status : Hors ligne

Re: [R] Rechercher la présence d'un mot dans un fichier

#7

Message par Amesamana »

Bonjour,

Oui merci beaucoup :)
Je vais pouvoir adapter ceci à mon code, avec votre aide je comprends ce qui cloche (je vais travailler dessus).
La version de la fable est sympa :lol:

[R]
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [R] Rechercher la présence d'un mot dans un fichier

#8

Message par orax »

Le [R] doit se mettre dans le 1er message (je l'ai mis) puisque c'est le sujet 1er message qui est visible dans la liste.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Amesamana
Niveau 5
Niveau 5
Messages : 108
Enregistré le : dim. 09 sept. 2012 16:37
Status : Hors ligne

Re: [R] Rechercher la présence d'un mot dans un fichier

#9

Message par Amesamana »

Je m'aperçois que je n'avais jamais fait de retour sur ce sujet.
Merci mdanielm :)
Alors pour recherche ça avait donné :
Le texte à copier (Ctrl+V) dans la GUI et un fichier Mot.txt sous C:\ pour la recherche.
► Afficher le texteLe code
► Afficher le texteLe texte
► Afficher le texteLes mots recherchés
Répondre