Bloc-note : Remplacement de caractéres
-
- Posts: 274
- Joined: 11 Jun 2014, 14:45
Bloc-note : Remplacement de caractéres
Bonjour à tous
Vous savez sur le bloc-notes lorsqu'on a une liste comme ceci :
On peut facilement utiliser l'option " remplacer " qui est très pratique si je veux enlever les " Au revoir " tous d'un coup.
Mais ce qui serait encore mieux, c'est de pouvoir faire tout ceci sans ouvrir le bloc-note ( comme l'action " Ecriture fichier texte " ou " Lire ficher texte " ), en faite si je demande ceci c'est parce-que souvent je dois filtrer des bloc-notes avec les mêmes mots à enlever, c'est pour cela que si il est possible de faire un script pour cela ça me serait très utile ( et pour d'autres aussi je pense , je suis fégniant Mais dans le bon sens )
Je vous remercie pour vos réponses
Cordialement
Sergent-Quentin
Vous savez sur le bloc-notes lorsqu'on a une liste comme ceci :
On peut facilement utiliser l'option " remplacer " qui est très pratique si je veux enlever les " Au revoir " tous d'un coup.
Mais ce qui serait encore mieux, c'est de pouvoir faire tout ceci sans ouvrir le bloc-note ( comme l'action " Ecriture fichier texte " ou " Lire ficher texte " ), en faite si je demande ceci c'est parce-que souvent je dois filtrer des bloc-notes avec les mêmes mots à enlever, c'est pour cela que si il est possible de faire un script pour cela ça me serait très utile ( et pour d'autres aussi je pense , je suis fégniant Mais dans le bon sens )
Je vous remercie pour vos réponses
Cordialement
Sergent-Quentin
Re: Bloc-note : Remplacement de caractéres
Tu peux lire le fichier avec l'action correspondante, supprimer les mots que tu veux avec un bout de code et écrire le fichier avec l'action du même nom.
Par exemple, pour le code :
Par exemple, pour le code :
Code: Select all
var texte = "Au revoir\n" +
"Au revoir\n" +
"Salut\n" +
"Au revoir\n" +
"Au revoir\n" +
"Salut\n" +
"Au revoir\n" +
"Au revoir\n" +
"Au revoir\n" +
"Au revoir\n";
texte = texte.replace(/Au revoir\n/g, "");
"My software never has bugs. It just develops random features."
-
- Posts: 274
- Joined: 11 Jun 2014, 14:45
Re: Bloc-note : Remplacement de caractéres
Bonsoir
j'ai testé et ça fonctionne
En revanche il est nécessaire d'avoir une copie du bloc-note dans le code pour conserver tous les " Salut " ?
j'ai testé et ça fonctionne
En revanche il est nécessaire d'avoir une copie du bloc-note dans le code pour conserver tous les " Salut " ?
Re: Bloc-note : Remplacement de caractéres
Tu lit le fichier et tu stockes le résultat dans une variable.
-
- Posts: 274
- Joined: 11 Jun 2014, 14:45
Re: Bloc-note : Remplacement de caractéres
Je up ce sujet car il est inutile de créer un autre pour ça.
Mon script :
1- Il demande à l'utilisateur via des interfaces ( Entrée de données ) d'entrer des informations qui seront stocker sous différentes variables ( entre parenthésées ) :
[Nom du produit] ( var = Titre )
Couleur du produit ( var = Couleur )
Prix ( var = Prix )
État du produit ( var = Etat )
2 - Le script écrit toutes ses infos avec l'action "Écrire fichier texte" dans un bloc-note :
[$Titre]
$Couleur
$Prix
$Etat
#Fin
Mon problème :
Je voudrais rajouter une option qui permet de modifier une information dans le bloc-note à une ligne précise (modifier un prix par exemple), j'ai d’abord fait ceci :
1- Le script récupère tous les titres ( lorsque que la ligne contient "[" il l'écrit dans un bloc-note qui servira à afficher tous les titres )
2- Je sélectionne le produit que je veux modifier
3- Il me propose de modifier un des 4 éléments
4- Je bloque...
J'ai penser avec la fonction .replace mais je ne peux pas mettre de variable...
Je sais que l'explication est flou, c'est pourquoi j'ai rajouter le script, tout ce que je veux c'est pouvoir modifier le prix par exemple, via l'interface ( c'est ce qui manque ).
Attention : Penser à modifier les chemins pour les fichiers texte ( Créer vous 3 fichiers bloc-notes : Liste, Memoire, Choix )
Je vous remercie.
Mon script :
1- Il demande à l'utilisateur via des interfaces ( Entrée de données ) d'entrer des informations qui seront stocker sous différentes variables ( entre parenthésées ) :
[Nom du produit] ( var = Titre )
Couleur du produit ( var = Couleur )
Prix ( var = Prix )
État du produit ( var = Etat )
2 - Le script écrit toutes ses infos avec l'action "Écrire fichier texte" dans un bloc-note :
[$Titre]
$Couleur
$Prix
$Etat
#Fin
Mon problème :
Je voudrais rajouter une option qui permet de modifier une information dans le bloc-note à une ligne précise (modifier un prix par exemple), j'ai d’abord fait ceci :
1- Le script récupère tous les titres ( lorsque que la ligne contient "[" il l'écrit dans un bloc-note qui servira à afficher tous les titres )
2- Je sélectionne le produit que je veux modifier
3- Il me propose de modifier un des 4 éléments
4- Je bloque...
J'ai penser avec la fonction .replace mais je ne peux pas mettre de variable...
Je sais que l'explication est flou, c'est pourquoi j'ai rajouter le script, tout ce que je veux c'est pouvoir modifier le prix par exemple, via l'interface ( c'est ce qui manque ).
Attention : Penser à modifier les chemins pour les fichiers texte ( Créer vous 3 fichiers bloc-notes : Liste, Memoire, Choix )
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<scriptfile>
<settings program="actionaz" version="3.8.0" scriptVersion="1.1.0" os="Windows"/>
<actions>
<action name="ActionDataInput" version="1.0.0"/>
<action name="ActionGoto" version="1.0.0"/>
<action name="ActionNoop" version="1.0.0"/>
<action name="ActionCode" version="1.0.0"/>
<action name="ActionVariable" version="1.0.0"/>
<action name="ActionReadTextFile" version="1.0.0"/>
<action name="ActionWriteTextFile" version="1.0.0"/>
<action name="ActionVariableCondition" version="1.0.0"/>
<action name="ActionMultiDataInput" version="1.0.0"/>
</actions>
<parameters/>
<resources/>
<script pauseBefore="0" pauseAfter="0">
<action name="ActionMultiDataInput" label="Menu">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="defaultValue">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="windowIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="maximumChoiceCount">
<subParameter name="value" code="0">1</subParameter>
</parameter>
<parameter name="mode">
<subParameter name="value" code="0">radioButton</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">Menu</subParameter>
</parameter>
<parameter name="question">
<subParameter name="value" code="0">Que veux-tu faire ?</subParameter>
</parameter>
<parameter name="items">
<subParameter name="value" code="0">Ajouter une annonce
Gestionnaire d'annonce(s)
</subParameter>
</parameter>
<parameter name="windowTitle">
<subParameter name="value" code="0"></subParameter>
</parameter>
</action>
<action name="ActionCode">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="code">
<subParameter name="value" code="1">if (Menu=="Ajouter une annonce") {
Script.nextLine = "Titre";
}
else if (Menu=="Gestionnaire d'annonce(s)") {
Script.nextLine = "Ligne = 0";
}</subParameter>
</parameter>
</action>
<action name="ActionNoop" label="Informations" comment="Informations" color="#00ff00">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
</action>
<action name="ActionDataInput" label="Titre">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="defaultValue">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="windowIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="dataType">
<subParameter name="value" code="0">text</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">Titre</subParameter>
</parameter>
<parameter name="question">
<subParameter name="value" code="0">Nom du produit :</subParameter>
</parameter>
<parameter name="windowTitle">
<subParameter name="value" code="0"></subParameter>
</parameter>
</action>
<action name="ActionDataInput" label="Couleur">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="defaultValue">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="windowIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="dataType">
<subParameter name="value" code="0">text</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">Couleur</subParameter>
</parameter>
<parameter name="question">
<subParameter name="value" code="0">Couleur de produit</subParameter>
</parameter>
<parameter name="windowTitle">
<subParameter name="value" code="0"></subParameter>
</parameter>
</action>
<action name="ActionDataInput" label="Prix">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="defaultValue">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="windowIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="dataType">
<subParameter name="value" code="0">decimal</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">Prix</subParameter>
</parameter>
<parameter name="question">
<subParameter name="value" code="0">Prix :</subParameter>
</parameter>
<parameter name="windowTitle">
<subParameter name="value" code="0"></subParameter>
</parameter>
</action>
<action name="ActionDataInput" label="Etat">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="defaultValue">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="windowIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="dataType">
<subParameter name="value" code="0">text</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">Etat</subParameter>
</parameter>
<parameter name="question">
<subParameter name="value" code="0">Etat du produit :</subParameter>
</parameter>
<parameter name="windowTitle">
<subParameter name="value" code="0"></subParameter>
</parameter>
</action>
<action name="ActionWriteTextFile" label="Ecriture des informations">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<parameter name="mode">
<subParameter name="value" code="0">truncate</subParameter>
</parameter>
<parameter name="file">
<subParameter name="value" code="0">C:/Users/Quentinou/Desktop/Liste.txt</subParameter>
</parameter>
<parameter name="text">
<subParameter name="value" code="0">[$Titre]
$Couleur
$Prix
$Etat
#Fin</subParameter>
</parameter>
</action>
<action name="ActionGoto" label="Aller à : Menu">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="line">
<subParameter name="value" code="0">Menu</subParameter>
</parameter>
</action>
<action name="ActionNoop" label="Gestionnaire" comment="Gestionnaire" color="#00ff00">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
</action>
<action name="ActionVariable" label="Ligne = 0">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<parameter name="colorValue">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">Ligne</subParameter>
</parameter>
<parameter name="type">
<subParameter name="value" code="0">integer</subParameter>
</parameter>
<parameter name="value">
<subParameter name="value" code="0">0</subParameter>
</parameter>
<parameter name="positionValue">
<subParameter name="unit" code="0">0</subParameter>
<subParameter name="value" code="0"></subParameter>
</parameter>
</action>
<action name="ActionWriteTextFile" label="Effacement de la mémoire">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<parameter name="mode">
<subParameter name="value" code="0">truncate</subParameter>
</parameter>
<parameter name="file">
<subParameter name="value" code="0">C:/Users/Quentinou/Desktop/Memoire.txt</subParameter>
</parameter>
<parameter name="text">
<subParameter name="value" code="0"></subParameter>
</parameter>
</action>
<action name="ActionVariable" label="Ligne + 1">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<parameter name="colorValue">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">Ligne</subParameter>
</parameter>
<parameter name="positionValue">
<subParameter name="unit" code="0">0</subParameter>
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="value">
<subParameter name="value" code="1">Ligne + 1</subParameter>
</parameter>
<parameter name="type">
<subParameter name="value" code="0">integer</subParameter>
</parameter>
</action>
<action name="ActionReadTextFile" label="Infos">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<parameter name="firstline">
<subParameter name="value" code="1">Ligne</subParameter>
</parameter>
<parameter name="mode">
<subParameter name="value" code="0">selection</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">Infos</subParameter>
</parameter>
<parameter name="file">
<subParameter name="value" code="0">C:/Users/Quentinou/Desktop/Liste.txt</subParameter>
</parameter>
<parameter name="lastline">
<subParameter name="value" code="1">Ligne</subParameter>
</parameter>
</action>
<action name="ActionVariableCondition" label="Si c'est [">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="ifEqual">
<subParameter name="line" code="0">Ecriture dans la mémoire</subParameter>
<subParameter name="action" code="0">goto</subParameter>
</parameter>
<parameter name="comparison">
<subParameter name="value" code="0">contains</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">Infos</subParameter>
</parameter>
<parameter name="value">
<subParameter name="value" code="0">[</subParameter>
</parameter>
<parameter name="ifDifferent">
<subParameter name="line" code="0">Si c'est #Fin</subParameter>
<subParameter name="action" code="0">goto</subParameter>
</parameter>
</action>
<action name="ActionVariableCondition" label="Si c'est #Fin">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="ifEqual">
<subParameter name="line" code="0">Memoire</subParameter>
<subParameter name="action" code="0">goto</subParameter>
</parameter>
<parameter name="comparison">
<subParameter name="value" code="0">contains</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">Infos</subParameter>
</parameter>
<parameter name="value">
<subParameter name="value" code="0">#Fin</subParameter>
</parameter>
<parameter name="ifDifferent">
<subParameter name="line" code="0">Ligne + 1</subParameter>
<subParameter name="action" code="0">goto</subParameter>
</parameter>
</action>
<action name="ActionMultiDataInput" label="Liste">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="defaultValue">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="windowIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="maximumChoiceCount">
<subParameter name="value" code="0">1</subParameter>
</parameter>
<parameter name="mode">
<subParameter name="value" code="0">list</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">Liste</subParameter>
</parameter>
<parameter name="question">
<subParameter name="value" code="0">Quel annonce veux-tu modifier ?</subParameter>
</parameter>
<parameter name="items">
<subParameter name="value" code="0">$Infos
</subParameter>
</parameter>
<parameter name="windowTitle">
<subParameter name="value" code="0"></subParameter>
</parameter>
</action>
<action name="ActionWriteTextFile" label="Ecriture dans la mémoire">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<parameter name="mode">
<subParameter name="value" code="0">append</subParameter>
</parameter>
<parameter name="file">
<subParameter name="value" code="0">C:/Users/Quentinou/Desktop/Memoire.txt</subParameter>
</parameter>
<parameter name="text">
<subParameter name="value" code="0">$Infos
</subParameter>
</parameter>
</action>
<action name="ActionGoto" label="Aller à : Ligne + 1">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="line">
<subParameter name="value" code="0">Ligne + 1</subParameter>
</parameter>
</action>
<action name="ActionReadTextFile" label="Memoire">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<parameter name="firstline">
<subParameter name="value" code="0">1</subParameter>
</parameter>
<parameter name="mode">
<subParameter name="value" code="0">full</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">Memoire</subParameter>
</parameter>
<parameter name="file">
<subParameter name="value" code="0">C:/Users/Quentinou/Desktop/Memoire.txt</subParameter>
</parameter>
<parameter name="lastline">
<subParameter name="value" code="0">1</subParameter>
</parameter>
</action>
<action name="ActionMultiDataInput" label="Gestionnaire d'annonce">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="windowIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="defaultValue">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="maximumChoiceCount">
<subParameter name="value" code="0">1</subParameter>
</parameter>
<parameter name="mode">
<subParameter name="value" code="0">list</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">Annonce</subParameter>
</parameter>
<parameter name="items">
<subParameter name="value" code="0">$Memoire
</subParameter>
</parameter>
<parameter name="question">
<subParameter name="value" code="0">Annonce(s) :</subParameter>
</parameter>
<parameter name="windowTitle">
<subParameter name="value" code="0">Annonce(s) enregistrée(s)</subParameter>
</parameter>
</action>
<action name="ActionMultiDataInput" label="Modification">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="windowIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="defaultValue">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="maximumChoiceCount">
<subParameter name="value" code="0">9</subParameter>
</parameter>
<parameter name="mode">
<subParameter name="value" code="0">checkbox</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">Modification</subParameter>
</parameter>
<parameter name="items">
<subParameter name="value" code="0">Modifier le titre
Modifier la couleur
Modifier le prix
Modifier l'état
</subParameter>
</parameter>
<parameter name="question">
<subParameter name="value" code="0">Que veux-tu faire ?
Annonce : $Annonce
</subParameter>
</parameter>
<parameter name="windowTitle">
<subParameter name="value" code="0">Modification</subParameter>
</parameter>
</action>
<action name="ActionVariable" label="ctr = 0">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<parameter name="colorValue">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">ctr</subParameter>
</parameter>
<parameter name="positionValue">
<subParameter name="unit" code="0">0</subParameter>
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="value">
<subParameter name="value" code="0">0</subParameter>
</parameter>
<parameter name="type">
<subParameter name="value" code="0">integer</subParameter>
</parameter>
</action>
<action name="ActionVariableCondition" label="Condition ctr">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="ifEqual">
<subParameter name="line" code="0"></subParameter>
<subParameter name="action" code="0">do_nothing</subParameter>
</parameter>
<parameter name="comparison">
<subParameter name="value" code="0">inferior</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">ctr</subParameter>
</parameter>
<parameter name="ifDifferent">
<subParameter name="line" code="0">Lecture modifications</subParameter>
<subParameter name="action" code="0">goto</subParameter>
</parameter>
<parameter name="value">
<subParameter name="value" code="1">Modification.length</subParameter>
</parameter>
</action>
<action name="ActionWriteTextFile" label="Ecriture du choix">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<parameter name="mode">
<subParameter name="value" code="0">truncate</subParameter>
</parameter>
<parameter name="file">
<subParameter name="value" code="0">C:/Users/Quentinou/Desktop/Choix.txt</subParameter>
</parameter>
<parameter name="text">
<subParameter name="value" code="1">Modification[ctr]</subParameter>
</parameter>
</action>
<action name="ActionVariable" label="ctr + 1">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<parameter name="colorValue">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">ctr</subParameter>
</parameter>
<parameter name="positionValue">
<subParameter name="unit" code="0">0</subParameter>
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="value">
<subParameter name="value" code="1">ctr+1</subParameter>
</parameter>
<parameter name="type">
<subParameter name="value" code="0">integer</subParameter>
</parameter>
</action>
<action name="ActionGoto" label="Aller à : Condition ctr">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="line">
<subParameter name="value" code="0">Condition ctr</subParameter>
</parameter>
</action>
<action name="ActionReadTextFile" label="Lecture modifications">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<parameter name="firstline">
<subParameter name="value" code="1">ctr</subParameter>
</parameter>
<parameter name="mode">
<subParameter name="value" code="0">selection</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">Modification</subParameter>
</parameter>
<parameter name="file">
<subParameter name="value" code="0">C:/Users/Quentinou/Desktop/Choix.txt</subParameter>
</parameter>
<parameter name="lastline">
<subParameter name="value" code="1">ctr</subParameter>
</parameter>
</action>
<action name="ActionCode" label="Condition modification">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="code">
<subParameter name="value" code="1">if (Modification=="Modifier le titre") {
var Texte = "Nouveau titre :"
}
else if (Modification=="Modifier la couleur") {
var Texte = "Nouvelle couleur :";
}
else if (Modification=="Modifier le prix") {
var Texte = "Nouveau prix :";
}
else if (Modification=="Modifier l'état") {
var Texte = "Nouvel etat :";
}</subParameter>
</parameter>
</action>
<action name="ActionDataInput" label="Modifier">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="windowIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="defaultValue">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="dataType">
<subParameter name="value" code="0">text</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">Modification</subParameter>
</parameter>
<parameter name="question">
<subParameter name="value" code="0">$Texte</subParameter>
</parameter>
<parameter name="windowTitle">
<subParameter name="value" code="0">$Annonce</subParameter>
</parameter>
</action>
</script>
</scriptfile>
Re: Bloc-note : Remplacement de caractéres
Je n'ai pas le temps de tester maintenant, mais si tu veux stocker des infos dans un fichier sous la forme nom=valeur alors tu ferais mieux d'utiliser le format INI (voir les deux actions associées), qui sert exactement à ça.
"My software never has bugs. It just develops random features."
-
- Posts: 274
- Joined: 11 Jun 2014, 14:45
Re: Bloc-note : Remplacement de caractéres
Dac je vais voir ce que c'est ^^ merciJmgr wrote:Je n'ai pas le temps de tester maintenant, mais si tu veux stocker des infos dans un fichier sous la forme nom=valeur alors tu ferais mieux d'utiliser le format INI (voir les deux actions associées), qui sert exactement à ça.
Sinon si toi ou quelqu'un d'autre à le temps de s'occuper de mon petit problème n'hésitez pas :p
Merci à tous
Re: Bloc-note : Remplacement de caractéres
Tu peux stocker tes infos dans un fichier INI sous cette forme :
Ainsi tu pourras accéder aux propriétés de tes items via id.titre (id.couleur, id.prix, id.etat) ou id["titre"] (id["couleur"], id["prix"], id["etat"]). Cependant il te faudra stocker la correspondance titre=id quelque part.
Sinon tu peux stocker tes données comme ceci :
Les titres de tes items peuvent contenir des symboles (@-'). Attention cependant a filtrer le symbole # et à le supprimer sinon il fera planter le script. Tu pourras accéder aux valeurs via titre.couleur, ou plutôt Obj["titre"].couleur. Obj étant le nom de la variable récupérant l'objet.
Je n'ai pas regardé le fonctionnement de ton script, mais voilà ce que je ferais.
Première étape, on charge le contenu du fichier dans un tableau, comme ça on garde le détails de tout les items en mémoire sans avoir besoin de constamment aller chercher l'information dans le fichier INI. Si il y a 100 000 items ça fera un grand tableau mais de toute façon, un fichier INI n'est pas fait pour stocker autant d'informations donc bon.
Ce code est pas terrible, car si une ligne est supprimé, donc qu'un id manque, la boucle s’arrête mais il y a un bug ^^, cependant, il est possible de compter le nombre de key en manipulant le fichier INI comme un simple fichier texte, si tu as vraiment besoin.
Ensuite, on manipule ce tableau, par exemple pour chercher un item avec son titre :
Utilisation d'un tableau pour stocker les données dans le cas où certains items auraient un titre identique. Si les titres sont uniques, ben pas besoin de tableau, merci Cap'tain Obvious !
Pour chercher tout les items ayant un prix supérieurs à 10 euros :
Ici, même principe.
EDIT : Contenu du fichier INI :
Code: Select all
id={"titre" : "", "couleur" : "", "prix" : "", "etat" : ""}
Sinon tu peux stocker tes données comme ceci :
Code: Select all
titre={"couleur" : "", "prix" : "", "etat" : ""}
Je n'ai pas regardé le fonctionnement de ton script, mais voilà ce que je ferais.
Première étape, on charge le contenu du fichier dans un tableau, comme ça on garde le détails de tout les items en mémoire sans avoir besoin de constamment aller chercher l'information dans le fichier INI. Si il y a 100 000 items ça fera un grand tableau mais de toute façon, un fichier INI n'est pas fait pour stocker autant d'informations donc bon.
Code: Select all
var lectureFichierIni = new IniFile().load("test.ini"), values = [], test = true, key = 0; //Chargement du fichier INI, tableau vide qui servira a stocker les items, condition de boucle, key du fichier INI
while (test === true) { //Tant que test = true, on continue
if (lectureFichierIni.keyExists(key)) { //Si il existe la key dans le fichier INI, 0 au premier passage
values[key] = JSON.parse(lectureFichierIni.keyValue(key)); //On récupère la valeur et on la parse en JSON
key++; //On incrémente la key de 1
} else //Si la key n'existe pas dans le fichier INI
test = false; //On stop la boucle
}
Ce code est pas terrible, car si une ligne est supprimé, donc qu'un id manque, la boucle s’arrête mais il y a un bug ^^, cependant, il est possible de compter le nombre de key en manipulant le fichier INI comme un simple fichier texte, si tu as vraiment besoin.
Ensuite, on manipule ce tableau, par exemple pour chercher un item avec son titre :
Code: Select all
var search = "bébé", resultSearch = []; //Titre recherché, stockage des résultat dans un tableau
for (var i = 0; i < values.length; i++) { //On boucle sur le tableau contenant le fichier INI
if (values[i].titre == search) //Si le titre est égale à la recherche
resultSearch.push(values[i]); //On ajoute la valeur dans le tableau resultSearch
}
for (var i = 0; i < resultSearch.length; i++) { //Boucle sur le tableau resultSearch pour lire les résultats
Console.print(resultSearch[i].titre + " " + resultSearch[i].couleur + " " + resultSearch[i].etat);
}
Pour chercher tout les items ayant un prix supérieurs à 10 euros :
Code: Select all
var search2 = 10, resultSearch2 = [];
for (var i = 0; i < values.length; i++) {
if (values[i].prix > search2)
resultSearch2.push(values[i]);
}
for (var i = 0; i < resultSearch2.length; i++) {
Console.print(resultSearch2[i].titre);
}
EDIT : Contenu du fichier INI :
Code: Select all
0={"titre" : "herbe", "couleur" : "rouge", "prix" : "3", "etat" : "bloc"}
1={"titre" : "bébé", "couleur" : "bleue", "prix" : "300", "etat" : "cuit"}
2={"titre" : "bébé", "couleur" : "violet", "prix" : "1", "etat" : "congelé"}
3={"titre" : "nuage", "couleur" : "vert", "prix" : "45", "etat" : "emprisonné"}
-
- Posts: 274
- Joined: 11 Jun 2014, 14:45
Re: Bloc-note : Remplacement de caractéres
Merci de m'avoir répondu, j'ai lu le tout et j'avoue que j'ai du mal à m'en sortir ( même en aillant jeter un coup d’œil ici ^^ http://openclassrooms.com/courses/enreg ... ichier-ini)
Comme je ne connais rien du tout il me faudrait un certain exemple :
J'ai fait un mini-script comportant :
- 3 entrées de données ( Livre, Pages, Poids )
- Écriture fichier ini ( avec comme valeur les 3 entrées de données )
Donc en clair on référence un livre et dans le fichier INI ça apparaît (comme vous l'avez pu devinez ) comme ça :
[Livres pour enfants]
BD = "Tintin
56
130"
Pour commencer, je voudrais juste qu'une action "liste de sélection" qui apparaisse avec toutes les "Sections" à l’intérieur ( en admettant qu'il y en a plusieurs ).
Je pense que le code ne sera pas trop difficile à comprendre ^^ ( du moins je l'espère XD )
Voici mon script :
Je vous remercie
Cordialement
Sergent-Quentin
Comme je ne connais rien du tout il me faudrait un certain exemple :
J'ai fait un mini-script comportant :
- 3 entrées de données ( Livre, Pages, Poids )
- Écriture fichier ini ( avec comme valeur les 3 entrées de données )
Donc en clair on référence un livre et dans le fichier INI ça apparaît (comme vous l'avez pu devinez ) comme ça :
[Livres pour enfants]
BD = "Tintin
56
130"
Pour commencer, je voudrais juste qu'une action "liste de sélection" qui apparaisse avec toutes les "Sections" à l’intérieur ( en admettant qu'il y en a plusieurs ).
Je pense que le code ne sera pas trop difficile à comprendre ^^ ( du moins je l'espère XD )
Voici mon script :
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<scriptfile>
<settings program="actionaz" version="3.8.0" scriptVersion="1.1.0" os="Windows"/>
<actions>
<action name="ActionDataInput" version="1.0.0"/>
<action name="ActionWriteIniFile" version="1.0.0"/>
</actions>
<parameters/>
<resources/>
<script pauseBefore="0" pauseAfter="0">
<action name="ActionDataInput" label="Titre">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="defaultValue">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="windowIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="dataType">
<subParameter name="value" code="0">text</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">Titre</subParameter>
</parameter>
<parameter name="question">
<subParameter name="value" code="0">Titre :</subParameter>
</parameter>
<parameter name="windowTitle">
<subParameter name="value" code="0">Titre du livre</subParameter>
</parameter>
</action>
<action name="ActionDataInput" label="Pages">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="defaultValue">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="windowIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="dataType">
<subParameter name="value" code="0">integer</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">Pages</subParameter>
</parameter>
<parameter name="question">
<subParameter name="value" code="0">Pages :</subParameter>
</parameter>
<parameter name="windowTitle">
<subParameter name="value" code="0">Nombre de pages</subParameter>
</parameter>
</action>
<action name="ActionDataInput" label="Poids">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="defaultValue">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="windowIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="dataType">
<subParameter name="value" code="0">text</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">Poids</subParameter>
</parameter>
<parameter name="question">
<subParameter name="value" code="0">Poids (g) :</subParameter>
</parameter>
<parameter name="windowTitle">
<subParameter name="value" code="0">Poids du livre</subParameter>
</parameter>
</action>
<action name="ActionWriteIniFile" label="Ecriture des données">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<parameter name="section">
<subParameter name="value" code="0">Livres pour enfants</subParameter>
</parameter>
<parameter name="value">
<subParameter name="value" code="0">$Titre
$Pages
$Poids</subParameter>
</parameter>
<parameter name="file">
<subParameter name="value" code="0">C:/Users/Quentinou/Desktop/Bibliothéque.ini</subParameter>
</parameter>
<parameter name="parameter">
<subParameter name="value" code="0">BD</subParameter>
</parameter>
</action>
</script>
</scriptfile>
Cordialement
Sergent-Quentin
Re: Bloc-note : Remplacement de caractéres
Tu ne pourras pas récupérer les données avec une structure de ce type.[Livres pour enfants]
BD = "Tintin
56
130"
Tu doit écrire ça comme ça :
Code: Select all
[Livres pour enfants]
type=bd
titre=Tintin
pages=56
poids=130
Code: Select all
[Tintin]
categorie=livres pour enfants
type=bd
pages=56
poids=130
Code: Select all
[Livres pour enfants]
0={"titre" : "Tintin", "type" : "bd", "pages" : "56", "poids" : "130"}
Code: Select all
var iniFileName = "livre.ini";
function insert(section, titre, pages, poids) {
var _ini = new IniFile();
try {
_ini = _ini.load(iniFileName);
} catch (error) {}
function key() {
return 0; //Fonction générant la key, à faire
}
_ini.setSection(section).setKeyValue(key(), '{"titre" : "' + titre + '", "pages" : "' + pages + '", "poids" : "' + poids + '"}');
_ini.save(iniFileName);
}
insert("Livres pour enfants", titre, pages, poids);