VB.Net Lire un fichier texte [Résolu]

Signaler
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
-
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
-
Salut à tous.... J'ai fais un Post à ce sujet mais j'ai changer de code et je crois avoir un problème a faire le le fichier texte avec l'émulateur...

J'ai trouvé un code pour ouvrir un fichier texte et le mettre dans un Listview.
Lorsque je démarre mon prog ca me dit toujous qu'il ne trouve pas le fichier texte.
J'ai copier mon fichier Texte dans mon répertoire de mon projet
...\Projects\DeviceApplication1\DeviceApplication1\Coord.txt
Bref c'est le répertoire ou j'ai les .vb, vbproj et vbproj.user etc...

Dans la fenêtre Solution Explorer j'ai fais clique droit sur le fichier texte -  Include form my Project
Et dans ses propriété j'ai mis Build Action Embedded Ressource
Et ca marche pas....
Je suis en compact Framework

Je vous annexe le code Si vous voyer l'erreur gênez-vous pas....
P.S. je peux toujours vous donner mon courriel si vous voulez voir mon prog.
Merci d'avance
<hr />Imports System.IO
Public

Class frmCalcul

Dim n, m, o, p, maxi, rep, iLeC
As
Integer
Dim newrub
As
Object
Dim t(2000, 5), tb(500), Lec(250)
As
String
Dim cb3, iTsEL, X
As
Boolean
Dim pointage
As
Boolean
Public AppPath
As
String = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.GetName.CodeBase)

<hr />

Private
Sub Button1_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button1.Click
pointage =

False
ReDim t(2000, 2)

Me.ComboBox1.Visible =
True
Me.ListView1.CheckBoxes =
False
Me.ListView1.Location =
New System.Drawing.Point(8, 40)

Me.ListView1.Size =
New System.Drawing.Size(220, 160)

Me.ComboBox1.Items.Add(
"...nouveau...")

Me.ListView1.Visible =
True

Dim sr1
As StreamReader =
New StreamReader(AppPath &
"\coord.txt" )
Dim art
As
String
Dim p1, p2
As
Integern = 0
p1 = 0

Do
   art = sr1.ReadLine()

   If art =
""
Then
      n = n - 1

   Else
      p2 = Len(art)

   For m = 1
To p2 - 1

      If Mid(art, m, 1) =
" "
Then p1 = m

   Next
      t(n, 0) = Mid(art, 1, p1 - 1)
      t(n, 1) = Mid(art, p1 + 1, p2 - p1)

      End
If
   n = n + 1

   Loop
Until art
Is
Nothing
sr1.Close()

Dim flag
As
Boolean

For m = 0
To n - 1
art = t(m, 0)
flag =
False
For o = 0
To m - 1

If art = t(o, 0)
Then flag =
True
Next
If flag =
False
Then
Me.ComboBox1.Items.Add(art)

Next m
maxi = n - 1

Me.ListView1.Items.Clear()

End
Sub
End

Class

12 réponses

Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
3
Je crois avoir trouvé le bug...
L'erreur était un Code 18
Donc le prob venait à 18 Pouce de l'écran.. = moi...

Première chose je devais enregistrer mon fichier texte
(cliqué sur mon fichier texte Bouton droit de la souris et enregistrer)

Deuxièmement
Propriété du fichier texte - Build Action à Content

Et maintenant le fichier texte est sur mon émulateur...

merci de votre aide.
Messages postés
219
Date d'inscription
mercredi 31 août 2005
Statut
Membre
Dernière intervention
28 novembre 2008
1
je ne suis plus très vb.
mais essaye ca
AppPath &
@"\coord.txt"
ou
AppPath &
"\\coord.txt"

le \ est un caractère d'échapement!!!
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
3
Ca marche pas :(....
ca me sort toujours ces message lors de l'éxécution
A first chance exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.dll
A first chance exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.dll
A first chance exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.dll
A first chance exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.dll
A first chance exception of type 'System.UnauthorizedAccessException' occurred in mscorlib.dll
A first chance exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.dll
A first chance exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.dll

Bien essayé héhéhéhé

Merci quand même
Messages postés
219
Date d'inscription
mercredi 31 août 2005
Statut
Membre
Dernière intervention
28 novembre 2008
1
Verifie quand même que le fichier c'est bien déployé. Parce que je viens de tester et j'ai pas de problème.
Messages postés
65
Date d'inscription
mercredi 18 avril 2007
Statut
Membre
Dernière intervention
12 juin 2008
1
Met toi en mode debug et regarde la valeur de AppPath &
"\coord.txt"
ensuite tu vérifie que le fichier ce trouve ou il faut si tu utilise l'émulateur tu n'a peut être pas placé le fichier au bonne endroit...

P0lO
Messages postés
65
Date d'inscription
mercredi 18 avril 2007
Statut
Membre
Dernière intervention
12 juin 2008
1
sinon en lisant ton post je vien de penser à un truc ta bien toujours copier ou copier si plus récent dans les propriétés du fichier à déployer?mettre en ressource contenue ne suffit pas à lui tout seul si dans la propriété copier dans le répertoire tu as mis ne pas copier...

P0lO
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
3
Salut...

Primo: Et bien si je me met en mode Debug... le prog arrete à ma ligne Dim sr1 As StreamReader = New StreamReader(AppPath & "\coord.txt")
Donc impossible de voir
la valeur de AppPath &
"\coord.txt"

Secondo:J'ai
essayé de mettre à Copy Outpu
Directory  au trois possibilité (Do not Copy - Copy always et Copy if newer) et ca change rien...)

Tersio: Ca marche pas et je capote... J'y suis presque.... Si quelqu'un voit pourquoi ca fonctionne pas...

P.S. je peux toujours t'envoyer mon projet et tu pourras peut-être miuex voir d'où vient le problème...

Merci de ton aide
Messages postés
219
Date d'inscription
mercredi 31 août 2005
Statut
Membre
Dernière intervention
28 novembre 2008
1
Pour commencer pour eviter ce genre de problème personnelement je ferais ainsi
 
Dim s As String = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.GetName.CodeBase)
Dim f As New System.IO.FileInfo(s + "\\Ftexte.txt")

        If (!f.Exists) Then
           //erreur
          //Return
        End If
Dim str As New IO.StreamReader(f.FullName)
...
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
3
Re alors j'ai suivi ton code et ca bug sur cette ligne
Dim

sr1
As
New IO.StreamReader(f.FullName)

J'ai toujours aucune idée pourquoi j'ai un message d'erreur

L'erreur me dit... FileNotFoundException was unhandled

merci de ton aide
Messages postés
219
Date d'inscription
mercredi 31 août 2005
Statut
Membre
Dernière intervention
28 novembre 2008
1
En fait tout est dans le message d'erreur - ton fichier n'a pas été trouvé.
Donc soit ton problème viens de la chaîne qui représente le chemin de ton fichier.
Soit ton fichier n'est pas présent sur l'émulateur.

Le second point est facile à vérifier car en naviguant sur l'émulateur, dans le répertoir programesFile/NomdetonProjet tu veras
les .dll le .exe et normalement si le déploiement c'est bien déroulé, ton fichier.
Messages postés
219
Date d'inscription
mercredi 31 août 2005
Statut
Membre
Dernière intervention
28 novembre 2008
1



Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
3
et bien l'erreur que ca me donne, ca me dit que Could not find "\Program Files\DeviceApplication1\Coord.txt

Donc si je vais sur l'Émulateur je voit effectivement pas mon fichier texte dans
"\Program Files\DeviceApplication1\Coord.txt
 Je comprend que l'émulateur ne mets pas mon fichier text sur l'émulateur   mais Pourquoi ???????????

Je peux te sender mon appli... j'ai pratiquement juste ca de code pour l'instant.... 

Merci de ton aide