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 :

lire fichier texte dans mes ressources


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 150
    Points : 67
    Points
    67
    Par défaut lire fichier texte dans mes ressources
    Salut j'arrive pas a lire un fichier texte dans mes ressources

    voila mon code
    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Try
    Dim monStreamReader As New StreamReader(My.Resources.ac) 
    Dim ligne As String 
    Do
    ligne = monStreamReader.ReadLine
    msgbox(ligne)
    Loop Until i = 3
    monStreamReader.Close()
    Catch ex As Exception
    MsgBox("Une erreur est survenue au cours de l'accès en lecture du fichier ac")
    End Try

    et voila l'erreur
    empty path name is not legal

  2. #2
    Membre éclairé Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Points : 801
    Points
    801
    Par défaut
    Salut,

    Le message d'erreur est assez explicite..
    empty path name is not legal = nom de chemin vide n'est pas légal

    C'est quoi My.Resources.ac? Un fichier? Un chemin vers un fichier? Un texte?
    J’ai des questions à toutes vos réponses!

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 150
    Points : 67
    Points
    67
    Par défaut
    c'est le chemin du fichier ac.txt qui se trouve dans les ressources du projet

  4. #4
    Membre éclairé Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Points : 801
    Points
    801
    Par défaut
    Si c'est le fichier que tu as placé dans les ressources de ton projet, My.Resources.ac sera égal au contenu de ton fichier, donc pas besoin de StreamReader pour l'avoir.
    Si c'est une chaîne de caractère qui contient le chemin vers ce fichier, c'est qu'il doit être invalide (chaîne vide)..

    Pour vérifier, fais un MsgBox(My.Resources.ac) pour connaître sa valeur exacte.
    J’ai des questions à toutes vos réponses!

  5. #5
    Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 150
    Points : 67
    Points
    67
    Par défaut
    comment alors je peux lire ligne par ligne et ecrire des ligne

  6. #6
    Membre éclairé Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Points : 801
    Points
    801
    Par défaut
    Pour récupérer les lignes, essaie comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim texte As String = My.Resources.ac
    Dim lignes As String() = texte.Split(VbCrLf)
    Apparemment le fichier est en lecture seule..

    Si tu veux pouvoir modifier ton fichier, je pense que le mieux est de garder seulement le chemin du fichier dans My.Resources ou My.Settings et d'utiliser un StreamReader pour le lire (comme tu le fais dans ton code) et un StreamWriter pour écrire.
    J’ai des questions à toutes vos réponses!

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    665
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 665
    Points : 1 161
    Points
    1 161
    Par défaut
    Bonsoir,
    comme le dit -N4w4k-, My.Resources.ac récupère le contenu de ton fichier et non pas le chemin menant à ton fichier.
    StreamReader attend le Chemin d'accès au fichier à lire et tu lui passe son contenu.
    Si tu ne veux rien changer à ton application, tu peux utiliser StringReader :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                Dim resource As String
                resource = My.Resources.ac
     
                Dim monStringReader As New StringReader(resource)
    Pour commencer, teste avec un point d'arrêt sur la troisième ligne, afin de voir si tu récupère bien quelque chose dans resource.

  8. #8
    Membre du Club
    Homme Profil pro
    Amateur vb.net
    Inscrit en
    Avril 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Amateur vb.net
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 99
    Points : 60
    Points
    60
    Par défaut
    Peut-être suis-je hors sujet mais il ne faudrait pas mettre .txt derrière ton fichier ac?

  9. #9
    Membre éclairé Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Points : 801
    Points
    801
    Par défaut
    Peut-être suis-je hors sujet mais il ne faudrait pas mettre .txt derrière ton fichier ac?
    Comme l'a dit chrismonoye, pour un StreamReader oui, mais avec le StringReader on met directement un texte.
    Donc apparemment comme My.Resources.ac renvoie le contenu du fichier, jalalnet peut juste remplacer le StreamReader par le StringReader dans son code et ça devrait marcher.
    J’ai des questions à toutes vos réponses!

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 01/07/2012, 12h50
  2. Réponses: 2
    Dernier message: 15/03/2011, 20h12
  3. Lire Fichier Texte Dans Une TextBox Par FTP
    Par pipoi26 dans le forum VB.NET
    Réponses: 5
    Dernier message: 16/02/2011, 18h21
  4. Lire un texte dans une ressource en dll
    Par fred78 dans le forum Langage
    Réponses: 2
    Dernier message: 03/11/2005, 18h08
  5. Réponses: 5
    Dernier message: 16/07/2005, 00h01

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