Page 1 sur 1

Lecture et Création d'un fichier texte

MessagePublié: 08 Juil 2005 à 14:19
par Michael DELIQUE
2 fonctions pour récupérer le contenu, d'un fichier texte et générer un fichier texte

Code : Tout sélectionner
Function FileCreate(Byval wPathFile As String, wlstData List As String,Byval wInsert As String) As Integer
   
   'wPathFile =  chemin et niom du fichier a créer
   'wlstData ,= variable de type liste, uneligne de la variable = une ligne du fichier
   'wInsert  = type d'insertion : avec ou sans les guillemets
   
   
   'DéclarationVariable
   Dim nbfileNum As Long
   
   On Error Goto ErreurFileCreate
   
   If Trim(wPathFile) = "" Then
      Error 9999,"wPathFile vide"
      FileCreate = False
      Exit Function
   End If
   
      'Créé et ouvre le fichier texte
   nbfileNum = Freefile()
   Open wPathFile For Output As nbfileNum
   If nbfileNum=0 Then
      Msgbox "Impossible de créer le fichier : "+Chr(10)+Chr(10)+wPathFile,16,"ERREUR !"
      FileCreate = False
      Exit Function
   End If
   
   Select Case Ucase(Trim(wInsert))
   Case "W","WRITE"
      If Isempty(wlstData) Then
         Write # nbfileNum, ""
      Else
         Forall value In wlstData
            Write # nbfileNum, Cstr(value)
         End Forall
      End If
   Case "P","PRINT"
      If Isempty(wlstData) Then
         Print # nbfileNum, ""
      Else
         Forall value In wlstData
            Print # nbfileNum, Cstr(value)
         End Forall
      End If
   Case Else
      If Isempty(wlstData) Then
         Write # nbfileNum, ""
      Else
         Forall value In wlstData
            Write # nbfileNum, Cstr(value)
         End Forall
      End If
   End Select
   
   Close nbfileNum
   
   FileCreate = True
   nbfileNum = 0
   Exit Function
ErreurFileCreate:
   Msgbox "(FileCreate) Erreur " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
   Close nbfileNum
   nbfileNum = 0
   FileCreate = False
   Exit Function   
End Function



Code : Tout sélectionner
Function FileReade(wPathFile As String) As Variant
   
   'Récupere le contenu d'un fichier texte
   'une lecture par ligne de fichier et le renvois dans une variable liste
   
   'Déclaration Variable
   Dim lstValue List As String
   Dim nbfileNum As Long
   Dim i As Long
   Dim FileData As String
   
   On Error Goto ErreurFileReade
   
   If Trim(wPathFile) = "" Then
      Error 9999,"wPathFile vide"
      Set FileReade = Nothing
      Exit Function
   End If
   
   nbfileNum = Freefile()
   Open wPathFile For Input Access Read As  nbfileNum
   If nbfileNum=0 Then
      Msgbox "Impossible de créer le fichier : "+Chr(10)+Chr(10)+wPathFile,16,"ERREUR !"
      Set FileReade = Nothing
      Exit Function
   End If
   
   i=0
   FileData = ""
   
   While Not Eof(nbfileNum)
      i=i+1
      Line Input #nbfileNum, FileData
      lstValue(i) = FileData
      FileData = ""
   Wend
   
   Close nbfileNum
   If i = 0 Then
      Set FileReade = Nothing
   Else
      FileReade = lstValue
   End If
   
   nbfileNum = 0
   i = 0
   Erase lstValue
   Exit Function
ErreurFileReade:
   Msgbox "(FileReade) Erreur " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
   Close nbfileNum
   nbfileNum = 0
   i = 0
   Erase lstValue
   Set FileReade = Nothing
   Exit Function   
End Function