[UDF] Simple Config

Partagez des fonctions et des UDF AutoIt.
Règles du forum
.
Répondre
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

[UDF] Simple Config

#1

Message par matwachich »

Refonte totale du code
J'ai remis au goûts du jour tout le code, c'est plus claire, plus simple, et avec une doc complète (Anglais)
UDF_autoCfg.zip
(50.59 Kio) Téléchargé 541 fois
--------------------------------------------------------------------
Un UDF qui à mon avis, s'avère très utile dans les gros projet.
J'utilise cet méthode dans tous mes projets, et j'ai décidé de la partager.

En résumé, il simplifie la gestion de la configuration des programmes en gérant les IniWrite/IniRead ou RegWrite/RegRead.
La description et l'exemple sont assez parlant.

Nouvelle version: ajout de système de cryptage de données

NOUVELLE VERSION: Refonte complète, simplification et correction de bugs
Attention: l'utilisation change, lire le début de l'UDF et la description des fonction _AutoCfg_Init, _AutoCfg_AddEntry et CFG
Modifié en dernier par matwachich le ven. 30 sept. 2011 16:57, modifié 6 fois.
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [UDF] Simple Config

#2

Message par matwachich »

Me revoila!
Pas sympa les mecs/meufs! 52 vus et aucun commentaire, même pas un encouragement! :( :cry:
M'enfin, je suis pas là pour rouspeter, mais j'apporte une mise à jour:
- _AutoCfg_Init Prend 2 nouveaux paramètres: une pour donner un nom à la section du fichier ini (utiles si on à plusieurs programmes utilisant le même fichier ini), et un autre qui spécifie le mot de passe de cryptage des entrées de configuration
- _AutoCfg_AddEntry Prend un nouveau paramètre pour spécifier si l'entrée sera écrite de manière crypté ou pas dans le registre/fichier ini

Le script est dans le premier poste.
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [UDF] Simple Config

#3

Message par Tlem »

matwachich a écrit :Pas sympa les mecs/meufs! 52 vus et aucun commentaire
Si on le prend au pied de la lettre, regardez un peux plus les UDFs ou fonctions des autres et le rapport lecture/commentaires. :roll:

En exemple :
[UDF] Array 2D => 1564 vues et une seule personne pour commenter.
[UDF] _NicControl.au3 (Contrôle des connexions réseau) => 1303 vues et aucun commentaire
[Func] Recherche de fichiers et de dossiers. => 5582 vues et 2 commentaires.
[UDF] Firefox (FF.au3) => 2211 vues et pas de commentaire.

Bon, je m’arrête là.
En fait le but c'est de partager sans forcément attendre un retour.
En règle générale, ou bien l'UDF/la Fonction intéresse et donc les gens l'utilisent sans pour autant mettre un commentaire, ou il n’intéresse pas grand monde et dans ce cas, peu de vues et encore moins de commentaires. :roll:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [UDF] Simple Config

#4

Message par matwachich »

Cassé!
PS: Je le disait sur un ton humoristique tlem! :P
Au fait, cet UDF, je pense qu'on en voit pas trop l’intérêt au premier coup d'oeil, mais dans les gros projets, dans les quels y'a pleins de configuration que l'utilisateur peut modifier, je peut garantir qu'il s'avère super utile!

PS: Merci pour l'UDF Array 2D!
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [UDF] Simple Config

#5

Message par Tlem »

matwachich a écrit :mais dans les gros projets, ..... il s'avère super utile!
Je n'en doute pas un instant.
Le plus dure reste de trouver les grands projets. :lol: :P
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [UDF] Simple Config

#6

Message par matwachich »

Attention, correction d'un gros méchant bug (par oublie de ma part)
Désolé pour ceux qui on télécharger la version bugué (vous êtes 4 apparemment)

La version corrigé bien est dans le premier post
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Laddy
Niveau 7
Niveau 7
Messages : 321
Enregistré le : mer. 03 sept. 2008 07:34
Status : Hors ligne

Re: [UDF] Simple Config

#7

Message par Laddy »

Bonjour
personnellement je n'ai pas compris le but et l'utilisation de cet UDF.
J'aime bien avoir un exemple très concrêt.
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [UDF] Simple Config

#8

Message par matwachich »

Le voici, le voila:
Lancez le script, cliquez sur Action! et la configuration actuelle s'affiche, au premier lancement, elle correspondra au valeurs par défaut.
Si vous cliquez sur Paramètres, un page de configuration s'affiche, vous pouvez y spécifier vos paramètres. Une fois validés, ces paramètres seront stocké dans le fichier de configuration et seront les mêmes aux prochains lancement du script.

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <perso\autoConfig.au3>

#region - Initialisation des paramètres
_AutoCfg_Init($__AutoCFG_Ini, @ScriptDir & "\config.ini", "mon_programme", "cryptPass")
; On initialise la configuration: utilisation d'un fichier .ini,
; nom de la section dans le fichier .ini est "mon_programme"
; la clef utilisé pour les entrées cryptées sera "cryptPass"
    _AutoCfg_AddEntry("nom", "Jean") ; on spécifie les paramètres
    _AutoCfg_AddEntry("prenom", "Dupon") ; avec leurs valeur par défaut
    _AutoCfg_AddEntry("age", "25")
    _AutoCfg_AddEntry("email", "rien@test.fr")
    _AutoCfg_AddEntry("pseudo", "matwachich")
    _AutoCfg_AddEntry("pass", "secret!", 1) ; cette entrée sera crypté
_AutoCfg_ReadAll()


#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Test", 272, 230, 444, 203)
$Edit = GUICtrlCreateEdit("", 10, 10, 251, 176)
GUICtrlSetData(-1, "")
$B_go = GUICtrlCreateButton("Action!", 10, 195, 75, 25, $WS_GROUP)
$B_cfg = GUICtrlCreateButton("Paramètres", 185, 195, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $B_cfg
            _cfg()
        Case $B_go ; Ici, on montre comment récupérer les paramètres dans le programme
            _cw("Configuration Actuelle")
            _cw("> Nom: " &     CFG("nom"))
            _cw("> Prénom: " &     CFG("prenom"))
            _cw("> Age: " &     CFG("age"))
            _cw("> E-mail: " &  CFG("email"))
            _cw("> Pseudo: " &  CFG("pseudo"))
            _cw("> Pass: " &    CFG("pass"))

    EndSwitch
WEnd

Func _cfg()
    #Region ### START Koda GUI section ### Form=
    $Form2 = GUICreate("Paramètres", 257, 220, 378, 206)
    $Input1 = GUICtrlCreateInput("", 100, 20, 121, 21)
    GUICtrlCreateLabel("Nom", 25, 23, 26, 17)
    $Input2 = GUICtrlCreateInput("", 100, 45, 121, 21)
    GUICtrlCreateLabel("Prenom", 25, 48, 40, 17)
    $Input3 = GUICtrlCreateInput("", 100, 70, 121, 21)
    GUICtrlCreateLabel("Age", 25, 73, 23, 17)
    $Input4 = GUICtrlCreateInput("", 100, 95, 121, 21)
    GUICtrlCreateLabel("E-mail", 25, 98, 42, 17)
    $Input5 = GUICtrlCreateInput("", 100, 120, 121, 21)
    GUICtrlCreateLabel("Pseudo", 25, 123, 40, 17)
    $Input6 = GUICtrlCreateInput("", 100, 145, 121, 21)
    GUICtrlCreateLabel("Mot de passe", 25, 148, 68, 17)
    $B_ok = GUICtrlCreateButton("Valider", 90, 180, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                GUIDelete($Form2)
                ExitLoop
            Case $B_ok ; On enregistre tous les paramètres
                _AutoCfg_SetEntry("nom", GUICtrlRead($Input1))
                _AutoCfg_SetEntry("prenom", GUICtrlRead($Input2))
                _AutoCfg_SetEntry("age", GUICtrlRead($Input3))
                _AutoCfg_SetEntry("email", GUICtrlRead($Input4))
                _AutoCfg_SetEntry("pseudo", GUICtrlRead($Input5))
                _AutoCfg_SetEntry("pass", GUICtrlRead($Input6))

                GUIDelete($Form2)
                ExitLoop

        EndSwitch
    WEnd

EndFunc

Func _cw($data)
    GUICtrlSetData($Edit, "> " & $data & @CRLF, 1)
EndFunc
PS: j'ai remplacer l'exemple de l'archive du premier post par celui la.
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Laddy
Niveau 7
Niveau 7
Messages : 321
Enregistré le : mer. 03 sept. 2008 07:34
Status : Hors ligne

Re: [UDF] Simple Config

#9

Message par Laddy »

Coucou
ah oui c'est beaucoup mieux avec cet exemple merci
attention dans l'archive le dossier perso n'existe pas.

Pour le moment je ne vois pas l'utilisation que je pourrai en faire mais j'ai bookmarké le sujet3.
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [UDF] Simple Config

#10

Message par matwachich »

En effet, le dossier pero c'est juste à moi (j'y met tous les includes non officiels)

Corrigé!
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [UDF] Simple Config

#11

Message par matwachich »

Nouvelle version majeur, voir le premier post
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [UDF] Simple Config

#12

Message par matwachich »

Refonte et simplification du code, amélioration des performances (car j'utilise _Crypt_ et non plus _StringEncrypt)

Voir en haut
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
ricky
Niveau 7
Niveau 7
Messages : 443
Enregistré le : ven. 06 févr. 2009 09:25
Localisation : Suisse
Status : Hors ligne

Re: [UDF] Simple Config

#13

Message par ricky »

Merci beaucoup pour cette nouvelle version.
Pas mal la doc fournie. J'ai vu que tu l'as faite avec http://www.naturaldocs.org. Tu as fait des modifs pour que ça accepte AutoIt?
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [UDF] Simple Config

#14

Message par matwachich »

Oui, en effet il y a des petites modifications à faire, mais c'est très simple!

1- télécharger NaturalDocs, décompresser quelque part
2- Il faut aussi télécharger Perl, sinon NaturalDocs ne pourra pas se lancer. Ils conseillent Active Perl sur le site de NaturalDocs
3- Il faut ajouter AutoIt dans les langages supportés, c'est très simple: dans le dossier "config" se trouve un fichier "Languages.txt", il faut y ajouter les lignes suivantes

Code : Tout sélectionner

Language: AutoIt

   Extension: au3
   Line Comment: ;
   Block Comment: #cs #ce
4- Tout est prêt! et pour se simplifier la vie, j'ai créer ce petit script
► Afficher le textegendoc.au3
Il est super simple:
- Renseignez les 2 variables $perl et $nd selon votre config.
- Il faut d'abord le compiler
- Puis, il faut mettre l'exe dans le même dossier que votre/vos script(s) AutoIt (même si il y des script dans des sous dossiers, ça marche)
- Lancez!

PS: Quand à la documentation du code, RDV ici
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Répondre