Page 1 of 1
[Résolu] Récupèrer une valeur dans un fichier ini ( code )
Posted: 07 Jul 2015, 22:36
by Sergent-Quentin
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
Re: Récupèrer une valeur dans un fichier ini ( code )
Posted: 08 Jul 2015, 12:17
by Jmgr
Salut,
Ça ne fonctionne pas avec l'objet
IniFile?
Re: Récupèrer une valeur dans un fichier ini ( code )
Posted: 08 Jul 2015, 15:41
by Sergent-Quentin
Salut,
Jmgr wrote:Ça ne fonctionne pas avec l'objet IniFile?
Je pense que si, mais je n'arrive pas faire le code malgré le wiki en faite ^^
Re: Récupèrer une valeur dans un fichier ini ( code )
Posted: 09 Jul 2015, 10:25
by Jmgr
Voilà :
Code: Select all
var ini = new IniFile();
ini.load("fichier.ini");
ini.setSection("Section A");
var resultat = ini.keyValue("Carton");
Re: Récupèrer une valeur dans un fichier ini ( code )
Posted: 09 Jul 2015, 13:04
by Sergent-Quentin
Merci beaucoup !!!

Re: Récupèrer une valeur dans un fichier ini ( code )
Posted: 12 Jul 2015, 16:05
by Sergent-Quentin
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 :
Code: Select all
var ini = new IniFile();
ini.load("Chemin/fichier.ini");
ini.setSection("Section A");
ini.keyValue("Carton", 1588);
Il n'a pas fonctionné
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");
Pouvez-vous m'aider svp ?
je vous remercie
Cordialement
Sergent-Quentin
Re: Récupèrer une valeur dans un fichier ini ( code )
Posted: 15 Jul 2015, 10:13
by Jmgr
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.
Code: Select all
var ini = new IniFile();
ini.setSection("Section A");
ini.keyValue("Carton", 1588);
ini.save("Chemin/fichier.ini");
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 ?
Re: Récupèrer une valeur dans un fichier ini ( code )
Posted: 15 Jul 2015, 11:54
by Sergent-Quentin
Merci pour la correction
En effet il plante chez moi aussi ^^
Re: Récupèrer une valeur dans un fichier ini ( code )
Posted: 17 Sep 2015, 16:52
by Sergent-Quentin
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 ? :
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();
Je vous remercie
Cordialement
Sergent-Quentin
Re: Récupèrer une valeur dans un fichier ini ( code )
Posted: 29 Sep 2015, 10:42
by francois
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
Re: Récupèrer une valeur dans un fichier ini ( code )
Posted: 30 Sep 2015, 20:52
by Sergent-Quentin
Bonsoir,
francois wrote:
Soit tu donnes auparavant à la variable 'Titre' une valeur.
Soit tu mets directement une valeur dans cette ligne
C'est ce que fait :
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);
}
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 :
Code: Select all
Titre = file.readText().split('\n')[0];
par :
Code: Select all
Titre = file.readText().split('/')[0];
Par contre si j'écris les titres dans mon fichier texte comme ceci :
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();
Le titre sera bien récupérer mais ne sera pas valide pour
Cordialement
Sergent-Quentin
Re: Récupèrer une valeur dans un fichier ini ( code )
Posted: 01 Oct 2015, 07:21
by francois
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()
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 + "<");
}
Francois
Re: [Résolu] Récupèrer une valeur dans un fichier ini ( code
Posted: 01 Oct 2015, 16:06
by Sergent-Quentin
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

- Blanc.jpg (34.47 KiB) Viewed 4870 times
Je te remercie pour ta solution
Cordialement
Sergent-Quentin
Re: [Résolu] Récupèrer une valeur dans un fichier ini ( code
Posted: 18 Mar 2016, 21:41
by Jmgr