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 :

redim tableau


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 3
    Par défaut redim tableau
    Bonjour,

    j'ai un form qui sert pour que les gens s'identifie, sur l'evenement load je charge mes differents login/mdp dans le tableau utilisateur. Voici le code :

    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
    Private Sub Ident_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'on crée le tableau utilisateurs vierge
            Dim utilisateurs(,) As String
            'on ouvre le fichier utilisateurs
            Dim SR3 As StreamReader = File.OpenText("i:\utilisateurs.txt")
            Dim ligne As String
            Dim i As Integer
            Dim j As Integer
            j = 0
            'on lit le fichier utilisateur et rempli le tableau utilisateurs
            Do Until SR3.Peek = -1
                ReDim Preserve utilisateurs(j, 1)
                ligne = SR3.ReadLine()
                For i = 0 To 1
                    utilisateurs(j, i) = Split(ligne, Chr(124))(i)
                    If i = 0 Then
                        ComboBox1.Items.Add(Split(ligne, Chr(124))(i))
                    End If
                Next
                j = j + 1
            Loop
            'Enfin on ferme:
            SR3.Close()
            ComboBox1.SelectedIndex = 0
    End Sub
    la premiere boucle du Do Until SR3.Peek = -1 se passe bien, mais dés le second tour, lors du ReDim Preserve utilisateurs(j, 1), j'ai l'erreur suivante :
    Une exception de première chance de type 'System.ArrayTypeMismatchException' s'est produite dans Microsoft.VisualBasic.dll
    j'ai beau tourner le truc dans tous les sens , je voi pas du tout pourquoi j'ai ce probleme.
    Si quelqu'un avait une idée je lui serai eternelement reconaissant.

    Brice

    P.S : j'ai débuter VB y a 1 semaine, il est donc fort possible que mon erreur soit trés conne...

  2. #2
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Je crois que c'est à cause de la virgule... Essaie plutôt de créer un type de donées pour ton tableau.

    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
    Option Explicit
    Private Type tLogIn
        Nom As String
        MotDePasse As String
    End Type
     
    Private Sub Form_Load()
        Dim tblLogIns() As tLogIn
        Dim i As Integer
        For i = 0 To 3  ' 4 itérations pour l'exemple
            ReDim Preserve tblLogIns(i)
            tblLogIns(i).Nom = InputBox("entrez votre nom", "LogIn Name", "")
            tblLogIns(i).MotDePasse = InputBox("entrez votre mot de passe", "LogIn Password", "")
        Next
        ' affichage dans la fenêtre d'exécution (Ctrl + G)
        For i = 0 To UBound(tblLogIns)
            Debug.Print tblLogIns(i).Nom, tblLogIns(i).MotDePasse
        Next
    End Sub

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    il nous faudrait le message d'erreur, qui avec un peu de chance dira "seule la dernière dimension peut etre modifiée"

    de plus on croirait du code vb6 ... en vb.net tout ceci doit pouvoir se faire en une seule ligne de code
    les tableaux il faut oublier, il y a des collections qui sont 100x plus performantes
    bref avant de coder il faut apprendre ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. redim tableau a 2 dimensions
    Par calvi2002 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/08/2009, 12h50
  2. variable tableau 2 dimensions et redim preserve
    Par dawood dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 03/01/2009, 15h11
  3. Tableau vide avec Redim
    Par tera_jeff dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 20/11/2007, 21h58
  4. tableau dynamique : galère de ReDim !
    Par zoidy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/06/2007, 10h36
  5. Probleme sur le redim preserve d'un tableau
    Par shinrei dans le forum ASP
    Réponses: 6
    Dernier message: 03/06/2006, 16h12

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