FICHIER SETTING .CONF .INI

Fichier de configuration

Introduction

Vous rappelez vous de ces fichiers INI qui vous permettait de sauvegarder des valeurs sous la forme Clef=Valeur ?

Il en existe certainement en Tcl TK mais j'ai décidé de faire un composant qui vous permet de manipuler ce genre de fichier.

 

Installation et téléchargement

 

Description

Ce composant va créer automatiquement un répertoire nommé conf dans le répertoire où se situe votre application.
Un fichier nommé project.conf va être créé dans ce nouveau répertoire.

Le fichier ainsi créé va contenir l'ensemble des clefs de votre logiciel sous cette forme :

Maclef1=Mavaleur
Maclef2=Mavaleur

Ajout du composant a votre fichier source

Il s'agit d'un seul fichier nommé setting.tk qu'il vous suffit de télécharger ici:

 puis de décompresser le zip et copier le fichier setting.tk dans le répertorie de votre application.
Ensuite dans votre code il suffit d'ajouter la ligne suivante :

source setting.tk

Le composant est maintenant prêt à être utiliser, simple non?

Lancement du composant automatique

(La version du 19 décembre s'exécute automatiquement)

Tout d'abord le composant va s'autolancer en exécutant ce code automatiquement:

Conf_Load

Si aucun fichier de configuration n'est présent le composant va en créer un.

ajouter une clef au fichier conf

Pour ajouter une clef/valeur il suffit d'écrire :

Conf_Add maclef mavaleur

modifier une valeur d'une clef

Pour éditer une clef :

Conf_Edit maclef manouvellevaleur

Remarque : Si la clef n'existe pas, aucune action ne sera réalisée. Créez d'abord la clef puis éditez là après.

 

supprimer une clef et sa valeur

Pour supprimer une clef :

Conf_Del maclef

Remarque : Si la clef n'existe pas, aucune action ne sera effectuée.

 

interroger une clef pour avoir sa valeur

Pour interroger une clef il faut écrire :

Set mavaleur [Conf_Read maclef]

Remarque : Si la clef n'existe pas, rien ne sera retourné.

sauvegarde de la configuration

Et pour finir, toutes les modifications sont effectuées en mémoire mais non enregistrées dans le fichier de configuration.

Pour sauvegarder les modifications, n'oubliez pas d'écrire :

Conf_Save

conclusion

Pour le moment cette version est stable et fonctionne correctement. Il manque gestion des rubriques comme ceci par exemple:

[TOTO]
Clef=Valeur

Peut être dans une prochaine version.

 

un exemple concret

Voici le fichier project.conf  du projet IdeTk, une IDE pour tclTk:

Title="Ide TK"
Startup=main.tk
Version=0.0.5
Language=en
Packager=0
Theme=Default
ShowTip=0
LastTip=0

à l'ouverture de mon programme, j'écris :

source setting.tk
Conf_Load

Je souhaite récupérer la valeur de la clef Language, j'écris donc ceci :

Set mavaleur [Conf_Read "Language"]

$mavaleur sera égale à en

Je souhaite créer une nouvelle clef "Voiture" qui aura pour valeur Ferrari :

Conf_Add "Voiture" "Ferrari"

Enfin je souhaite modifier la valeur de la clef Version :

Conf_Edit "Version" "1.0.1"

Voici le contenu du fichier après ces commandes :

Title="Ide TK"
Startup=main.tk
Version=1.0.1
Language=en
Packager=0
Theme=Default
ShowTip=0
LastTip=0
Voiture=Ferrari

 

 

 

 

 

 

 

 

 

 

.