begin process at 2012 02 13 15:19:01
  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 :6 186

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) MODIFIER LES EXTENSION DES FICHIERS par okosa
ROUTINE DIR RÉCURSIVE POUR OBTENIR LA LISTE DE TOUS LES FICH... par kerisolde
Source avec Zip Source avec une capture FILE,SECURITY,FICHIER par okosa
Source avec Zip Source avec une capture Source .NET (Dotnet) PATCHEUR DE FICHIER par tototh
Source avec Zip Source avec une capture LECTURE DES INFORMATIONS DES DISQUES COMPOSANT UN ENSEMBLE R... par jack

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 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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 : 1,685 sec (3)

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