[UDF] Simple Config
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- matwachich
- Membre émérite
- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
- Status : Hors ligne
[UDF] Simple Config
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) --------------------------------------------------------------------
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
J'ai remis au goûts du jour tout le code, c'est plus claire, plus simple, et avec une doc complète (Anglais) --------------------------------------------------------------------
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
- matwachich
- Membre émérite
- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
- Status : Hors ligne
Re: [UDF] Simple Config
Me revoila!
Pas sympa les mecs/meufs! 52 vus et aucun commentaire, même pas un encouragement!
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.
Pas sympa les mecs/meufs! 52 vus et aucun commentaire, même pas un encouragement!
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
- Tlem
- Site Admin
- Messages : 11773
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [UDF] Simple Config
Si on le prend au pied de la lettre, regardez un peux plus les UDFs ou fonctions des autres et le rapport lecture/commentaires.matwachich a écrit :Pas sympa les mecs/meufs! 52 vus et aucun commentaire
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.
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é".
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é".
- matwachich
- Membre émérite
- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
- Status : Hors ligne
Re: [UDF] Simple Config
Cassé!
PS: Je le disait sur un ton humoristique tlem!
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!
PS: Je le disait sur un ton humoristique tlem!
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
- Tlem
- Site Admin
- Messages : 11773
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [UDF] Simple Config
Je n'en doute pas un instant.matwachich a écrit :mais dans les gros projets, ..... il s'avère super utile!
Le plus dure reste de trouver les grands projets.
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é".
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é".
- matwachich
- Membre émérite
- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
- Status : Hors ligne
Re: [UDF] Simple Config
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
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
Re: [UDF] Simple Config
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.
personnellement je n'ai pas compris le but et l'utilisation de cet UDF.
J'aime bien avoir un exemple très concrêt.
- matwachich
- Membre émérite
- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
- Status : Hors ligne
Re: [UDF] Simple Config
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.
PS: j'ai remplacer l'exemple de l'archive du premier post par celui la.
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
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Re: [UDF] Simple Config
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.
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.
- matwachich
- Membre émérite
- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
- Status : Hors ligne
Re: [UDF] Simple Config
En effet, le dossier pero c'est juste à moi (j'y met tous les includes non officiels)
Corrigé!
Corrigé!
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
- matwachich
- Membre émérite
- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
- Status : Hors ligne
Re: [UDF] Simple Config
Nouvelle version majeur, voir le premier post
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
- matwachich
- Membre émérite
- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
- Status : Hors ligne
Re: [UDF] Simple Config
Refonte et simplification du code, amélioration des performances (car j'utilise _Crypt_ et non plus _StringEncrypt)
Voir en haut
Voir en haut
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
- ricky
- Niveau 7
- Messages : 443
- Enregistré le : ven. 06 févr. 2009 09:25
- Localisation : Suisse
- Status : Hors ligne
Re: [UDF] Simple Config
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?
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?
- matwachich
- Membre émérite
- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
- Status : Hors ligne
Re: [UDF] Simple Config
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
4- Tout est prêt! et pour se simplifier la vie, j'ai créer ce petit script
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
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
► Afficher le textegendoc.au3
- 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