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 :

Tableau dynamique qui ne fonctionne pas


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 128
    Par défaut Tableau dynamique qui ne fonctionne pas
    Salut à tous

    Ca fait quelques temps que je programme en VB.NET (quand même) mais il y a quelque chose que je n'ai jamais compris. J'ai besoin de créer des tableaux dynamiques, pour ça je fais

    Dim Tableau() as String
    Le truc c'est que, je l'ai dit, il est dynamique et donc je ne connais pas à l'avance le nombre de "cases". Mon but est donc d'en ajouter au fur et à mesure. Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public TableauTitres() As String
    Public TableauContenu() As String
    For i = 0 To NombreNotes - 1
        ReDim Preserve TableauTitres(TableauTitres.Length + 1)
        ReDim Preserve TableauContenu(TableauContenu.Length + 1)
        TableauTitres(i) = IsolatedStorageSettings.ApplicationSettings("titre" & i)
        TableauContenu(i) = IsolatedStorageSettings.ApplicationSettings("contenu" & i)
    Next
    'Sachant que NombreNotes > 0
    Mais voilà, quand je lance l'application, on me retourne cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Une exception de type 'System.NullReferenceException' s'est produite dans CloudyNote.DLL mais n'a pas été gérée dans le code utilisateur
     
    Informations supplémentaires : Object reference not set to an instance of an object.
    Il est toutefois intéressant de noter que le problème vient bien de mon tableau et pas de ce à quoi j'accède, puisque je peux très bien faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MessageBox.Show(TableauTitres(i) = IsolatedStorageSettings.ApplicationSettings("titre" & i))
    Dans ma boucle...
    Je sais bien que ce problème peut paraître tout con mais sérieusement, là je ne comprends pas...

    Merci d'avance

  2. #2
    Membre Expert
    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
    Billets dans le blog
    7
    Par défaut
    Bonjour pouknouki,

    Dynamique est un faux problème dans ton cas ! Pourquoi ne pas utiliser de collections ou de dictionnaires ?

    Déclaration et instanciation d'un dictionnaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     Private _notes As Dictionary(Of String, String)
    _notes = New Dictionary(Of String, String)
    Ajout de données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim title1 as string = "title1"
    Dim content1 as string = "content1"
    Dim title2 as string = "title2"
    Dim content2 as string = "content2"
     
    _notes.add(title1,content1)
    _notes.add(title2,content2)
    Récupération de données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim i a integer  = 1
    For Each data As KeyValuePair(Of String, String) in _notes
        i += 1
        msgbox("Titre " & i.tostring & " : " & data.Key & "---" & "Contenu " & i.tostring & " : " & data.Value)
    Next
    Récupérer une valeur spécifique selon la clé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim val as string =  _notes.Item(title1)
    Savoir si le dictionnaire contient une clé spécifique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim b as boolean  = _notes.ContainsKey(title1)

    A+

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 128
    Par défaut
    Merci de ta réponse rapide.

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

Discussions similaires

  1. [XL-2007] Association dynamique d'une macro à un oleobject créée qui ne fonctionne pas
    Par Vincent32 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/02/2015, 10h35
  2. [CS5] Texte dynamique qui ne fonctionne pas avec tous les chiffres
    Par Shikam dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 10/12/2010, 08h17
  3. Réponses: 2
    Dernier message: 31/05/2010, 14h23
  4. [PHP 5.3] Variables dynamiques qui ne fonctionnent pas
    Par Gwennin dans le forum Langage
    Réponses: 4
    Dernier message: 22/12/2009, 19h12
  5. Réponses: 4
    Dernier message: 04/11/2009, 23h31

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