Page 1 sur 1
[R] Problème IniRead avec variables
Posté : mer. 08 janv. 2014 18:25
par Crypto0
Salut à tous, j'ai un problème lorsque je veux aller chercher une valeur dans mon fichier ini.
Mon code :
Code : Tout sélectionner
$All = IniRead (@ScriptDir & "\Fichier.ini", GUICtrlRead ($Var1) & "_" & GUICtrlRead ($Var2), GUICtrlRead ($Var3), "Not Found")
C'est au niveau de la key que ça bloque, pourtant lorsque je fais :
ça fonctionne et m'affiche bien la valeur.
Ma variable $Var3 est contenu dans un ComboBox.
J'aimerais savoir pourquoi mon scrpit plante à ce moment,
Merci d'avance.
Re: [..]Problème IniRead avec variables
Posté : mer. 08 janv. 2014 19:27
par xPunKx
Montre un peu plus ton script, car avec simplement se bout de code on ne peut rien faire.
Re: [..]Problème IniRead avec variables
Posté : jeu. 09 janv. 2014 17:32
par Crypto0
Voilà tout mon code source :
► Afficher le texte
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 452, 251, 192, 124)
$Choix = GUICtrlCreateCombo("", 296, 56, 137, 25)
$Label2 = GUICtrlCreateLabel("Recettes :", 200, 64, 60, 17)
$NbIngredient = GUICtrlCreateInput("", 312, 24, 121, 21)
$Label1 = GUICtrlCreateLabel("Nombre d'ingrédients :", 192, 24, 109, 17)
$Recette = GUICtrlCreateButton("Rechercher la recette", 280, 208, 120, 25)
$Ingredient = GUICtrlCreateButton("Recherche d'ingrédients", 280, 176, 120, 25)
$Journal = GUICtrlCreateEdit("", 0, 0, 185, 249)
$Metier = GUICtrlCreateCombo("", 288, 104, 145, 25)
GUICtrlSetData(-1, "Cuisine|Patisserie")
$Label3 = GUICtrlCreateLabel("Métier :", 200, 112, 39, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$Ligne = ""
$i = 1
$SavedJournal = ""
$AllIngredient = ""
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Recette
SearchRecette()
Case $Ingredient
SearchIngredient()
EndSwitch
WEnd
Func SearchRecette()
FileOpen (@ScriptDir & "\Recettes.ini", 0)
$Ligne = IniReadSection (@ScriptDir & "\Recettes.ini", GUICtrlRead ($Metier) & "_" & GUICtrlRead ($NbIngredient))
for $i = 1 to $Ligne [0] [0]
$SavedJournal = GUICtrlRead ($Choix)
GUICtrlSetData ($Choix, $SavedJournal & @CRLF & $Ligne [$i] [0])
Next
FileClose (@ScriptDir & "\Recettes.ini")
EndFunc
Func reussite() ;Me sert d'aide pour trouver l'erreur
Msgbox (0, "", "OK")
EndFunc
Func SearchIngredient()
FileOpen (@ScriptDir & "\Recettes.ini")
$AllIngredient = IniRead (@ScriptDir & "\Recettes.ini", GUICtrlRead ($Metier) & "_" & GUICtrlRead ($NbIngredient), GUICtrlRead ($Choix), "Not Found") ;BUG HERe
GUICtrlSetData ($Journal, $AllIngredient)
FileClose (@ScriptDir & "\Recettes.ini")
EndFunc
Et mon fichier INI :
► Afficher le texte
Code : Tout sélectionner
[Cuisine_2]
Crepes=Farine[250],Lait[0.5]
[Patisserie_3]
Pudding=Pain[0.5],Lait[0.5],Oeuf[4]
Re: [..]Problème IniRead avec variables
Posté : jeu. 09 janv. 2014 20:16
par jguinch
Tu peux supprimer les FileOpen/FileClose, ils ne servent à rien pour les fonctions INI.
Pour ton problème, essaye de remplacer
GUICtrlSetData ($Choix, $SavedJournal & @CRLF & $Ligne [$i][0])
par
GUICtrlSetData ($Choix, $Ligne [$i][0]).
Après, une petite base de données serait plus adaptée, mais tu peux garder ça pour plus tard ...

Re: [..]Problème IniRead avec variables
Posté : jeu. 09 janv. 2014 20:49
par Crypto0
Je n'ai pas bien compris pourquoi, mais cela fonctionne!
Je te remercie énormément et je salue la qualité de ce forum : rapide et concis.
Merci.
Sujet Résolu.
Re: [R] Problème IniRead avec variables
Posté : sam. 11 janv. 2014 16:38
par xPunKx
La ligne
est inutile, donc il l'a aussi enlevé lorsque du mets la valeur à ton combo tout simplement.
► Afficher le texte
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 452, 251, 192, 124)
$Choix = GUICtrlCreateCombo("", 296, 56, 137, 25)
$Label2 = GUICtrlCreateLabel("Recettes :", 200, 64, 60, 17)
$NbIngredient = GUICtrlCreateInput("", 312, 24, 121, 21)
$Label1 = GUICtrlCreateLabel("Nombre d'ingrédients :", 192, 24, 109, 17)
$Recette = GUICtrlCreateButton("Rechercher la recette", 280, 208, 120, 25)
$Ingredient = GUICtrlCreateButton("Recherche d'ingrédients", 280, 176, 120, 25)
$Journal = GUICtrlCreateEdit("", 0, 0, 185, 249)
$Metier = GUICtrlCreateCombo("", 288, 104, 145, 25)
GUICtrlSetData(-1, "Cuisine|Patisserie")
$Label3 = GUICtrlCreateLabel("Métier :", 200, 112, 39, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $Recette
$Ligne = IniReadSection(@ScriptDir & "\Recettes.ini", GUICtrlRead($Metier) & "_" & GUICtrlRead($NbIngredient))
for $i = 1 to $Ligne[0][0]
GUICtrlSetData ($Choix, $Ligne[$i][0])
Next
Case $Ingredient
$AllIngredient = IniRead(@ScriptDir & "\Recettes.ini", GUICtrlRead($Metier) & "_" & GUICtrlRead($NbIngredient), GUICtrlRead($Choix), "Not Found") ;BUG HERe
GUICtrlSetData($Journal, $AllIngredient)
EndSwitch
WEnd
Func reussite() ;Me sert d'aide pour trouver l'erreur
Msgbox (0, "", "OK")
EndFunc