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

ASP.NET Discussion :

Bug en lisant un fichier txt


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 113
    Par défaut Bug en lisant un fichier txt
    Bonjour,

    j'ai enregistré différents items dans un fichier text, séparés par des ControlChars.VerticalTab

    Je cherche a relire ces items pour les remettre en place dans mon programme.

    J'ai fait comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim flux As IO.StreamReader = Nothing
            Dim nomretour As String
            nomretour = Listing.SelectedItem
            flux = New IO.StreamReader(nomretour) 
            Dim result() As String = Split(flux.ReadToEnd, ControlChars.VerticalTab) 
            box1.Text = result(0)        
            box2.Text = result(1) 
            box3.Text = result(2) 
            box4.Text = result(3)
            box5.Text = result(4)
            If result(5) = 1 Then box6.Checked = True Else box6.Checked = False
            If result(6) = 1 Then box7.Checked = True Else box7.Checked = False
            flux.Close()
    mais le programme plante en cliquant sur le boutton qui lance ce code....

    Quelqu'un a une idée de la raison qui fait planter le prog ?

  2. #2
    Membre confirmé Avatar de roshy
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 107
    Par défaut
    Le texte d'erreur serait le bienvenue. Et pour trouver la ligne, tu peux mettre un point d'arrêt au ébut de ton code et faire le débogage pas à pas (F11) pour trouver la ligne.

    Cependant, j'émetterais quand même une hypothèse. Personnellement, je mettrais le flux.ReadtoEnd dans une variable du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim LeTexte as string = flux.ReadToEnd
    Dim result() As String = Split(LeTexte, ControlChars.VerticalTab)
    Parce que justement c'est un flux et non pas un teste définit. Ça se peut très bien que ce ne soit pas ça, mais si tu arrives avec les infos supplémentaires, ça va peut-être devenir plus clair .

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 113
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    MsgBox("arrêt0")
            Dim flux As IO.StreamReader = Nothing
            MsgBox("arrêt1")
            Dim nomretour As String
            MsgBox("arrêt2")
            nomretour = Listing.SelectedItem
            MsgBox("arrêt3")
            flux = New IO.StreamReader(nomretour) 'ouvre le fichier
            MsgBox("arrêt4")
            Dim LeTexte As String = flux.ReadToEnd
            Dim result() As String = Split(LeTexte, ControlChars.VerticalTab) 'lis toutes les données
            MsgBox("arrêt5")
    ca plante après l'arrêt 3

    sinon, le code de l'enregistrement du fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim wAssemby As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly()
            Dim wAppPath As String = System.IO.Path.GetDirectoryName(wAssemby.GetName.CodeBase)
            Dim FilePath2 As String = wAppPath & "box1.Text & ".txt"
     
            Dim flux2 As New IO.StreamWriter(FilePath2, False)
            flux2.Write(box1.Text & ControlChars.VerticalTab & box2.Text & ControlChars.VerticalTab & box3.Text & ControlChars.VerticalTab & box4.Text & ControlChars.VerticalTab & box5.Text 5)
            flux2.Close() 
            MsgBox("Dossier mémorisé")

  4. #4
    Membre confirmé Avatar de roshy
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 107
    Par défaut
    À ce moment là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    flux = New IO.StreamReader(nomretour)
    ta variable "nomretour" est égale à quoi? Qu'est-ce que ton "Listing.SelectedItem" a retourné?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 113
    Par défaut
    je fais le test

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 113
    Par défaut
    il me sort le nom du fichier correct complet, avec extension

  7. #7
    Membre confirmé Avatar de roshy
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 107
    Par défaut
    Hmmm je crois que c'est parce que tu prend seulement le Name de ton fichier. Il est donc pas capable d'aller le chercher, n'ayant pas le path. Essait en remplaçant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Listing.Items.Add(File_Info.Name)
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Listing.Items.Add(File_Info.FullName)
    Bien sur, ton affichage sera peut-être pas celui que tu veux, mais si ça marche, on s'occupera de ça après.

    EDIT : Tu peux reposté ton code du listing que tu as enlever stp

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/05/2015, 23h02
  2. [SQLServer]Script import fichier .txt
    Par Jenbi dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/08/2006, 16h49
  3. ouverture de fichier txt
    Par juguul dans le forum MFC
    Réponses: 11
    Dernier message: 18/12/2003, 09h44
  4. [langage] prob lecture fichier .txt
    Par martijan dans le forum Langage
    Réponses: 3
    Dernier message: 16/07/2003, 11h08
  5. communication fichier binaire fichier txt
    Par micdie dans le forum C
    Réponses: 3
    Dernier message: 05/12/2002, 00h19

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