Editer automatiquement les valeurs d'un fichier texte - Divers - Programmation
Marsh Posté le 30-03-2010 à 22:11:59
Eh bien si on ne sais pas de quel langage tu disposes (quel type de macros ? VB ? ) ça va être compliqué de te répondre.
Si tu est sous linux, la commande sed fera ton bonheur.
sed -e 's/motif_a_remplacer/nouveau_motif/g'
Marsh Posté le 31-03-2010 à 07:47:00
@Lan Wezel
et bien c'est un émulateur pour émuler un logiciel de gestion de stock donc je ne sais pas vraiment ... j'envoie une capture ce jour
Marsh Posté le 31-03-2010 à 07:59:30
"Précision je suis sur XP"
En fait je me demandais aussi s'il y avait moyen avec un logiciel (je ne m'y connait pas de trop) de modifier les valeurs en rouge en faisant simplement un copier/coller dans un autre fichier texte exemple je change les valeurs en colant mes codes :
41502503
41506804
41658446
ils se retrouvent après dans la macro (voir 1er post) il me suffit après de placer la macro dans le dossier du logiciel en question pour que la macro s'exécute avec mes nouveaux codes.
voila
Marsh Posté le 31-03-2010 à 12:56:35
MaisTuPicolesEnPlus a écrit : c'est du langage VBScript. |
Salut, ces valeur en rouge, qu'on t-elle de particulier ? Comment vas tu les différencier des autres lignes ?
Marsh Posté le 31-03-2010 à 17:14:06
en fait c'est pour m'éviter une opération répétitive seulement les valeur en rouge change tout le temps donc impossible de faire une simple macro ,
donc l'idée ce serait de faire une base de donnée avec ces valeurs en rouge , je n'aurais plus qu'a renseigné les valeurs en rouge dans un fichier texte par exemple et le reste
se ferait automatiquement.
Enfin je ne sais pas ci cela est possible
Marsh Posté le 31-03-2010 à 17:29:51
MaisTuPicolesEnPlus a écrit : |
Oui, tu n'a pas réellement besoin d'une base de donnée ou de système de gestion de base de données pour être exacte.
Un petit programme très simple peut être une solution.
Quel est ton langage de prédilection ?
Marsh Posté le 31-03-2010 à 17:47:00
bien heu , le langage peu importe les macro sont de simple fichier texte moi c'est comme tu veux
quel genre de logiciel pourrais faire cela ?
Marsh Posté le 31-03-2010 à 17:54:44
Trouve et installe un compilateur Ada, je vais te faire le programme qui va bien.
Pour demain, ça te va ?
Marsh Posté le 31-03-2010 à 18:21:34
Donc, mon programme prend 4 noms de fichier en paramètre de ligne de commande.
Exemple de commande : "Mon_Programme Nom_du_Fichier_Source Nom_du_Ficher_de_Données_à_Modifier Nom_du_Fichier_Cible Nom_de_Fichier_des_Nouvelles_Données".
Où :
Ce qui te fait 3 fichier à fournir. Pour un fichier résultant de l'application de mon programme.
Les fichiers contenants chaque valeur à modifier et en remplacement doivent se trouver sur des lignes dans chaque fichier respectifs distinctes.
Marsh Posté le 31-03-2010 à 20:20:16
bien heu pour le fichier à modifier le voici en .txt
Spoiler : |
Le fichier avec valeurs (exemple) (sera nommé itm8) Ficher_de_Données_à_Modifier
Spoiler : 41512502 |
est-il possible de rajouter des valeurs à modifier comme je le souhaite ?
encore merci
Marsh Posté le 31-03-2010 à 20:33:13
MaisTuPicolesEnPlus a écrit :
|
Tu veux dire que toute les valeur à modifier son une unique valeur qui est "VALEUR A MODIFIER" ?
Si tu veux.
MaisTuPicolesEnPlus a écrit :
|
Non, c'est le fichier des valeur de remplacement ou celui des valeur à modifier. Le Ficher_de_Données_à_Modifier c'est celui d'origine.
MaisTuPicolesEnPlus a écrit : |
Tu peux mettre toute les valeurs à modifier que tu souhaites en donnant les valeurs de remplacement correspondantes.
Donc, tu a un fichier d'origine, appelons le "Origine" il sera remplacer la un fichier dont tu donnera le nom au programme.
Tu doit fournir en plus un fichier de données à modifier et un fichier de données de remplacement.
A moins que tu n'ai qu'une valeurs à modifier comme tu semblait le dire plus haut avec "VALEUR A MODIFIER", auquel cas tu ne doit fournir qu'un fichier de données de remplacement, mais dont la liste doit être ordonnée.
Marsh Posté le 31-03-2010 à 23:25:57
Code :
|
edit := Pour copier et coller le texte, double cliquer sur le code pour faire disparaitre le numéro des ligne, puis sélectionner/copier/coller dans un éditeur.
Marsh Posté le 01-04-2010 à 07:54:08
merci déjà je regarde à l'instant
Marsh Posté le 01-04-2010 à 08:05:16
Excuse moi mais j'ai un petit souci je n'arrive pas à me servir de GNAT pour inclure ton script pourrais-tu m'aider stp ?
Marsh Posté le 01-04-2010 à 08:11:03
MaisTuPicolesEnPlus a écrit : Excuse moi mais j'ai un petit souci je n'arrive pas à me servir de GNAT pour inclure ton script pourrais-tu m'aider stp ? |
Tu dois nommer le fichier dans lequel tu as copier le code ci-dessus "replace_value.adb".
En suite tu ouvre une "invite de commande" dans laquelle tu te déplaces dans le répertoire contenant le fichier "replace_value.adb".
Puis tu tapes la commande "gnatmake replace_value" qui doit produire un exécutable nommé "replace_value.exe".
Marsh Posté le 01-04-2010 à 12:17:20
As-tu atteint ton objectif ?
Marsh Posté le 01-04-2010 à 13:14:56
Je regarde , mais ici je suis au travail je n'ai pas les droits admninistrateurs pour installer un logiciel je regarde dès ce soir je te remercie déjà d'avance.
Marsh Posté le 05-04-2010 à 12:39:42
@jovalise , désolé mais je n'arrive toujours pas à faire fonctionner GNAT pourrais-tu me dire par ou je dois commencer ?
Marsh Posté le 05-04-2010 à 12:47:42
MaisTuPicolesEnPlus a écrit : @jovalise , désolé mais je n'arrive toujours pas à faire fonctionner GNAT pourrais-tu me dire par ou je dois commencer ? |
C'était écrit au dessus.
Quel est le problème ?
Marsh Posté le 30-03-2010 à 21:28:17
Bonjour ,
je n'y connait pas en programation mais à mon travail nous avons la possibilité de faire des macro via un logiciel d'émulation , mon but ici serais de remplacer les valeurs
mises en évidence en ROUGE pas des autres valeurs que je choisirais via une base de donné ??. Le fichier texte serait alors édité mais juste les valeurs en rouge.
"41020512
[tab field]
[tab field]
"p56
[right]
"9999
[pf6]
[wait inp inh]
wait 1 msec
[pf6]
[wait inp inh]
wait 1 msec
[pf6]
[wait inp inh]
wait 1 msec
"41020513
[newline]
"p56
[right]
"9999
[pf6]
[wait inp inh]
wait 1 msec
[pf6]
[wait inp inh]
wait 1 msec
[pf6]
[wait inp inh]
wait 1 msec
"41020525
[newline]
"p56
[right]
"9999
[pf6]
[wait inp inh]
wait 1 msec
[pf6]
[wait inp inh]
wait 1 msec
[pf6]