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 :

Accès à un dictionnaire depuis autre module [Débutant]


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Octobre 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Octobre 2016
    Messages : 15
    Points : 15
    Points
    15
    Par défaut Accès à un dictionnaire depuis autre module
    Bonjour,

    Au lancement de mon programme, je remplie un dictionnaire initialisé de la façon suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim dico As New Dictionary(Of String, String)
     
    dico.Add("mickael", "46")
    dico.Add("christophe", "48")
    '....
    et je peux accèder aux valeurs comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print(dico.Item("mickael"))
    resultat 46

    tout va bien au sein du module lui même

    Comment faire pour accèder au dictionnaire depuis un autre module ?
    J'ai tenté ceci sans effet

    Merci de votre aide :-)

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Géomaticien
    Inscrit en
    Avril 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Géomaticien

    Informations forums :
    Inscription : Avril 2009
    Messages : 21
    Points : 26
    Points
    26
    Par défaut
    Bonjour,

    Si dans ton premier module tu déclares une variable publique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public dico As New Dictionary(Of String, String)
    et que tu la remplisses dans le Sub (ou autre) qui est appelé au lancement de ton programme. Tu dois pouvoir l'appeler depuis un autre module en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print(nomdupremiermodule.dico.Item("mickael"))
    voir directement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print(dico.Item("mickael"))
    En espérant ne pas dire de bêtise :S

  3. #3
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    VB.NET c'est pas trop mon truc, mais ça doit ressembler à un truc comac :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ' le module avec un entier en global
    Module MyModule
        Public MyGlobal As Integer = 123
    End Module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ' le module qui utilise la globale de l'autre module
    Module OtherModule
        Public Function SomeAdd(val as Integer) As Integer
            return (MyModule.MyGlobal + val)
        End Function
    End Module
    Plus je connais de langages, plus j'aime le C.

  4. #4
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut
    bonjour

    Une autre façon plus expéditive est de déclarer ce module (celui du dictionnary )comme Public
    Le code de l' "ubiquitous" (omnipresent) module est donné ci-après:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    ' "ubiquitous"
    Public Module Module1
        Public dico As New Dictionary(Of String, String)
    End Module
     
     
    '  module non public 
    Module Module2
        Public Sub SomeAdd(ByVal key As String, ByVal value As String)
            dico.Add(key, value)
        End Sub
    End Module
    et le form:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    Public Class Form1
     
        Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            dico.Add("k1", "boho")
        End Sub
    End Class
    bon code...

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

Discussions similaires

  1. accès à un timer depuis un module sous vb6
    Par yvanovitch dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 02/09/2014, 22h57
  2. Réponses: 2
    Dernier message: 15/01/2008, 09h37
  3. Acces aux controles d'un form depuis en module
    Par tomkich dans le forum Windows Forms
    Réponses: 1
    Dernier message: 27/02/2007, 17h18
  4. [C#] Accès à un contrôle depuis un autre controle
    Par Gloups dans le forum Windows Forms
    Réponses: 6
    Dernier message: 16/08/2006, 18h46
  5. accés a oracle depuis une autre machine
    Par tounsi dans le forum Connexions aux bases de données
    Réponses: 10
    Dernier message: 16/01/2006, 17h06

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