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 :

Pourquoi ne puis-je ajouter ces lignes de texte à mon Array?!


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 41
    Points
    41
    Par défaut Pourquoi ne puis-je ajouter ces lignes de texte à mon Array?!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim readFile As StreamReader = New StreamReader("Catver.ini")
    Dim ligne As String
    Dim i As Integer
    Dim arr0() As String
    Do
     ligne = readFile.ReadLine()
     arr0(i) = ligne
     i += 1
    Loop Until ligne = "[VerAdded]" 
    readFile.Close()


    Auriez vous la gentillesse de m'expliquer ce que je fais de travers ? lol

    J'ouvre un fichier texte
    Je défini un array dynamique de type texte
    Je le fais "looper" jusqu'à ce qu'il arrive à une ligne spécifique
    ...Et je veux simplement ajouter la ligne de texte dans arr0(0), arr0(1), arr0(2)

    ET cela ne marche pas, VB me dit que arr0(i) est utilisé avant d'avoir été déclaré.
    Sans doute une grosse bêtise pour vous ;-)
    Auriez vous la gentillesse de me dire ce que je dois modifier?

    D'avance merci,

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Tu n'as pas "défini un array dynamique", vu que ça n'existe pas

    Un array a une taille fixe, que tu dois spécifier
    - soit de façon statique dans la déclaration
    - soit de façon dynamique, ce que tu n'as pas fait (note : ici "dynamique" ne signifie pas que la taille du tableau peut changer, ça signifie seulement que tu détermines la taille à l'exécution)

    Et je ne pense pas que VB te dise que le tableau n'est pas déclaré, vu qu'il est bien déclaré... Par contre il n'est pas initialisé, il vaut donc Nothing

    Pour l'initialiser il faut faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    arr0 = New String(taille - 1) { }
    Ou encore :
    Mais de toutes façons un tableau n'est pas adapté à ce que tu veux faire, puisque la taille est fixe (note : Redim ne change pas vraiment la taille du tableau, ça en crée un nouveau)

    Utilise plutôt une List, ça sert à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim readFile As StreamReader = New StreamReader("Catver.ini")
    Dim ligne As String
    Dim lignes As New List(Of String)
    Do
     ligne = readFile.ReadLine()
     lignes.Add(ligne)
    Loop Until ligne = "[VerAdded]" 
    readFile.Close()
    Par contre c'est pas une très bonne idée de boucler jusqu'à rencontrer une ligne particulière... si jamais cette ligne n'est pas présente dans le fichier, tu vas partir en boucle infinie ! Tu devrais ajouter "Or ligne Is Nothing" dans ta condition, pour sortir quand tu arrives au bout du fichier

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 41
    Points
    41
    Par défaut
    tomlev,

    Un tout grand merci, d'avoir pris le temps de me répondre..et de le faire de façon si complète. J'ai suivi tes instructions à la lettre et évidemment cela marche parfaitement.
    Merci!!

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

Discussions similaires

  1. [XL-2007] Ajout de lignes dans listes viex depuis combobox puis calculer
    Par stephadm dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/08/2011, 22h38
  2. [Batch] ajout de ligne dans un txt puis lecture de chaque ligne
    Par anthology dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 15/06/2010, 17h42
  3. compter un caractere precis ligne par ligne puis retirer ces lignes
    Par cedric190985 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 18/03/2010, 08h39
  4. [PDE] Comment ajouter un éditeur de texte à mon projet ?
    Par simsky dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 29/06/2005, 10h40

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