cs_oligator
Messages postés3Date d'inscriptionmercredi 10 septembre 2003StatutMembreDernière intervention18 octobre 2003
-
10 sept. 2003 à 17:25
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 2013
-
10 sept. 2003 à 23:59
Ma question est simple.
J'ai un fichier texte qui comprend des coordonnées
EX: 250 50
150 30
30 60
Une fois le fichier ouvert je veux pouvoir lire les données ligne par ligne et je veux stocker ces coordonnées dans un tableau dynamique a deux dimensions.
Je ne sais pas comment faire pour placer le premier nombre d'une ligne dans le tableau (ex: T(1, 1) 250 et ensuite lire le deuxieme nombre de la ligne et le stocker ailleurs dans le tableau (ex : T(1, 2) 50).
trigoutte
Messages postés4Date d'inscriptionmercredi 10 septembre 2003StatutMembreDernière intervention29 septembre 20032 10 sept. 2003 à 18:21
Open "nom_de_fichier" For Input As 1 'ouverture du fichier
i=0
Do While Not EOF(1) ' Vérifie si la fin du fichier est atteinte.
Line Input #1, a,b ' Lit les lignes de données.
tab(i,1)=a
tab(1,2)=b
i=i+1
Loop
close #1
S2R
Messages postés25Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention17 novembre 2004 10 sept. 2003 à 18:39
je pense pas que ce soit le plus efficace, mais ça peut aider...
le tableau s'appelle T, le fichier est c:\données.txt
(j'ai vb5 mais je pense que ça marche avec les autres)
Dim tmp As String, i As Integer, nombre As String
Dim x As Integer, y As Integer
x = 1
y = 1
Open "c:\données.txt" For Input As #1
Do
Input #1, tmp
i = 1
Do
If Mid(tmp, i, 1) = " " Then
t(x, y) = CInt(nombre)
x = x + 1
nombre = ""
Else
nombre = nombre & Mid(tmp, i, 1)
End If
i = i + 1
Loop While i <= Len(tmp)
t(x, y) = CInt(nombre)
nombre = ""
x = 1
y = y + 1
Loop Until EOF(1)
Close #1
l'idée c'est de prendre chaque ligne, et de copier les carractères tant qu'on a pas un espace, si on en a un, on met dans le tableau, puis on passe à l'élément suivant du tableau, ...
voilà, j'espère que ça t'aide....
(je l'ai essayé, ça fonctionne :-))
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 201311 10 sept. 2003 à 23:59
Bonsoir
Si tu es sûr que chaque ligne du fichier contient 2 nombres séparés par un(des) espace(s) ou une(des) tabulation(s) ou une virgule :
Dim Tableau() As Integer 'si ce sont des entiers
Dim i As Integer 'compteur
Open "C:\fichier.txt" For Input As #1
Do While Not EOF(1)
Input #1, a, b
i = i + 1
ReDim Preserve Tableau(1 To 2, 1 To i)Tableau(1, i) a: Tableau(2, i) b
Loop
Close 1
Le premier indice (1 To 2) est le numéro de colonne (car on ne peut pas le redimensionner) ; le second indice est le numéro de ligne