[Lecture fichier] en VB
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Voici mon soucis:
J'aimerais lire un fichier texte et commencer la lecture de celui ci au moment ou une ligne comporte un "A" et pour chaque ligne récupérer dans un tableau les caractère se trouvant avant l'espace et après.
Voici un exemple de fichier à lire:
dans ce fichier j'aimerais récupérer dans un tableau :
122 et 64 puis 3 et 889
J'ai déjà fais un essai mais pas concluant:
Puis-je avoir de l'aide s'il vous plait ?
Voici mon soucis:
J'aimerais lire un fichier texte et commencer la lecture de celui ci au moment ou une ligne comporte un "A" et pour chaque ligne récupérer dans un tableau les caractère se trouvant avant l'espace et après.
Voici un exemple de fichier à lire:
date:.. auteur:kjdjh kks A122 64 A3 889
dans ce fichier j'aimerais récupérer dans un tableau :
122 et 64 puis 3 et 889
J'ai déjà fais un essai mais pas concluant:
Dim nombre As Integer Public Sub LireFichier() Form3.c.ShowOpen Form3.Text1.Text = Form3.c.FileName Dim i, nombre As Integer Dim texte() i = -1 Open Form3.c.FileName For Input As #1 While Not EOF(1) i = i + 1 ReDim Preserve texte(i) Line Input #1, texte(i) Wend Close #1 Dim j As Integer Dim premier, reponse 'For Each loic In texte() 'If InStr(loic, "M") Then 'texte().Remove loic 'End If 'Next 'Dim texte j = -1 While j <= 5 j = j + 1 premier = texte(j) reponse = InStr(1, premier, "A", vbTextCompare) If reponse = 1 Then j = j + 1 End If MsgBox premier Wend End Sub
Puis-je avoir de l'aide s'il vous plait ?
A voir également:
- [Lecture fichier] en VB
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
2 réponses
Bonjour,
voilà, j'ai déboggé votre code, j'ai bien sur, apporter des modifications
pour qu'il fasse bien ce qu'il doit faire, enfin je crois :-)
suggestions :
je vous recommande l'utilisaton du mot clé "FreeFile"
pour adresser vos fichiers, pour de gros fichiers, vous
pourrer lire et écrire sans confusion de numéro de fichier
dans la même boucle.
Pour adresser un tableau, utiliser le mot clé "Ubound",
très simple il renvoie toujours l'index du dernier élément.
Lupin
voilà, j'ai déboggé votre code, j'ai bien sur, apporter des modifications
pour qu'il fasse bien ce qu'il doit faire, enfin je crois :-)
Public Sub LireFichier()
Dim Nombre As Integer
Dim numFileIN As Long, numFileOUT As Long
Dim Texte() As String, i As Long
Dim TexteResultat() As String, k As Long
Dim j As Integer, Resultat As String
Dim Premier As String, Second As String
Dim Reponse As Long
numFileOUT = FreeFile
'Form3.c.ShowOpen
'Form3.Text1.Text = Form3.c.FileName
numFileIN = FreeFile
i = -1
Open "C:\MonFichier.txt" For Input As #numFileIN
While Not EOF(numFileIN)
i = i + 1
ReDim Preserve Texte(i)
Line Input #1, Texte(i)
Wend
Close numFileIN
'j = -1
k = 0
For j = 0 To UBound(Texte)
'While j <= 5
'j = j + 1
Premier = Texte(j)
Reponse = InStr(1, Premier, "A", vbBinaryCompare)
If (Reponse > 0) Then
k = (k + 1)
ReDim Preserve TexteResultat(k)
Resultat = Mid(Premier, (Reponse + 1))
TexteResultat(k - 1) = Resultat
End If
'Wend
Next j
Open "C:\Resultat.txt" For Output As #numFileOUT
For j = 0 To UBound(TexteResultat)
Premier = TexteResultat(j)
Reponse = InStr(1, Premier, " ", vbTextCompare)
If (Reponse > 0) Then
Resultat = Mid(Premier, 1, (Reponse - 1))
Write #numFileOUT, Resultat
Second = Second & vbLf & Resultat
Resultat = Mid(Premier, (Reponse + 1))
Write #numFileOUT, Resultat
Second = Second & vbLf & Resultat
End If
Next j
Close numFileOUT
MsgBox Second & vbLf & "Voir fichier Resultat.txt"
End Sub
'
suggestions :
je vous recommande l'utilisaton du mot clé "FreeFile"
pour adresser vos fichiers, pour de gros fichiers, vous
pourrer lire et écrire sans confusion de numéro de fichier
dans la même boucle.
Pour adresser un tableau, utiliser le mot clé "Ubound",
très simple il renvoie toujours l'index du dernier élément.
Lupin