Lecture fichier texte avec objet fso (file system object)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 596 fois - Téléchargée 37 fois

Contenu du snippet

Il y a une méthode simple pour ouvrir des fichiers textes, faire une boucle de lecture ligne par ligne pour mettre la totalité du fichier dans un STRING. L'inconvénient c'est la lecture de fichier très long, + de 100Ko, la routine occupe le système tant que la boucle n'est pas terminée.
Le code suivant utilise le File System Object, facilitant l'accès au système de fichier (Disque, répertoire, fichier...) accessible avec la référence Microsoft Scripting Runtime (SCRRUN.DLL).

Source / Exemple :


Dim FileBuffer1 As String

Function ReadTxT(Chemin As String, Fichier As String)
    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
'   Ferme le fichier
    TStreamText.Close
'   Efface la valeur précédente de la fonction ReadTxT
    ReadTxT = vbNullString
'   Renvoie le texte complet du fichier
    ReadTxT = VarBuffer
End Function

Private Sub Lecture
'   Utilisation de la fonction lecture
    FileBuffer1 = ReadTxT("C:\", "BootLog.txt")
End Sub

Conclusion :


Ce code est tiré d'un petit programme permettant la suppression d'une partie de fichier DXF.
Si la méthode de suppression vous intéresse, demandé le moi!

A voir également

Ajouter un commentaire

Commentaires

EvilGost
Messages postés
235
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
16 mai 2011
2 -
peut-etre que la dll n'est pas présente sous Win95...
musicmandj5
Messages postés
42
Date d'inscription
vendredi 9 avril 2004
Statut
Membre
Dernière intervention
17 février 2005
-
salut je voulais juste savoir si tu savais pourquoi le fso ne marche pas sous win 95????
cs_Cameleon
Messages postés
6
Date d'inscription
samedi 8 juillet 2000
Statut
Membre
Dernière intervention
8 juin 2003
-
bonjour
serait-il possible d'avoir également le code de suppression.
Tout cela serait bien si tu pouvais mettre un exemple zippé sur le site.
Merci
stevebelgium
Messages postés
180
Date d'inscription
lundi 17 mars 2003
Statut
Membre
Dernière intervention
7 juin 2003
-
Oeps :

Pour lire des fichiers sans boucles c'est encore plus facile comme ca :

Function ReadTxT(Chemin As String, Fichier As String) As String

Open Chemin & Fichier For Input As #1

ReadTxT = Input(LOF(1), #1)

Close #1

End Function

Private Sub Lecture()

Dim FileBuffer1 As String

FileBuffer1 = ReadTxT("C:", "BootLog.txt")

End Sub
stevebelgium
Messages postés
180
Date d'inscription
lundi 17 mars 2003
Statut
Membre
Dernière intervention
7 juin 2003
-
Pour lire des fichiers sans boucles c'est encore plus facile comme ca :

Function ReadTxT(Chemin As String, Fichier As String) As String

Open Chemin & Fichier For Input As #1

ReadTxT = Input(LOF(1), #1)

Close #1

End Function

Private Sub Lecture()

Dim FileBuffer1 As String

FileBuffer1 = ReadTxT("C:", "BootLog.txt")

End Sub

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.