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

VB.NET Discussion :

fichier .xml pour remplacer les My.setting


Sujet :

VB.NET

  1. #1
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Points : 279
    Points
    279
    Par défaut fichier .xml pour remplacer les My.setting
    Bonsoir

    Actuellement mon programme utilise l'extension my.settings pour sauvegarde le contenu de mes variables.
    Mais je souhaite pouvoir sauvegarder mes variables dans un de mes fichiers .xml propre à moi, afin que par la suite je puisse modifier moi meme les valeurs dans le fichiers .xml directement en l'ouvrant.
    Ainsi j'ai crée ces deux fonctions sorte de get et set, et j'aurais aimez avoir votre avis sur chacune d'elle ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    Imports System.Xml
     
    Module settingXML
     
        '###########################################################################
        '###########################################################################
        'rajouter le controle de la présence du fichier xml sinon on quitte l'application
     
        'adresse du fichier XML
        Dim adresse_file_xml As String = "C:\Users\Stevie_Wonder\Documents\log\parametres.xml"
     
        '###########################################################################
        ' modification du noeud passé en paramétre
        '###########################################################################
     
        Public Sub mod_setting(ByVal noeud As String, ByVal valeur As String)
            Try
                Dim XMLconfig As XmlDocument = New XmlDocument 'declaration d'un fichier xml 
                XMLconfig.Load(adresse_file_xml) 'je charge le fichier xml
                Dim node As XmlNode = XMLconfig.DocumentElement 
                For Each node In node.ChildNodes 'je parcours chaque noeuds 
                    If node.Name = noeud Then
                        node.InnerText = valeur 'affectation
                    End If
                Next
                XMLconfig.Save(adresse_file_xml) 'enregistrement 
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
        End Sub
     
        '###########################################################################
        ' lecture du noeud
        '###########################################################################
     
        Public Function lire_setting(ByVal noeud As String) As String
            Dim valeur As String = String.Empty
            Try
                Dim XMLconfig As XmlDocument = New XmlDocument 'declaration d'un fichier xml 
                XMLconfig.Load(adresse_file_xml) 
                Dim node As XmlNode = XMLconfig.DocumentElement 'le noeud du xml
                For Each node In node.ChildNodes 'je parcours chaque noeuds 
                    If node.Name = noeud Then
                        valeur = node.InnerText 'lecture
                    End If
                Next
            Catch ex As Exception
                MessageBox.Show(ex.Message)
                Return "error"
            End Try
            Return valeur
        End Function
     
    End Module
    je les utilise et ça fonctionne bien, certes un peu moins pratique que de faire my.settings.mavar = "azerty"
    Est ce que c'est aussi votre façon de faire ? ou existe t'il plus simple ?

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Moi, ce que j'en dis c'est que My.settings utilise le fichier app.config qui est déjà un fichier XML sans l'extension xml. Mais bon, il paraîtrait que My.Settings, ce n'est pas l'idée du siècle.


    Ce n'est pas une réponse directe à ta question, mais tu ne perds rien à jeter un œil sur ce sujet tout récent.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par clementmarcotte Voir le message
    Mais bon, il paraîtrait que My.Settings, ce n'est pas l'idée du siècle.
    Effectivement My.Settings n'est pas synonyme de pérennité pour une application qui souhaiterait évoluer et changer de version au fil du temps.... et dans ce sujet il y a des liens avec de l'argumentation (j'argumente toujours ce que je dis) :

    http://www.developpez.net/forums/d15...es-application

    ++

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    [QUOTE=wallace1;8268911
    Je précise cela car il semblerait que je t'ai vexé dans mes propos.....^^[/QUOTE]

    Aucunement. C'est plutôt la surprise. C'est une chose que j'ignorais.

    Ceci dit, il faut en tenir compte.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  5. #5
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par clementmarcotte Voir le message
    Bonjour,

    Aucunement. C'est plutôt la surprise. C'est une chose que j'ignorais.

    Ceci dit, il faut en tenir compte.
    Dieu merci, tu n'es certainement pas celui qui s'amuse à voter à mon encontre lorsque je fais la moindre intervention.....


  6. #6
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Points : 279
    Points
    279
    Par défaut
    Et au final que pensez vous de mon code ?

  7. #7
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Concernant le code... Il y a plus simple que de naviguer nœud par nœud.

    Tu écris une classe toute bête, avec autant de propriétés publique que tu veux de paramètres.
    Tu marques la classe sérializable.

    Et hop, tu peux déserializer et serializer en une ligne de code.
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 15/05/2014, 15h44
  2. Réponses: 0
    Dernier message: 07/11/2012, 17h33
  3. Réponses: 3
    Dernier message: 14/11/2009, 09h26
  4. Réponses: 2
    Dernier message: 15/06/2009, 08h59
  5. Souci pour remplacer les Retours chariot par <BR>
    Par ahage4x4 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 01/06/2005, 11h24

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