Pour les stars du Textstream et du FileSystemObject uniquement !!!

cs_kuss Messages postés 30 Date d'inscription mardi 5 août 2003 Statut Membre Dernière intervention 2 août 2007 - 1 oct. 2003 à 11:17
tresorsdevie Messages postés 135 Date d'inscription lundi 17 juin 2002 Statut Membre Dernière intervention 20 juillet 2013 - 1 oct. 2003 à 14:56
J'ai trouvé une partie de code sur VBfrance qui me permet d'ouvrir un texte et de le mettre dans un buffer.
Mais apres je voudrais pouvoir le lire ligne par ligne car j'ai des info a aller rechercher...
Le probléme est que le fichier existe et il est rempli mais que la valeur de "TStreamText.AtEndOfLine " est toujour a true ...
et que je ne peut donc pas exploité mon buffer

Mon but final est d'exploiter un fichier TXT comme une base de donnée afin de le rendre indépendant de tout systeme de base de données...
Mais je ne suis pas sur que le textstream soit une bonne solution ?

Dim Chemin As String, Fichier As String, strTmp As String
Chemin = "C:\EAViewerImg\frame\DBParamVisio"
Fichier = "param.txt"
Dim VarBuffer As String
' Création de l'objet FSO
Dim ObjetText As New FileSystemObject
' Variable type fichier
Dim Fil As File
' Variable TextStream du FSO
Dim TStreamText As TextStream
Set ObjetText = CreateObject("Scripting.FileSystemObject")
ObjetText.OpenTextFile (Chemin + Fichier)
Set Fil = ObjetText.GetFile(Chemin + Fichier)
Set TStreamText = Fil.OpenAsTextStream(ForReading)
' Copie la totalité du fichier dans un string (retour chariot et saut de ligne compris)
VarBuffer = TStreamText.ReadAll

Do While TStreamText.AtEndOfLine <> True
retstring = TStreamText.Read(1)

Loop
TStreamText.Close

' Ferme le fichier
TStreamText.Close

Kuss

1 réponse

tresorsdevie Messages postés 135 Date d'inscription lundi 17 juin 2002 Statut Membre Dernière intervention 20 juillet 2013
1 oct. 2003 à 14:56
salut, voici l'adresse de la source et de l'article
http://membres.lycos.fr/betatestvb/modules.php?name=News&file=article&sid=6

'exemple tiré de la source pour lire un fichier txt ligne a ligne

'lecture du flux
Dim Monflux As Stream
Monflux = File.OpenRead(TcheminFichier.Text)

'lecture ligne à ligne
Dim Maligne As StreamReader = New StreamReader(Monflux, System.Text.Encoding.ASCII)
Maligne.BaseStream.Seek(0, SeekOrigin.Begin)
'.peek defini le caractere suivant, si =-1 c'est qu'il n'y a plus de caractere
'donc la fin du fichier est atteinte
While Maligne.Peek() > -1
Dim rep As String = Maligne.Peek
TResFichier.Text = TResFichier.Text + Maligne.ReadLine() + vbNewLine
End While
Maligne.Close()

'affiche les infos du fichier
infoFichier(TcheminFichier.Text)

a+, chris

La nature, un atout pour la vie
http://tresorsdevie.free.fr

Programmation VB.NET
http://membres.lycos.fr/betatestvb
0
Rejoignez-nous