Création de variable [my.settings] dynamiquement

Mrvin10020cent Messages postés 11 Date d'inscription vendredi 25 mai 2012 Statut Membre Dernière intervention 5 juin 2012 - 4 juin 2012 à 11:12
Mrvin10020cent Messages postés 11 Date d'inscription vendredi 25 mai 2012 Statut Membre Dernière intervention 5 juin 2012 - 5 juin 2012 à 14:20
Bonjour,
Après des heures de recherche sur internet, j'ose demandé votre lumière, car j'arrive pas trouvé une solution.
Description du problème :
Je n'arrive pas crée dynamiquement de variable programme (my.settings)
But:
Crée des variables qui permets de garder des paramètres dans le programme après la fermeture de celui- ci et sans l'utilisation d'un fichier tout bêt (ceci purement pas défit technique et bien sûr plus propre)
Mon environnement : Microsoft Visual basique 2010 - Projet en FrameWork 4 (pas encore compiler de toute façon)
Mon approche :
My.Settings.PropertyValues.Add(New Configuration.SettingsPropertyValue(New Configuration.SettingsProperty("Nom_de_Ma_nouvelle_variable")))

Effet :
Aucune erreur lors de l’exécution mais ne paraît pas être crée, impossible de faire appel après à cette variable
Finalité :
J'aurai besoin de ceci pour pouvoir dans mon programme de WOL d'ajouter dynamiquement des bouton qui référence une MacAdresse réveiller le post. Oui je pourrai crée manuellement tant de variable my.settings mais cella limiterai le nombre MacAdresse sauvé dans le programme.

[ceci est mon premier post excusez moi d'avance ]

Merci d'avance à l’intérêt que vous apporterez à mon projet et à ma question

8 réponses

Mrvin10020cent Messages postés 11 Date d'inscription vendredi 25 mai 2012 Statut Membre Dernière intervention 5 juin 2012
4 juin 2012 à 11:51
Désolé de l'oubli, voici ou l'erreur est rencontré et le message :
My.Settings("Nom_de_Ma_nouvelle_variable") = "Valeur attribuée"

Message d'erreur
Titre de la fenêtre d'erreur :
L'exception SettingsPropertyNotFoundException n'a pas été gérée
corps du message
La propriété 'Nom_de_Ma_nouvelle_variable' des paramètres est introuvable
0
Mrvin10020cent Messages postés 11 Date d'inscription vendredi 25 mai 2012 Statut Membre Dernière intervention 5 juin 2012
4 juin 2012 à 12:00
J'ai aussi essayé :
CreateProperty("Nom_de_Ma_nouvelle_variable")
        SetPropertyValue("Nom_de_Ma_nouvelle_variable", "Valeur attribuée")
        MsgBox(My.Settings("Nom_de_Ma_nouvelle_variable"))

CreateProperty n'est pas reconnu ,,, cela me crée une sub
Trouvé ici
0
Utilisateur anonyme
4 juin 2012 à 17:30
Bonjour,

Comme le nom le dit My.Settings sert à conserver des valeurs (dans un fichier XML) mais pas pour enregistrer des noms de variables. Ce que tu veux faire est impossible avec my.settings.
0
Mrvin10020cent Messages postés 11 Date d'inscription vendredi 25 mai 2012 Statut Membre Dernière intervention 5 juin 2012
5 juin 2012 à 07:55
Bonjour,

tout d'abord merci de votre réponse cmarcotte, cependant connaissez-vous une autre manière que le tout bête fichier texte que me semble une manière de procéder pas très propre... ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
5 juin 2012 à 08:19
Bonjour,
J'ai essayé, on peut mettre une variable dans MySettings manuellement mais pas de façon dynamique.
Aller dans My Project- Paramètres.
Entrer dans Nom: Mavaleur et dans Type: String
Pour tester 2 TextBox et un bouton

Public Class Form1
    Dim Mavaleur As String
    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
       My.Settings.Mavaleur = Mavaleur
       My.Settings.Save()
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
              Mavaleur = My.Settings.Mavaleur
        TextBox2.Text = Mavaleur
     End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      Mavaleur = TextBox1.Text
    End Sub
      
 End Class

@+Le Pivert
0
Mrvin10020cent Messages postés 11 Date d'inscription vendredi 25 mai 2012 Statut Membre Dernière intervention 5 juin 2012
5 juin 2012 à 08:49
Bonjour,
Oui j'avais d'ores et déjà procédé de cette manière, je cherchais juste la possibilité de faire du dynamique avec ce serai super pratique vu que je crée de champs dynamiquement et plein d'autre contrôles.
Merci quand même Le Pivert
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
5 juin 2012 à 11:32
Une autre manière: stocker dans le registre:

Public Class Form1
    ' chemin registre: HKEY_CURRENT_USER\Software\VB And VBA Program Settings\Mesvaleurs\Mavariable
    Private Const APP_Text As String = "Mesvaleurs"
    Private Const SECTION_Text As String = "Mavariable"
    Dim Mavaleur As String
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Mavaleur = TextBox1.Text
    End Sub
    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        SaveSetting(APP_Text, SECTION_Text, "Mavariable" & ToString(), Mavaleur.ToString())
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Mavaleur = GetSetting(APP_Text, SECTION_Text, "Mavariable" & ToString())
        TextBox2.Text = Mavaleur
    End Sub
End Class



@+Le Pivert
0
Mrvin10020cent Messages postés 11 Date d'inscription vendredi 25 mai 2012 Statut Membre Dernière intervention 5 juin 2012
5 juin 2012 à 14:20
Encore merci à Le Pivert, j'avais pensé à ça mais vu que j'avais dans l'optique de faire un programme "portable", je vais sans doute voir les critères à la baisse, dans l'attende de trouver une solution je vais faire ainsi
0
Rejoignez-nous