begin process at 2008 08 21 21:32:20
1 229 662 membres
473 nouveaux aujourd'hui
14 265 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

GESTION DE FICHIER INI : DONNEE, LISTE & COMBOBOX - BFICHIERINI


Information sur la source

Catégorie :Fichiers / Disque Classé sous : gestion, fichier, ini Niveau : Débutant Date de création : 17/12/2003 Date de mise à jour : 30/08/2004 15:49:39 Vu / téléchargé: 5 431 / 559

Note :
8,33 / 10 - par 3 personnes
8,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

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...
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

30 août 2004 15:49:42 :
+ rapide, + fiable....
  • signaler à un administrateur
    Commentaire de magic_Nono le 08/01/2004 16:42:12

    la partie sur la sauvegarde des comboBox était non complète... Voici le tout corrigé
           @+ Nono.

  • signaler à un administrateur
    Commentaire de victorcoasne le 11/05/2004 18:59:13

    On pourra pas dire que cette source n'est pas commentée !

  • signaler à un administrateur
    Commentaire de magic_Nono le 30/08/2004 15:59:04

    maj

  • signaler à un administrateur
    Commentaire de Arnaud16022 le 17/03/2005 22:04:05

    Super C pile ce que je cherchais.
    a bas GetPrivateStringProfile, portabilité=0
    9/10
    merci bcp... meme 2 ans apres.

  • signaler à un administrateur
    Commentaire de Matt67 le 08/06/2005 21:28:23

    Bonsoir,

    Il me semble que dans la fonction BFichierIni::get, il utilise la fonction GetPrivateProfileString.
    Pourquoi ne pas utiliser directement ces fonctions ?

    Matt...

  • signaler à un administrateur
    Commentaire de magic_Nono le 09/06/2005 11:35:11

    Hi!

    ah ui, effectivement, cette version ne contenais pas tous les ifdef...

    Autrement, sous unix j'utilise BFichierIniTampon
    [qui garde en mémoire tout le fichier, mais ça correspondais à d'autres besoins]
    (s'il n'est pas encore publié, il le sera bientot)

    Matt> Pourquoi ne pas utiliser ces fonction?
    mais parcequ'elles sont trop complexe, ce genre d'interface utilise ces choses qui marche mais de maniere simplissime.
    (autant se concenter sur les pb de prog que sur ces histoire des gestions basiques & répétitives)


    Magicalement ++
    Bonne prog à tous
    Nono.

  • signaler à un administrateur
    Commentaire de Matt67 le 09/06/2005 21:32:46

    Bonsoir,

    Je ne vois pas ce qu'il y a de complexe avec ce genre de fonctions :
    - GetPrivateProfileString
    - WritePrivateProfileString
    par rapport a d'autre ou la ...
    Par contre dans MSDN elles sont obsolètes alors que je les trouve très pratique, mais bon c'est un autre sujet.

    Matt...

  • signaler à un administrateur
    Commentaire de Arnaud16022 le 09/06/2005 22:19:08

    obsotètes? ben c'est nouveau ca...
    zut alors c'est vari que c'est super pratique :(

  • signaler à un administrateur
    Commentaire de Matt67 le 09/06/2005 22:35:38

    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...

  • signaler à un administrateur
    Commentaire de Arnaud16022 le 09/06/2005 23:14:41

    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 ^^

  • signaler à un administrateur
    Commentaire de magic_Nono le 10/06/2005 09:39:02

    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.

  • signaler à un administrateur
    Commentaire de Arnaud16022 le 10/06/2005 11:20:12

    quoi? tu veux dire que les trtaductions sont enregistrées dans le BdR? c'est vraiement trop nimp microsoft

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS