Page 1 sur 1

[R] Fichier .ini

Posté : dim. 17 oct. 2010 10:37
par cutprod
Bonjour a tous.
J'ai fais un petit script pour exploiter un fichier .ini =
Lire et écrire des infos (crypter pour les curieux!!)
Pouvez vous me dire ce que vous en penser ?
Surtout savoir si on peut l'optimiser? ou si je peux l'exploiter tel qu'il est.
Merci d'avance.

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Include <String.au3> ;include pour encrypter et decrypter le fichier .ini grace a la fonction : _StringEncrypt

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 284, 241, 192, 124)
$Input1 = GUICtrlCreateInput("", 16, 24, 241, 21)
$Input2 = GUICtrlCreateInput("", 18, 61, 241, 21)
$Input3 = GUICtrlCreateInput("", 17, 95, 241, 21)
$Button1 = GUICtrlCreateButton("LECTURE .INI", 24, 144, 89, 33, $WS_GROUP)
$Button2 = GUICtrlCreateButton("ECRITURE .INI", 152, 144, 97, 33, $WS_GROUP)
$Button3 = GUICtrlCreateButton("EFFECER", 96, 192, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit

        case $Button1
           lecture ()

        case $Button2
           ecriture()

        Case $Button3
           effacer()

    EndSwitch
WEnd


Func lecture ()
    $1=IniRead(@DesktopDir&"\test.ini","parametres","input1","")
    GUICtrlSetData($Input1,_StringEncrypt(0,$1,"crypt"))
    $2=IniRead(@DesktopDir&"\test.ini","parametres","input2","")
    GUICtrlSetData($Input2,_StringEncrypt(0,$2,"crypt"))
    $3=IniRead(@DesktopDir&"\test.ini","parametres","input3","")
    GUICtrlSetData($Input3,_StringEncrypt(0,$3,"crypt"))
EndFunc

Func ecriture ()
    $1= GUICtrlRead($Input1)
    IniWrite(@DesktopDir&"\test.ini","parametres","input1",""&_StringEncrypt(1,$1,"crypt"))
    $2= GUICtrlRead($Input2)
    IniWrite(@DesktopDir&"\test.ini","parametres","input2",""&_StringEncrypt(1,$2,"crypt"))
    $3= GUICtrlRead($Input3)
    IniWrite(@DesktopDir&"\test.ini","parametres","input3",""&_StringEncrypt(1,$3,"crypt"))
EndFunc

Func effacer()
    GUICtrlSetData($Input1,"")
    GUICtrlSetData($Input2,"")
    GUICtrlSetData($Input3,"")
EndFunc

Re: [..] Fichier .ini

Posté : dim. 17 oct. 2010 11:02
par Tlem
A première vue, rien de choquant. Tout me semble correct.

Par contre je mettrais plutôt le chemin + nom du fichier ini dans une variable au début du script.
Cela éviterait de ressaisir le chemin à chaque ligne de code.
De plus, au lieu de le mettre sur le bureau, je préfèrerais le dossier Windows, ou le chemin du script lui-même.
Ensuite, avant de faire quoi que ce soit, je vérifierais si le fichier existe, car ca ne sert pas à grand chose de lire un fichier qui n'existe pas !!!

Ensuite, afin d'optimiser le code (mais c'est très subjectif), dans les deux fonctions lecture() et ecriture(), je ferais d'abord la mise en variable des trois valeur, puis en dernier je regrouperais la lecture/écriture du fichier.
Et si jamais, vous deviez avoir plus de cinq valeur à gérer, alors pensez à faire une boucle au lieu d'écrire 10 lignes. :roll:

Re: [..] Fichier .ini

Posté : dim. 17 oct. 2010 11:16
par cutprod
Merci pour tes conseils Tlem :D
Pour la variable nom+chemin ok
Pour leur mise en valeur avant l'écriture ok
C'est pour la boucle que j'ai du mal, peux tu me donner un exemple?

Re: [..] Fichier .ini

Posté : dim. 17 oct. 2010 14:24
par cutprod
je retire ma question =

Code : Tout sélectionner

Func boucle()
For $i = $Input1  To $Input10
GUICtrlSetData($i,"eh bin voila!!")
Next
EndFunc

Re: [R] Fichier .ini

Posté : dim. 17 oct. 2010 19:30
par Tlem
Hummm, je doute que ca fonctionne comme cela.
Si vous avez ce besoin, on en reparlera. :wink:

Re: [R] Fichier .ini

Posté : dim. 17 oct. 2010 19:52
par cutprod
Non, en effet!!
Je cherche...

Re: [R] Fichier .ini

Posté : dim. 17 oct. 2010 19:53
par Tlem
Eval() est la solution. ;)