Moustique Posté(e) 3 février 2006 Posté(e) 3 février 2006 J'ai besoin d'automatiser un rechercher/remplacer assez simple dans des fichiers .TXT. Il s'agit d'une part de remplacer tous les "|" par des "," (ou éventuellement par des TAB (ASCII 9). Et d'autre par de faire l'opération inverse, remplacer les "," ou les TAB (ASCII9) par des "|". Actuellement pour me dépanner j'utilise tout simplement WORD et sa fonction rechercher/remplacer mais ce passage par WORD est une étape un peu idiote et qui fait très "usine à gaz". L'idéal serait de générer un petit soft autonome qui réalise l'opération en un clic. J'ai déjà abordé ce problème ici (voir : http://www.blue-hardware.com/forum/index.php?showtopic=20245 ) mais la solution proposée à l'époque (AUTOIT) ne convenait pas vraiment. Citer
Moustique Posté(e) 3 février 2006 Auteur Posté(e) 3 février 2006 Résolu ! Comme je ne trouvais aucune solution, j'ai fini par écrire une petite moulinette en QBASIC compilé et ça fonctionne. Le compilateur date des années 90 mais il fonctionne toujours très bien et les EXE qu'il produit fonctionnent sans problème sous Windows XP. La dernière fois que je l'ai utilisé c'était en MS-DOS 3.30 sur un 80286 :lol: , sur un P4 2,8 c'est fou comme la compilation a l'air plus rapide. :D Citer
vier Posté(e) 3 février 2006 Posté(e) 3 février 2006 Si tu veux que je te fasse un exe en autoit pour faire ca. Il n'y a pas de problèmes. C'est pas très compliqué ! Citer
Moustique Posté(e) 3 février 2006 Auteur Posté(e) 3 février 2006 Merci pour ton offre mais maintenant que mon petit convertisseur en QBASIC fonctionne, ça ne vaut plus la peine de chercher autre chose. Citer
gorgorgueu Posté(e) 3 février 2006 Posté(e) 3 février 2006 tu peux faire un copier/coller du source? c'est par curiosité, merci :biere: Citer
Moustique Posté(e) 3 février 2006 Auteur Posté(e) 3 février 2006 Voici le coeur du programme. J'ai viré tous les truc accessoires autour pour ne laisser que la partie qui effectue la rechercher/remplacer. OPEN f$ FOR INPUT AS #1 OPEN f2$ FOR OUTPUT AS #2 nbr = 0 DO UNTIL EOF(1) = -1 nbr = nbr + 1 LINE INPUT #1, a$ l = LEN(a$) b$ = "" FOR x = 1 TO l IF MID$(a$, x, 1) = "|" THEN b$ = b$ + CHR$(9) ELSE b$ = b$ + MID$(a$, x, 1) NEXT x PRINT #2, b$ LOOP PRINT nbr;" enregistrements traités." CLOSE #2 CLOSE #1 Citer
gorgorgueu Posté(e) 4 février 2006 Posté(e) 4 février 2006 Merci Moustique :biere: en fait, je commence à m'interresser aux différents languages :) du java en cours. du VBS pour faire des choses foireuses :frenchy: et Axtrane m'a expliqué comment faire un batch pour faire un netsend en boucle (tres utile à la fac :yais: :lapin: ) Citer
Moustique Posté(e) 4 février 2006 Auteur Posté(e) 4 février 2006 en fait, je commence à m'interresser aux différents languages :) Ne t'intéresse pas trop à celui-là, je dois être la seule personne au monde à l'utiliser encore en 2006. :lol: Citer
gorgorgueu Posté(e) 4 février 2006 Posté(e) 4 février 2006 en fait, je commence à m'interresser aux différents languages :) Ne t'intéresse pas trop à celui-là, je dois être la seule personne au monde à l'utiliser encore en 2006. :lol: :frenchy: ok, mais ça m'a permis de voir un peu la structure :respect: Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.