none
VB.NET Combobox Sauvegarder les informations ? RRS feed

  • Question

  • Bonjour,

    J’ai développé un petit logiciel qui travaille avec un hardware USB et voici mon problème.

    J’utilise un Combobox DropDownList qui affiche les ports COM détecté,  je voudrais savoir comment je peux une fois le bon COM Port sélection le sauvegarder à la fermeture du logiciel pour qu’il soit mémorisé à la réouverture du logiciel?  

    J’ai essayé en utilisent le Proerty Bindings dans Application Settings mais je ne suis pas certain de la fonction!?

    Merci de votre aide!

    Christian

    mardi 16 août 2016 14:06

Réponses

  • Pour commencer, une note sur le port COM et les adaptateurs USB: le port COM va changer en fonction du port USB utilisé. Par exemple j'ai 5 port USB et le port COM change en fonction du port USB (COM3...COM7).

    Pour le paramètre du port COM vous utiliser probablement un String comme ceci:

            'Définition du Port
             SerialPort_COM.PortName = ComboBox9.Text 
    
            'Ouverture du port défini
            SerialPort_COM.Open()

    Pour remplir votre Combo vous faites probablement:

    'On liste les port com disponibles
            Dim myPort As Array 'Tableau contenant les ports COM détectés sur le système
    
            myPort = IO.Ports.SerialPort.GetPortNames() 'On récupère les ports COM
    
            'Chargement des ports COM dans le combobox
            ComboBox9.Items.AddRange(myPort)

    Donc mettez un String dans les Application Settings (PortCOM par example) et cherchez le port dans le combo comme ceci:

    'Sélectionnez celui gardez dans application.Settings
            ComboBox1.SelectedIndex = ComboBox1.FindStringExact(My.Settings.PortCOM) 'Port COM1
            'Si le port est absent de la liste on pointe sur l'item blanc
            If ComboBox1.SelectedIndex = -1 Then
                ComboBox1.SelectedIndex = 0
            End If

    Testez ceci et revenez avec des question en montrant du code...

    Et marquez le post si cela vous a aidé...

    mardi 16 août 2016 21:08

Toutes les réponses

  • Pour commencer, une note sur le port COM et les adaptateurs USB: le port COM va changer en fonction du port USB utilisé. Par exemple j'ai 5 port USB et le port COM change en fonction du port USB (COM3...COM7).

    Pour le paramètre du port COM vous utiliser probablement un String comme ceci:

            'Définition du Port
             SerialPort_COM.PortName = ComboBox9.Text 
    
            'Ouverture du port défini
            SerialPort_COM.Open()

    Pour remplir votre Combo vous faites probablement:

    'On liste les port com disponibles
            Dim myPort As Array 'Tableau contenant les ports COM détectés sur le système
    
            myPort = IO.Ports.SerialPort.GetPortNames() 'On récupère les ports COM
    
            'Chargement des ports COM dans le combobox
            ComboBox9.Items.AddRange(myPort)

    Donc mettez un String dans les Application Settings (PortCOM par example) et cherchez le port dans le combo comme ceci:

    'Sélectionnez celui gardez dans application.Settings
            ComboBox1.SelectedIndex = ComboBox1.FindStringExact(My.Settings.PortCOM) 'Port COM1
            'Si le port est absent de la liste on pointe sur l'item blanc
            If ComboBox1.SelectedIndex = -1 Then
                ComboBox1.SelectedIndex = 0
            End If

    Testez ceci et revenez avec des question en montrant du code...

    Et marquez le post si cela vous a aidé...

    mardi 16 août 2016 21:08
  • Vous pouvez utiliser les paramètres de l'application pour stocker les informations que vous souhaitez à la fermeture de celle-ci et les récupérer à l'ouverture.

    Dans les propriétés du projet, onglet "paramètres" vous pouvez créer vos variables.(MonPort)

    Ensuite les utiliser dans l'application:

    Pour lire la variable MonPort par exemple :

        uneVariable = My.Settings.MonPort

    Pour sauvegarder une valeur dans la variable MonPort:

       My.Settings.MonPort= "COM4"

       My.Settings.Save()

    Jacques


    Jacques
    Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci

    mardi 16 août 2016 21:50
  • Bonjour Cyrille,

    J'ai essayé d'insérer votre code malheureusement ça ne fonctionne pas, je ne suis pas sûr de bien intégrer le code.

    Pouvez-vous m’aide?

    Voici mon code

    'A l'ouverture de form1, automatiquement tous les ports série dans le système sont détecter et sont afficher dans le cmb Port Combobox
    
    
            myPort = IO.Ports.SerialPort.GetPortNames() 'Obtiens tous les ports COM disponibles On récupère les ports COM
    
            For i = 0 To UBound(myPort)
                ComboBox1.Items.Add(myPort(i))
            Next
    
            ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList
            ComboBox1.Text = ComboBox1.Items.Item(0)

    Merci

    Christian

    mercredi 17 août 2016 14:14
  • Pouvez-vous indiquer où se trouve l'erreur qui bloque votre code?

    Je ne vois pas pourquoi vous utiliser ComboBox1.text = ComboBox1.items.item(0)...

    Est-ce que vous voulez sélectionner le premier élément par défaut? Alors faites

    ComboBox1.SelectedIndex = 0

    mercredi 17 août 2016 15:01
  • Bonjour Cyrille,

    Finalement j'ai trouvé mon problème en utilisent votre code, ça fonctionne maintenant!

    J'apprécie votre aide, merci

    Christian

    mercredi 17 août 2016 17:49
  • Parfait, vous pouvez indiquer les post qui ont aidés comme solution.

    Merci

    mercredi 17 août 2016 19:47