Page 1 sur 1

Notepad++

Posté : mar. 18 mai 2021 19:06
par apatsou34
Bonjour,

j'essaie de lancer des remplacements de chaines de caracteres dans des dossiers en utilisant Notepad++ qui est plutôt rapide (en tout cas plus que vb6 d'après ce que j'arrive à développer). Le problème c'est que je dois attendre la fin d'un action avant d'en lancer une autre et j'ai plus de 2000 modifications à faire en attaquant une arborescence de 3000 fichiers.
J'ai donc un fichier en entrée qui contient les chaines à remplacer et par quoi. Ca, j'arrive à gérer avec AutoIT.
Mon souci se situe sur NP++. Quand je lance un Ctrl Shift R, j'ai bien la bonne fenêtre de recherche. J'arrive à renseigner les champs Recherche, Remplacer par, Filtres, Dossier mais ensuite, je n'arrive pas à me positionner sur le bouton Remplacer tout. Autoit Window Info ne le voit pas et si je l'attaque avec :
ControlClick ( $hWnd,"","Remplacer tout" )
Send("{ENTER}")
il ne lance pas le remplacement.

Voilà. Si quelqu'un a une proposition, je suis preneur.
Merci à vous.

Re: Notepad++

Posté : mar. 18 mai 2021 21:29
par mikell
En principe, les remplacements effectués par Notepad++, un script devrait pouvoir les faire non ?
Un exemple concret du travail à réaliser serait bienvenu

Re: Notepad++

Posté : mer. 19 mai 2021 13:11
par TommyDDR
Vous ne le voyez pas parcequ'un tab est intercepté avant.
Avec l'outil ControlViewer, vous pouvez afficher / cacher les éléments, et en retirant le tab :
npp.png
Vous pouvez voir que le bouton "Remplacer tout" est le bouton numéro 31 donc :
ControlClick ( $hWnd,"","[CLASS:Button; INSTANCE:31]" )

Cependant, Mikell à tout à fait raison.
Pourquoi passer par notepad++ alors que vous pouvez faire le même travail directement en AutoIt ?
(_FileListToArrayRec, FileOpen, FileRead, FileSetPos, FileWrite)

Re: Notepad++

Posté : mar. 25 mai 2021 20:13
par apatsou34
Mon contrôle viewer devait dater car il ne propose pas les controls.
Après, j'ai suivi votre idée et j'arrive à faire quelque chose d'équivalent. Maintenant, je veux y mettre du décor et là, c'est pas gagné.
Par rapport à vb6, j'ai du mal avec les listes à plusieurs colonnes, leurs mises à jour, et les ascenseurs horizontaux pour les fichiers avec une longue arborescence.
Et puis je cherchais à structurer mon code et je suis tomber sur ce magnifique exemple : viewtopic.php?f=6&t=13608