Gestion de fichier ini : donnee, liste & combobox - bfichierini

Soyez le premier à donner votre avis sur cette source.

Vue 9 073 fois - Téléchargée 726 fois

Description

prototypes des fonctions et desc succinte

/// -----------------------------------------------------------------------------------------------------------------------
/// ---------------- BFichierIni::set(BString section ,BString key ,BString file ,BString message) -> bool ----------------
/// -----------------------------------------------------------------------------------------------------------------------
/// ----- Objectif : inscription d'une entrée dans un fichier ini
/// -----------------------------------------------------------------------------------------------------------------------
/// ----- BString section : cf.nom
/// ----- BString key : cf.nom
/// ----- BString file : cf.nom
/// ----- BString message : cf.nom
/// -----------------------------------------------------------------------------------------------------------------------
/// ----- retour (bool) : succès
/// -----------------------------------------------------------------------------------------------------------------------

/// -----------------------------------------------------------------------------------------------------------------------------------------
/// ---------------- BFichierIni::get(const BString section ,BString key ,BString file ,bool avecWarningSiErreur) -> BString ----------------
/// -----------------------------------------------------------------------------------------------------------------------------------------
/// ----- Objectif : récupération d'une entrée dans un fichier ini
/// ----- PreCond : /
/// ----- PostCond : /
/// ----- Etat : 2 (-1<0<1<2)
/// -----------------------------------------------------------------------------------------------------------------------------------------
/// ----- const BString section : cf.nom
/// ----- BString key : cf.nom
/// ----- BString file : cf.nom
/// ----- bool avecWarningSiErreur(par défaut : 'true') : cf.nom
/// -----------------------------------------------------------------------------------------------------------------------------------------
/// ----- retour (BString) : valeur
/// -----------------------------------------------------------------------------------------------------------------------------------------

/// -------------------------------------------------------------------------------------------------------
/// ---------------- BFichierIni::getSrceFromBIni(BString section ,BString key) -> BString ----------------
/// -------------------------------------------------------------------------------------------------------
/// ----- Objectif : récupération d'un nom de fichier depuis c:\\b.ini
/// ----- PreCond : une clef Chemin dans la section demandée
/// ----- PostCond : cf.retour
/// ----- Etat : 1 (-1<0<1<2)
/// -------------------------------------------------------------------------------------------------------
/// ----- BString section : cf.nom
/// ----- BString key : cf.nom
/// -------------------------------------------------------------------------------------------------------
/// ----- retour (BString) : le chemin complet du fichier demandé
/// -------------------------------------------------------------------------------------------------------

/// ------------------------------------------------------------------------------------------------------
/// ---------------- BFichierIni::majComboBox(CComboBox* p_laCComboBox ,BString laDonnee) ----------------
/// ------------------------------------------------------------------------------------------------------
/// ----- Objectif : Visual - mise à jours des donnees d'une comboBox
/// ----- PreCond : avoir fait un UpdateData(TRUE);//récupère donnée écran
/// ----- PostCond : après, faire un UpdateData(FALSE);//MAJ Ext
/// ----- Etat : 1 (-1<0<1<2)
/// ----- Nota : pas besoin de Cet héritage, mais c por ranger cette fonction avec ses soeurs
/// ------------------------------------------------------------------------------------------------------
/// ----- CComboBox* p_laCComboBox : cf.nom
/// ----- BString laDonnee : cf.nom
/// ------------------------------------------------------------------------------------------------------

/// ----------------------------------------------------------------------------------------------------------------------------------
/// ---------------- BFichierIni::ComboBoxSavToIni(BString FichierIniCible ,CComboBox* p_laCComboBox ,BString nomVar) ----------------
/// ----------------------------------------------------------------------------------------------------------------------------------
/// ----- Objectif : Visual - sav des donnees d'une comboBox
/// ----- PreCond : avoir fait un UpdateData(TRUE);//récupère donnée écran
/// ----- PostCond : /
/// ----- Etat : 0 (-1<0<1<2)
/// ----- old : /// ----- & avoir la ComboBox à jour
/// ----------------------------------------------------------------------------------------------------------------------------------
/// ----- BString FichierIniCible : cf.nom
/// ----- CComboBox* p_laCComboBox : cf.nom
/// ----- BString nomVar : cf.nom
/// ----------------------------------------------------------------------------------------------------------------------------------

/// -------------------------------------------------------------------------------------------------------------------------------------
/// ---------------- BFichierIni::ComboBoxChargeDeIni(BString FichierIniSrce ,CComboBox* p_laCComboBox ,BString nomVar) ----------------
/// -------------------------------------------------------------------------------------------------------------------------------------
/// ----- Objectif : Visual - Charger les donnees d'une comboBox
/// ----- PreCond : avoir l'ini a jour
/// ----- PostCond : après, faire un UpdateData(FALSE);//MAJ Ext
/// ----- Etat : 0 (-1<0<1<2)
/// ----- TODO : tolerer le cas de l'ini inexistant
/// -------------------------------------------------------------------------------------------------------------------------------------
/// ----- BString FichierIniSrce : cf.nom
/// ----- CComboBox* p_laCComboBox : cf.nom
/// ----- BString nomVar : cf.nom
/// -------------------------------------------------------------------------------------------------------------------------------------
/// ----- Var : classes externes dont on appelle des méthodes (1) : BFichierIni
/// ----- Var Muettes (cf.partie préc) (3) : FichierIniCible ,nomVar ,p_laCComboBox
/// ----- Var Internes à la fonction (4) : i ,nb ,plomp ,tmp
/// ----- Var Utilisées par adresse (1) : tmp
/// ----- Var In (3) : FichierIniCible ,nomVar ,p_laCComboBox

/// ----------------------------------------------------------------------------------------------------------------
/// ---------------- BFichierIni::getListe(BString section ,BString file ,BLBString* listeARemplir) ----------------
/// ----------------------------------------------------------------------------------------------------------------
/// ----- Objectif : sauve une liste de chaîne dans un ini
/// ----- PreCond : /
/// ----- PostCond : /
/// ----- Etat : 1 (-1<0<1<2)
/// ----------------------------------------------------------------------------------------------------------------
/// ----- BString section : cf.nom
/// ----- BString file : fichier ini cible
/// ----- BLBString* listeARemplir : cf.nom
/// ----------------------------------------------------------------------------------------------------------------

void BFichierIni::setListe(BString section, BString file, BLBString *liste)
{
/// --------------------------------------------------------------------------------------------------------
/// ---------------- BFichierIni::setListe(BString section ,BString file ,BLBString* liste) ----------------
/// --------------------------------------------------------------------------------------------------------
/// ----- Objectif : charge une liste de chaîne depuis un ini
/// ----- PreCond : /
/// ----- PostCond : /
/// ----- Etat : 1 (-1<0<1<2)
/// --------------------------------------------------------------------------------------------------------
/// ----- BString section : cf.nom
/// ----- BString file : fichier ini srce
/// ----- BLBString* liste : cf.nom
/// --------------------------------------------------------------------------------------------------------

Conclusion :


Voila, je sais qu'il y existe d'autres codes, mais bon, lorsque j'en ai eu besoin, les fonctions setListe et getListe n'existaient pas a ma connaissance...

Donc comme d'hab, n'hésiter pas à formuler tout conseil/critique...

Nono.
(rq :MetaProg a généré automatiquement la majorité des commentaires...)

Nota: vous pouvez remplacer les BString par des CString(VC++) ou AnsiString(Builder)
et BLBString est une liste chainée de chaine...

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Arnaud16022
Messages postés
1329
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
16 juin 2010
2 -
quoi? tu veux dire que les trtaductions sont enregistrées dans le BdR? c'est vraiement trop nimp microsoft
magic_Nono
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1 -
Merci Arnaud

Matt & Arnaud & All>
On peut utiliser des fichiers ini pour tout plein de raisons
reprendre des fichiers existants, faire des échanges d'info (les fichiers vraiement moins verbeux que les fichiers ini et quand on paye des forfait à la taille de la communication [GPRS], ça a son importance) et on emploie également de préférence les ini
en particulier pour des raisons de facilité de portabilité d'un poste à un autre, simplement en posant le répertoire du prog sur un emplacement, on retrouve toute sa config.
Pour des transferts de données entre systeme, les fichiers in i sont dédiés(la seule chose à faire attention est le type de codage du fichier : Unicode, ANSI, les différents UTF...).


Enfin, il est impensable d'avoir toutes les données strictes de nos prog dans la BdR, uniquement celles de config.

exemple tiré de MP(évidemment ;) ):


[RecoCpp]
com=les types convertissables en BString
nb=16
1=int
2=CString
3=bool
...


ou voyez les données de traduction (cf ma source dans ces pages à ce sujet)

enfin dernier exemple, les fichiers ini me servent également à stoquer une config par défaut spécifique à différentes entreprises, lorsque ces données sont absentes de la BdR.



Allé
Magicalement, bonne prog
Nono, l'informagicien.


PS : si certaines fonctions sont obsolètes, un avantage encore d'utiliser une lib comme les Bxxx est que l'on mettra simplement à jour ces lib sans changer quoi que ce soit à nos codes.
Une recompilations permettra de les avoir à jour.
Arnaud16022
Messages postés
1329
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
16 juin 2010
2 -
ah oué c'est vrai j'avais lu ca.
sauf qu'ils sont biens mignons, mais dans les versions 16 bits de win yavait pas de registre, et que moi les .ini je les utilise pour scripter mes missions dans Sniper, et utiliser le registre pour ca c'est impensable
de toute facon si c'est si obsolete que ca ya qu'a utiliser les fonctions de notre informagicien favori ^^
cs_Matt67
Messages postés
554
Date d'inscription
samedi 6 septembre 2003
Statut
Membre
Dernière intervention
6 mars 2010
-
Bonsoir,

Tiré du MSDN en ligne :
These functions are provided only for compatibility with 16-bit versions of Windows. New applications should use the registry.

Et sur mon MSDN (VC++6)(qui n'est pas tres jeune) elles sont obsolètes.

Matt...
Arnaud16022
Messages postés
1329
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
16 juin 2010
2 -
obsotètes? ben c'est nouveau ca...
zut alors c'est vari que c'est super pratique :(

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.