IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Type de fichier pour configuration


Sujet :

Delphi

  1. #1
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Par défaut Type de fichier pour configuration
    Salut tout le monde,

    une petite question pour savoi qu'elle méthode vous utilisez.

    Je cherche un format de fichier qui pourait me permettre de stocker les paramètres de mon application.

    A par les fichier ini, et la base de registre, je ne vois pas d autre solution.

  2. #2
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Par défaut

    tu as aussi les fichiers XML et les bases de données.
    du côté de la JVCL, tu as également les composants suivants de la page Jv Persistance qui font cela
    • JvAppStorage
    • JvAppIniFileStorage
    • JvAppStorageSelectList
    • JvAppRegistryStorage
    • JvAppDBStorage
    • JvFormStorage
    • JvFormStorageSelectList
    • JvAppXMLFileStorage

  3. #3
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    traditionellement j'opte pour un format binaire proprietaire a base de TfileStream.

    Suffit de definire une structure de fichier et de copier/lire les données e n respectant cette structure.

  4. #4
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Par défaut
    Citation Envoyé par Clorish
    traditionellement j'opte pour un format binaire proprietaire a base de TfileStream.

    Suffit de definire une structure de fichier et de copier/lire les données e n respectant cette structure.
    un petit plus si ces fichiers doivent être sécurisés

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Février 2006
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 624
    Par défaut
    Je cherche un format de fichier qui pourait me permettre de stocker les paramètres de mon application.
    Une classe avec des propriétés publiées peut convenir, en la sauvegardant sur disque.

  6. #6
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Citation Envoyé par evarisnea
    un petit plus si ces fichiers doivent être sécurisés
    Tout a fait. LE format etant proprietaire, et arbitraire, les donnéees n'ont de sens que si on connait la structure du fichier. On peut assez facilement la retrouver mais ca limite les petites bidouilles.

    De plus on peut tres facilement le crypter.

  7. #7
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Citation Envoyé par Fabrice ROUXEL 1
    Une classe avec des propriétés publiées peut convenir, en la sauvegardant sur disque.
    Tiens j'ai jamais essayé ca.
    Tu as un petit exemple ? ca m'interesse ...

  8. #8
    Membre éprouvé
    Inscrit en
    Avril 2005
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 123
    Par défaut
    Moi j'ai souvent manipulé les fichiers INI (TINIFILES). La base des registres aussi, et je crois que j'en suis satisfait. Par contre pour une application qui merite d'etre hautement sécurisée, je me crée, comme l'ont mentionné d'autres, je me crée mes propres CFG avec un TFILESTREAM.

  9. #9
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    sans aller dans la hautement securisé l'interet se trouve dans le fait que l'utilisateur final ne pourra pas venir mettre la panique dans le fichier de config

    Je reserve les fichiers ini (tres bon format d'ailleur) seulement aux application dont l'utilisateur peut editer le fichier de confg. Ils me servent egalement a generer des scripts de chargement, ou des formats de fichiers simples sans avoir a developper un editeur specialisé ou utiliser des formats complexes comme le XML

  10. #10
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Par défaut
    Sachant maintenant que vista est plus 'sécuisé' au niveau des droits,est ce que des solutions ne deviennent pas obsolètes ;du style les fichiers Ini ou la base de registre ?

  11. #11
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    ne pas confondre securitee des données et integrites des données.

    Moi quand je parlais de securiser un fichier de config c'etait plus dans l'optique de conserver l'integritee des données.
    C'est a dire eviter que l'utilisaeur plante l'application suite a une mauvaise manip des fichiers de config.
    A savoir que les utilisateurs on souvent la facheuse habitude de bidouiller un peut tous les fichiers

    Ensuite, vista est peut etre plus securisé en matiere de droits d'acces, ca n'empeche pas que l'utilisateur ayant les droit vienne tout de meme mettre la panique dans les fichiers de configs

    D'autre part, la BdR, elle permet surtout de pouvoir moduler les chemins d'acces en fonction du ou des repertoires d'instalation et de partager certaines données qui se trouvent regrouppées dans un endroit dont le chemin est connu. A noter que la BdR est une sorte de fichier ini geant dont le chemin sur le Hdd ne change pas d'un systeme a l'autre
    Cette fonctionnalitée (partage et accessibilitée) n'a rien a voir avec la gestion des droits d'acces.

    Ha j'oubliait, la Bdr permet aussi de facilement specialiser et/ou parametrer l'application en fonction des utilisateur, que l'on peut aussi gerer via les repertoires du compte utilisateur mais c'est moins pratique a mon gout

    [Edit] Derniere chose : Tout le monde n'a pas encore Vista .... et c'est a mon gout encore un peu restrictif de limiter l'usage a Vista, surtout face aux enormes problemes de migrations XP/Vista

  12. #12
    Membre émérite
    Profil pro
    Inscrit en
    Février 2006
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 624
    Par défaut
    Citation de Clorish:
    Fabrice ROUXEL 1 a écrit :
    Une classe avec des propriétés publiées peut convenir, en la sauvegardant sur disque.


    Tiens j'ai jamais essayé ca.
    Tu as un petit exemple ? ca m'interesse ...
    On créé une classe TConfigClass dérivée de TComponent par exemple, qui contient dans la section published des proprietées de configuration du soft.(font, contenu de combobox, d'items de menus etc).
    Cette classe est chargé/sauver via TFileStream et Read/WriteComponent.
    Une interface accessible via un menu permet de personnaliser la configuration dont les champs initialiseront les properties de la classe.
    On ajoute un TOpen/SaveDialiog + 1 variable globale ConfigObj + 1 méthode qui initialise le logiciel en lisant les propriétés de la classe avec un test au chargement sur l'existance du fichier de config.

    PS/ Sub0 a une démo de sérialisation de classes.
    Claudius s'est également penché la dessus en proposant une démo en lien sur un thread.

  13. #13
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Le concept je vois tout a fait.
    C'est le Read/WriteComponent que j'avais oublié en fait

    Par contre ca marche bien ? parce qu'en general l'ecriture de variable type pointeur (font/string/objets/...) ca passe plutot mal ....

    J'imagine que les property ne doivent avoir aucune reference mais que des objets cree en interne non ?

    J'ai pas trop confiance en ce genre de methode (a tord surement )
    je prefere implementer une fonction toute simple saveconfig qui prends en paramettre l'objet config et ecrit via les methodes classiques tous les champs de l'objet et de ses sous objets si il en existe.
    Une bonne structure et ca passe tout seul, et au moins je sais ce qui est ecrit

  14. #14
    Membre émérite
    Profil pro
    Inscrit en
    Février 2006
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 624
    Par défaut
    Pour des fichiers de configuration la solution qui s'appuye sur les records et les fichiers .ini (ou XML) est tout de même ce qu'il y a de plus souple.
    ( Il n'y avait même que cela dans tout le soft lors de ma dernière mission, ni poo, ni rtti, ni sérialisation).

    J'imagine que les property ne doivent avoir aucune reference mais que des objets cree en interne non ?
    Dans le cas d'une composition les objets seront créés en interne mais l'aggrégation est tout aussi valable.

Discussions similaires

  1. Quels types de fichier pour Android/python ?
    Par fanfan999 dans le forum Général Python
    Réponses: 3
    Dernier message: 08/12/2014, 12h42
  2. [XL-2007] Type de fichier pour Excel 2007: xls, xlsx, xlsm ou xlsb ?
    Par APE3392 dans le forum Excel
    Réponses: 2
    Dernier message: 18/06/2009, 19h02
  3. fichier XML pour configurer un générateur de docs XML
    Par nice dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 31/01/2006, 12h49
  4. [VB.NET] Conseils pour types de fichiers
    Par Invité dans le forum Windows Forms
    Réponses: 3
    Dernier message: 23/02/2005, 12h06
  5. Aperçu pour mes types de fichiers
    Par Aurelien.Regat-Barrel dans le forum Windows
    Réponses: 3
    Dernier message: 27/09/2004, 19h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo