Lire un fichier texte contenant des coordonnées ( numPoint X Y )

anispirine Messages postés 9 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 25 novembre 2005 - 22 sept. 2005 à 03:29
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 22 sept. 2005 à 20:55
je suis entrain de programmer avec VB .NET

je dois lire un fichier texte(.txt) qui contient les coordonnées de points ainsi que leurs numéros.

structure du fichier : (coor.txt)



numPoint
X
Y



1
32

3.6

2
2.5

6.3

3
2.2

5.7

4
22

13



le nombre de points varie selon le fichier



aidez moi s'il vous plait

anispirine@hotmail.com

6 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
22 sept. 2005 à 08:33
Salut

Il le fichier ligne par ligne
AVec la methode readline.

Et ensuite un split sur la ligne avec ton seprateur pour remplir un tableau.

Normalement

dim s as string = file.readline()

Dim s2 as string() = s.split(" ")c

Il y a peut etre besoin d'un trim pour enlever les espaces.

La class point existe peut etre mais sinon tu
en creer une ou ou une structure

point.x = integer.parse(s2(0))
point.y ....

Et apres du stock dans une arraylist les points

Voila
0
anispirine Messages postés 9 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 25 novembre 2005
22 sept. 2005 à 14:58
ouiiii merciiiiii ca m'aide un peu
voila
jai tapé le code suivant mais il me lit juste la première ligne, et
puis j'aimerai bien stocker toutes mes coordonnées dans un tableau du
genre coor(i,1), et puis il faut kils soient double et pas string



Dim file As New System.IO.StreamReader("c:\coordo.txt")

Dim s1 As String

Dim s2 As String()

s1 = file.ReadLine()

s2 = s1.Split(" ")



file.Close()
0
anispirine Messages postés 9 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 25 novembre 2005
22 sept. 2005 à 15:06
ahhhh jai réussi a le faire
mais j'ai toujours le problème du double Vs string je veux que mes
coordonnées aient des valeurs double



mon dernier code:



Dim file As New System.IO.StreamReader("c:\coordo.txt")



Dim s1 As String

Dim s2 As String()



s1 = file.ReadToEnd()

s2 = s1.Split(" ")



file.Close()
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
22 sept. 2005 à 19:25
Dim d as double

d = double.parse(s2(0))

Devrait fonctionner
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
anispirine Messages postés 9 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 25 novembre 2005
22 sept. 2005 à 19:32
euhhh en fait je viens de m'apercevoir dune autre erreur

kan jexecute il me met dans la variable s2 les chiffre :

s2(0) = 32

s2(1)=3.62.5

s=(2) =6.32.2 bon tu imagines la suite

en fait le split prend en compte les espaces mais ne prend pas en
compte les retours en ligne. comment pourrai-je régler ce problème??

merciiiiiiiii
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
22 sept. 2005 à 20:55
La reponse est dans le premier post
pour lire ton fichier utilises dim s as string = file.readline()
Tu n'as pas fais gaffe ;-)


Sub UploadFile_Clicked(Sender as Object, e as EventArgs)

Dim str As Stream



str = loFile.PostedFile.InputStream()

Dim sr As StreamReader = New StreamReader(str)



Dim tokens as String() = Nothing

Dim line, token, t as String



Dim i as integer

for i = 1 to 6

line = sr.ReadLine()

next i

response.write("\")

do

line = sr.ReadLine()

response.write(\"----
\")

tokens = line.Split(ControlChars.Tab)

for each token in tokens

response.write(\""+token+", \")

next

response.write(\"\")

response.write(line.tostring())

loop until line is nothing

response.write("
")



sr.close()



End sub

Voila, un code pompé sur internet
Je te laisse faire le menage dedans ;-)

Bonne programmation
0
Rejoignez-nous