begin process at 2010 02 10 16:10:26
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > LECTURE FICHIER TEXTE AVEC OBJET FSO (FILE SYSTEM OBJECT)

LECTURE FICHIER TEXTE AVEC OBJET FSO (FILE SYSTEM OBJECT)


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fichier / Disque Niveau :Initié Date de création :30/05/2003 Date de mise à jour :30/05/2003 11:23:37 Vu :5 722

Auteur : Fredoun

Ecrire un message privé
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

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

  • 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
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!


 Sources du même auteur

SUPPRESSION DE TEXTE DANS UN FICHIER TEXTE AVEC FSO

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) GESTION DE PARC AUTOMOBILE AVEC SÉRIALISATION par guyr07
Source avec Zip Source avec une capture Source .NET (Dotnet) FICHIERS_CACHÉS_LECTURE_SEULE par Le Pivert
Source avec Zip Source avec une capture CHANGEUR D'ICONES par djgab21
Source .NET (Dotnet) DIRECTDISKACCESS par XelectroX
Source avec Zip Source avec une capture UTILITAIRE WAV, MID ET MP3 par SnkVrt

Commentaires et avis

Commentaire de stevebelgium le 30/05/2003 12:13:49

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

Commentaire de stevebelgium le 30/05/2003 12:15:55

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

Commentaire de Cameleon le 30/05/2003 13:17:16

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

Commentaire de musicmandj5 le 19/04/2004 09:44:42

salut je voulais juste savoir si tu savais pourquoi le fso ne marche pas sous win 95????

Commentaire de EvilGost le 23/01/2006 13:23:27

peut-etre que la dll n'est pas présente sous Win95...

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 13,790 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales