lmb19
Messages postés22Date d'inscriptionlundi 21 novembre 2005StatutMembreDernière intervention18 mai 2013
-
18 mars 2007 à 20:20
amydo
Messages postés5Date d'inscriptionvendredi 29 février 2008StatutMembreDernière intervention22 août 2008
-
3 juil. 2008 à 10:53
Bonjour,
Je desire lire les données d'un fichier au format csv
Paul;bleu;33;280
Jean;rouge;24;170
etc..
j'utilise actuellement le code ci-dessous :
Private Sub Command1_Click()
'on lui applique l'objet File
Set File1 = CreateObject("FileCtl.File")
Call File1.Close
'definition du chemin
chemin = "Temp"
'chemin = App.Path
'on ouvre le fichier en mode lecture
Call File1.Open(chemin & "data.csv", fsModeInput, fsAccessRead, fsLockReadWrite)
'Tant que la fin du fichier n'est pas atteinte
Do While Not File1.EOF
'on remplit la variable avec la valeur trouvé dans la ligne actuelle du fichier
wLigne1 = File1.Get
'puis dans le combo1
Combo1.AddItem (wLigne1)
Loop
Call File1.Close
End Sub
Mon souci est qu'il m'affiche les données par ligne, je voudrais pour chaque ligne extraire les données separées par le ; (point-virgule)
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutMembreDernière intervention15 décembre 201821 19 mars 2007 à 08:07
Forcément si tu poses ta question dans la catégorie vb.net / base de données....
Sous eMbedded VB3.0 je ne sais pas si la fonction Split() existe mais voici un exemple pour splitter une ligne avec ; comme séprateur
dim selement() as string
selement=split(Wligne1,";")
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutMembreDernière intervention15 décembre 201821 18 mars 2007 à 22:31
Bonsoir,
Dans ton itération tu fais ton découpage après avoir récupérer ta ligne dans WLigne1:
Dim sElement as string()=WLigne1.Split(";".ToCharArray())
Au passage pour manipuler les fichiers utilise les classes StreamReader/StreamWriter et pour les fichiers contenu binaire les classes BinaryReader/BinaryWriter.
Si tu es en vb2005 tu peux regarder dans l'espace de noms My (My.Computer.FileSystems.xxxxx) il y a tout ce qu'il faut.