[Résolu] Récupèrer une valeur dans un fichier ini ( code )
-
- Posts: 274
- Joined: 11 Jun 2014, 14:45
[Résolu] Récupèrer une valeur dans un fichier ini ( code )
Bonjour,
Comme le dit le titre, je voulais récupérer une valeur dans un fichier ini sous forme de code, la valeur sera écrite de cette façon :
[Section A]
Carton = 560
Je vous remercie
Cordialement
Sergent-Quentin
Comme le dit le titre, je voulais récupérer une valeur dans un fichier ini sous forme de code, la valeur sera écrite de cette façon :
[Section A]
Carton = 560
Je vous remercie
Cordialement
Sergent-Quentin
Last edited by Sergent-Quentin on 01 Oct 2015, 16:07, edited 1 time in total.
Re: Récupèrer une valeur dans un fichier ini ( code )
"My software never has bugs. It just develops random features."
-
- Posts: 274
- Joined: 11 Jun 2014, 14:45
Re: Récupèrer une valeur dans un fichier ini ( code )
Salut,
Je pense que si, mais je n'arrive pas faire le code malgré le wiki en faite ^^Jmgr wrote:Ça ne fonctionne pas avec l'objet IniFile?
Re: Récupèrer une valeur dans un fichier ini ( code )
Voilà :
Code: Select all
var ini = new IniFile();
ini.load("fichier.ini");
ini.setSection("Section A");
var resultat = ini.keyValue("Carton");
"My software never has bugs. It just develops random features."
-
- Posts: 274
- Joined: 11 Jun 2014, 14:45
Re: Récupèrer une valeur dans un fichier ini ( code )
Merci beaucoup !!!
-
- Posts: 274
- Joined: 11 Jun 2014, 14:45
Re: Récupèrer une valeur dans un fichier ini ( code )
Bonjour,
je voudrais cette fois-ci écrire dans un fichier ini
En m'inspirant du wiki (myObject.keyValue(keyName, value);), J'ai fait ce code :
Il n'a pas fonctionné
celui-ci non plus :
Pouvez-vous m'aider svp ?
je vous remercie
Cordialement
Sergent-Quentin
je voudrais cette fois-ci écrire dans un fichier ini
En m'inspirant du wiki (myObject.keyValue(keyName, value);), J'ai fait ce code :
Code: Select all
var ini = new IniFile();
ini.load("Chemin/fichier.ini");
ini.setSection("Section A");
ini.keyValue("Carton", 1588);
celui-ci non plus :
Code: Select all
var ini = new IniFile();
ini.load("Chemin/fichier.ini");
ini.setSection("Section A");
ini.keyValue("Carton", 1588);
ini.save("Chemin/fichier.ini");
je vous remercie
Cordialement
Sergent-Quentin
Re: Récupèrer une valeur dans un fichier ini ( code )
C'est presque ça. La fonction load(fichier) sert à charger un fichier, or, si tu veux ici écrire dans un fichier tu n'as pas besoin de le charger.
Cela dit lorsque je teste ce code Actiona plante sur ma machine... Je ne peux pas déboguer ça ici, mais je pense qu'il y a un bug quelque part. Peux-tu tester chez toi et me dire si tu as également un plantage ?
Code: Select all
var ini = new IniFile();
ini.setSection("Section A");
ini.keyValue("Carton", 1588);
ini.save("Chemin/fichier.ini");
"My software never has bugs. It just develops random features."
-
- Posts: 274
- Joined: 11 Jun 2014, 14:45
Re: Récupèrer une valeur dans un fichier ini ( code )
Merci pour la correction
En effet il plante chez moi aussi ^^
En effet il plante chez moi aussi ^^
-
- Posts: 274
- Joined: 11 Jun 2014, 14:45
Re: Récupèrer une valeur dans un fichier ini ( code )
Bonjour,
Je ne sais pas trop si c'est un bug ou alors si alors si il manque quelque chose, je m'explique :
J'ai un fichier .ini et un fichier.txt
1/ Une fonction lit le titre dans le fichier .txt et le stock dans une variable
2/ Une autre fonction lit le fichier .ini depuis le titre stocker dans la variable
Seulement à ce moment actiona plante comme si le titre était faux, j'ai remplacer la fonction qui lit le titre dans le fichier .txt par une action "Lire fichier texte" et le stock dans une variable, là ça fonctionne.
Sauriez-vous pourquoi ça ne fonctionne pas avec le code ? :
Je vous remercie
Cordialement
Sergent-Quentin
Je ne sais pas trop si c'est un bug ou alors si alors si il manque quelque chose, je m'explique :
J'ai un fichier .ini et un fichier.txt
1/ Une fonction lit le titre dans le fichier .txt et le stock dans une variable
2/ Une autre fonction lit le fichier .ini depuis le titre stocker dans la variable
Seulement à ce moment actiona plante comme si le titre était faux, j'ai remplacer la fonction qui lit le titre dans le fichier .txt par une action "Lire fichier texte" et le stock dans une variable, là ça fonctionne.
Sauriez-vous pourquoi ça ne fonctionne pas avec le code ? :
Code: Select all
var ini, file, Prix, Titre;
function Lecture_Titre_Texte() {// Lit le titre dans le fichier texte
file = new File();
file.open('Fichier A.txt', File.ReadOnly);
Titre = file.readText().split('\n')[0];
file.close();
Console.print(Titre);
}
function Lecture_Annonce_Ini() { // Lit l'annonce dans le fichier ini
ini = new IniFile();
ini.load('Fichier B.ini');
ini.setSection(Titre);
Prix = ini.keyValue("Prix");
Console.print(Prix);
}
Lecture_Titre_Texte()
Lecture_Annonce_Ini();
Cordialement
Sergent-Quentin
Re: Récupèrer une valeur dans un fichier ini ( code )
Bonjour,
Dans ton code, il y a :
Soit tu donnes auparavant à la variable 'Titre' une valeur.
Soit tu mets directement une valeur dans cette ligne
A noter, Actiona ne se comporte pas de la même manière suivant la version :
Avec la 3.9, plantage.
Avec la 3.8, il ne trouve pas (normal, tu n'as pas donné de valeur à la variable Titre) mais ne plante pas.
Francois
Dans ton code, il y a :
Code: Select all
ini.setSection(Titre);
Soit tu mets directement une valeur dans cette ligne
Code: Select all
ini.setSection("mon titre");
Avec la 3.9, plantage.
Avec la 3.8, il ne trouve pas (normal, tu n'as pas donné de valeur à la variable Titre) mais ne plante pas.
Francois
-
- Posts: 274
- Joined: 11 Jun 2014, 14:45
Re: Récupèrer une valeur dans un fichier ini ( code )
Bonsoir,
Dans mon fichier texte les titres étaient écris comme ceci :
Livre A
Livre B
J'ai modifié en les écrivants comme ceci :
Livre A/Livre B/
Et en changeant aussi le code :
par :
Par contre si j'écris les titres dans mon fichier texte comme ceci :
Livre A
Livre B
et que j’exécute ce code :
Le titre sera bien récupérer mais ne sera pas valide pour
Cordialement
Sergent-Quentin
C'est ce que fait :francois wrote: Soit tu donnes auparavant à la variable 'Titre' une valeur.
Soit tu mets directement une valeur dans cette ligne
Code: Select all
function Lecture_Titre_Texte() {// Lit le titre dans le fichier texte
file = new File();
file.open('Fichier A.txt', File.ReadOnly);
Titre = file.readText().split('\n')[0];
file.close();
Console.print(Titre);
}
Livre A
Livre B
J'ai modifié en les écrivants comme ceci :
Livre A/Livre B/
Et en changeant aussi le code :
Code: Select all
Titre = file.readText().split('\n')[0];
Code: Select all
Titre = file.readText().split('/')[0];
Livre A
Livre B
et que j’exécute ce code :
Code: Select all
var ini, file, Prix, Titre;
function Lecture_Titre_Texte() {// Lit le titre dans le fichier texte
file = new File();
file.open('Fichier A.txt', File.ReadOnly);
Titre = file.readText().split('\n')[0];
file.close();
Console.print(Titre);
}
function Lecture_Annonce_Ini() { // Lit l'annonce dans le fichier ini
ini = new IniFile();
ini.load('Fichier B.ini');
ini.setSection(Titre);
Prix = ini.keyValue("Prix");
Console.print(Prix);
}
Lecture_Titre_Texte()
Lecture_Annonce_Ini();
Code: Select all
ini.setSection(Titre);
Sergent-Quentin
Re: Récupèrer une valeur dans un fichier ini ( code )
J'ai répondu un peu trop vite, je n'avais pas vu que tu valorisais 'Titre' dans la Fonction 'Lecture_Titre_Texte'
Il y a probablement des blancs en fin de ligne du fichier texte, il faut les enlever via Titre= Titre.trim()
Francois
Il y a probablement des blancs en fin de ligne du fichier texte, il faut les enlever via Titre= Titre.trim()
Code: Select all
function Lecture_Titre_Texte() {// Lit le titre dans le fichier texte
file = new File();
file.open('C:/temp/out.txt', File.ReadOnly);
Titre = file.readText().split('\n')[0];
file.close();
Titre= Titre.trim()
Console.print("titre : >" + Titre + "<");
}
-
- Posts: 274
- Joined: 11 Jun 2014, 14:45
Re: [Résolu] Récupèrer une valeur dans un fichier ini ( code
Bonjour,
C'est exactement ce qu'il fallait
J'ai cherché sur internet, jamais entendu parler de trim()
J'avais essayé des trucs du genre :
https://openclassrooms.com/courses/dyna ... lieres-1-2 Je te remercie pour ta solution
Cordialement
Sergent-Quentin
C'est exactement ce qu'il fallait
J'ai cherché sur internet, jamais entendu parler de trim()
J'avais essayé des trucs du genre :
https://openclassrooms.com/courses/dyna ... lieres-1-2 Je te remercie pour ta solution
Cordialement
Sergent-Quentin
Re: [Résolu] Récupèrer une valeur dans un fichier ini ( code
Bug corrigé dans la version 3.9.2 : https://github.com/Jmgr/actiona/issues/47
"My software never has bugs. It just develops random features."