Gestion de fichiers texte

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 726 fois - Téléchargée 35 fois

Contenu du snippet

C'est une classe à inclure dans vos sources pour gerer l'ouverture et la lecture
de texte dans un fichier texte.

Source / Exemple :


Option Explicit

Private m_sFile As String
Private m_iFileNumber As Integer

Public Property Get FileName() As String
   FileName = Right(m_sFile, Len(m_sFile) - InStrRev(m_sFile, "\"))
End Property

Public Property Let File(ByVal sFile As String)
   m_sFile = sFile
End Property

Public Property Get Path() As String
   Path = Left(m_sFile, InStrRev(m_sFile, "\"))
End Property

Public Property Get FileNumber() As Integer
   FileNumber = m_iFileNumber
End Property

Public Property Get FileExtension() As String
   FileExtension = Right(FileName(), 3)
End Property

Public Function OpenFile()
   If m_iFileNumber = 0 And m_sFile <> "" Then
      m_iFileNumber = FreeFile()
      Open m_sFile For Input As m_iFileNumber
      OpenFile = m_iFileNumber
   End If
End Function

Public Function CloseFile()
   Close m_iFileNumber
   m_iFileNumber = 0
End Function

Public Function ReadFile() As Variant

   If Not EOF(m_iFileNumber) Then
      Input #m_iFileNumber, ReadFile
   Else
      ReadFile = "EOF"
   End If
End Function

Private Sub Class_Initialize()
   m_iFileNumber = 0
   m_sFile = ""
End Sub

Private Sub Class_Terminate()
   If m_iFileNumber > 0 Then
      CloseFile
   End If
End Sub

Conclusion :


Ce n'est pas commenté mais les nom sont assez explicites.
Pour l'instant il ne gere qu'un fichier à la fois mais je compte l'ameliorer pour pouvoir en ouvrir plusieurs et pour gerer plus que du texte.

A voir également

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.