Notepad++

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
apatsou34
Niveau 1
Niveau 1
Messages : 3
Enregistré le : ven. 12 févr. 2021 20:03
Status : Hors ligne

Notepad++

#1

Message 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.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Notepad++

#2

Message 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
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2086
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: Notepad++

#3

Message 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)
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
apatsou34
Niveau 1
Niveau 1
Messages : 3
Enregistré le : ven. 12 févr. 2021 20:03
Status : Hors ligne

Re: Notepad++

#4

Message 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
Répondre