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 :

Pb utilisation Split avec Visual basic 2008 Express


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 31
    Par défaut Pb utilisation Split avec Visual basic 2008 Express
    Bonjour
    Visal Basic 2008 Express
    Quelqu'un pourrait-il me donner une réponse au pb suivant
    Lorsue j'execute la séquence suivante,le programme s'arrête avec le diag suivant:

    [IMG]http:/duarep.free.fr/download/Provisoire/screenshot_01.jpg[/IMG]

    Si je rajoute un Message entre le Split et l'utilisation du tableau (voir séquence suivante) la sequence se déroule normalement et les lignes sont bien écrites dand la ListBox.

    Merci d'avance pour votre aide.

    *********************************************************
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            Dim Ligne As String
            Dim Tableau(12) As String
     
            FileOpen(1, "C:\\BANQUES\CA.txt", OpenMode.Input) ' Ouvre en lecture.
            Do While Not EOF(1) ' tant que la fin du fichier 1 ( origine) n'est pas terminée
     
                Ligne = LineInput(1) ' On lit la ligne du fichier d'origine
     
                Tableau = Ligne.Split("*")
     
                Tableau(2) = Tableau(2).Insert(Tableau(2).Length, Space(30 - Tableau(2).Length))
                Tableau(3) = Tableau(3).Insert(Tableau(3).Length, Space(3 - Tableau(3).Length))
                Tableau(4) = Tableau(4).Insert(Tableau(4).Length, Space(12 - Tableau(4).Length))
                Tableau(5) = Tableau(5).Insert(Tableau(5).Length, Space(12 - Tableau(5).Length))
                Tableau(6) = Tableau(6).Insert(Tableau(6).Length, Space(12 - Tableau(6).Length))
                Tableau(7) = Tableau(7).Insert(Tableau(7).Length, Space(12 - Tableau(7).Length))
                Tableau(8) = Tableau(8).Insert(Tableau(8).Length, Space(12 - Tableau(8).Length))
                ListBox1.Items.Add(Tableau(0) & " " & Tableau(1) & " " & Tableau(2) & " " & Tableau(4) & " " & Tableau(5) & " " & Tableau(6) & " " & Tableau(7) & " " & Tableau(8))
     
            Loop
        End Sub
    ***********************************************************  
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            Dim Ligne As String
            Dim Tableau(12) As String
     
            FileOpen(1, "C:\\BANQUES\CA.txt", OpenMode.Input) ' Ouvre en lecture.
            Do While Not EOF(1) ' tant que la fin du fichier 1 ( origine) n'est pas terminée
     
                Ligne = LineInput(1) ' On lit la ligne du fichier d'origine
     
                Tableau = Ligne.Split("*")
     
                MsgBox("")
     
                Tableau(2) = Tableau(2).Insert(Tableau(2).Length, Space(30 - Tableau(2).Length))
                Tableau(3) = Tableau(3).Insert(Tableau(3).Length, Space(3 - Tableau(3).Length))
                Tableau(4) = Tableau(4).Insert(Tableau(4).Length, Space(12 - Tableau(4).Length))
                Tableau(5) = Tableau(5).Insert(Tableau(5).Length, Space(12 - Tableau(5).Length))
                Tableau(6) = Tableau(6).Insert(Tableau(6).Length, Space(12 - Tableau(6).Length))
                Tableau(7) = Tableau(7).Insert(Tableau(7).Length, Space(12 - Tableau(7).Length))
                Tableau(8) = Tableau(8).Insert(Tableau(8).Length, Space(12 - Tableau(8).Length))
                ListBox1.Items.Add(Tableau(0) & " " & Tableau(1) & " " & Tableau(2) & " " & Tableau(4) & " " & Tableau(5) & " " & Tableau(6) & " " & Tableau(7) & " " & Tableau(8))
     
            Loop
        End Sub

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    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 197
    Par défaut
    dis nous plutot ce que tu penses vouloir faire avec tes .insert parce que là ca me semble bizare
    et le problème ne vient pas du split

    et c'est du code vb6, il faut passer à du vrai code .net

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for each ligne as string in system.io.file.readalllines(path)
      dim valeurs() as string = ligne.split("*")
      ' traitement
    next
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 31
    Par défaut
    Merci pour la réponse

    C'est vrai que je suis en recherche pour trouver comment faire pour présenter dans ListBox les lignes du fichier de manière que les champs (de longueurs variables et séparés par une astérisque) soient présentés alignés.
    Ex de lignes:
    X*01/01/2013*AGRR**817,26 **231,16 *231,16 *0,00*3 000,00
    X*02/01/2013*Carrefour***84,42 *146,74 *146,74 *0,00*3 000,00

    En ce qui concerne le pb mê en éliminant les .insert j'ai également le mème diag

    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
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    Dim Ligne As String
    Dim Tableau(12) As String
     
    FileOpen(1, "C:\\BANQUES\CA.txt", OpenMode.Input) ' Ouvre en lecture.
    Do While Not EOF(1) ' tant que la fin du fichier 1 ( origine) n'est pas terminée
     
    Ligne = LineInput(1) ' On lit la ligne du fichier d'origine
     
    Tableau = Ligne.Split("*")
     
     
    MsgBox(Tableau(0) & " " & Tableau(1) & " " & Tableau(2) & " " & Tableau(4) & " " & Tableau(5) & " " & Tableau(6) & " " & Tableau(7) & " " & Tableau(8))
     
    Loop
    End Sub

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    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 197
    Par défaut
    comme tu as du le remarquer sur mon post il y a moyen de mettre le code en forme, balise code ou bouton # sur l'éditeur de message

    le mieux serait peut etre un datagridview, ca permet d'avoir des colonnes, plutot que de bricoler le rendu dans un listbox ...

    sinon pour le listbox ca donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for each ligne as string in system.io.file.readalllines(path)
      dim valeurs() as string = ligne.split("*")
      valeurs(0) = valeurs(0).padright(30)
      valeurs(1) = valeurs(0).padright(20)
      '...
      me.listbox1.items.add(valeurs(0) & valeurs(1) ...)
    next
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 31
    Par défaut
    Merci
    Je vais essayer et également regarder comment fonctionne ListView que je viens de découvrir

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    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 197
    Par défaut
    ai-je parlé de listview ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. Ecrire un mail Outlook avec Visual Basic 2008 Express
    Par Pingouin1313 dans le forum VB.NET
    Réponses: 7
    Dernier message: 28/10/2009, 22h38
  2. Réponses: 3
    Dernier message: 30/08/2009, 11h47
  3. Réponses: 3
    Dernier message: 16/07/2008, 09h49
  4. Réponses: 2
    Dernier message: 19/03/2008, 10h30
  5. Réponses: 5
    Dernier message: 10/01/2008, 09h37

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