pactodev08
Messages postés7Date d'inscriptiondimanche 1 novembre 2009StatutMembreDernière intervention15 mars 2012
-
15 avril 2011 à 00:27
pactodev08
Messages postés7Date d'inscriptiondimanche 1 novembre 2009StatutMembreDernière intervention15 mars 2012
-
17 avril 2011 à 14:47
Bonjour,
je cherche une solution, pour découper un fichier texte de ce type de façon simple.
Puis ensuite sauvegarder ce qui ce trouve entre (exemple:"ams" et "***") en donnant pour extension à mon fichier sauvegarder le premier mot du bloc (donc ams) idem pour les autre bloc trouver.
ehjoe
Messages postés728Date d'inscriptionsamedi 4 avril 2009StatutMembreDernière intervention30 mars 20144 15 avril 2011 à 08:32
Bonjour,
Je ne sais pas en quel langage tu veux ça (je connais mal ce forum), si c'est du vb6 ou vbNet je peux ?
Tu ne dis pas non plus ce que tu sais faire, faut-il simplement te montrer comment découper la chaîne, tu sauras faire les fichiers, ou tout te faire (ce qui n'est pas un problème) ?
Calade
Messages postés1207Date d'inscriptiondimanche 20 avril 2003StatutMembreDernière intervention 4 juin 201610 16 avril 2011 à 17:43
Le but du jeu étant de développer, tu commences par écrire ton code, à le tester, à regarder éventuellement pourquoi il ne marche pas et si tu ne trouves pas, alors là, mais là seulement tu viens nous trouver.
ehjoe
Messages postés728Date d'inscriptionsamedi 4 avril 2009StatutMembreDernière intervention30 mars 20144 16 avril 2011 à 17:13
Bonjour,
Ah tu ne connais pas du tout, mais alors c'est trop compliqué, y a un paquet de boulot dans ce que tu veux faire, au moins 30 minutes de code, et si tu ne connais absolument pas tu ne va pas comprendre, faudrait déjà commentcer par apprendre la manipulation des fichiers.
Découper un fichier texte, il existe ou pas, on ne sait pas.
Tester sa présence, ou le créer et le charger
Le lire, le découpe
Créer d'autres fichier avec certains datas du premier, c'est pas difficile mais y a du boulot là !
Je te ferais ça quand j'aurais un trou (temporel)
Ton fichier : il existe ou pas, et il contient quoi ?
pactodev08
Messages postés7Date d'inscriptiondimanche 1 novembre 2009StatutMembreDernière intervention15 mars 2012 16 avril 2011 à 17:42
bonjour,
Mon fichier existe car il peut être de différente taille.
Ce sont des fichiers de commandes clients.
Selon les articles il arrive dans des ordres différent.
Il me faut absolument les séparés.
Encore une petite chose si mon fichier contient plusieurs fois (DRS)il me faut récupéré l'ensemble dans le même fichier
Donc sauvegarder un fichier: toto.drs avec ce contenu. etc...
ehjoe
Messages postés728Date d'inscriptionsamedi 4 avril 2009StatutMembreDernière intervention30 mars 20144 17 avril 2011 à 06:59
Bonjour,
Voici le code testé :
' coupeFichier
Option Explicit On
Public Class Form1
'
' OBJETS A METTRE =
' form1 + button1 + listbox1 + textbox1
' Mettre le nom du fichier d'origine dans le TextBox1
'
Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ListBox1.Sorted = False
ListBox1.Items.Clear()
Try ' ouvre fichier
Dim p As New System.IO.StreamReader(CStr(My.Application.Info.DirectoryPath & "" & TextBox1.Text))
While p.Peek() >= 0 ' lecture
ListBox1.Items.Add(Trim(p.ReadLine()))
End While
p.Close()
Catch ex As Exception
Dim a As String
a = "Fichier introuvable : " & TextBox1.Text & vbLf & vbLf
a = a & "Le fichier doit se trouver dans le répertoire bin\debug\ de votre application" & vbLf & vbLf
a = a & "Remédier, saisir le bon nom dans le textbox avant de valider" & vbLf
MsgBox(a, vbExclamation)
TextBox1.Focus()
Exit Sub
If ListBox1.Items.Count < 2 Then
MsgBox("Fichier vide " & vbLf, vbExclamation)
TextBox1.Focus()
Exit Sub
End If
End Try
End Sub
Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Integer
Dim j As Integer ' création des fichiers
For i = 0 To ListBox1.Items.Count - 1 ' fichier sauf nom "DRS"
Select Case ListBox1.Items(i)
Case Is <> "DRS"
Dim p As New System.IO.StreamWriter(CStr(My.Application.Info.DirectoryPath & "" & ListBox1.Items(i) & ".txt"))
For j = i + 1 To ListBox1.Items.Count - 1
p.WriteLine(ListBox1.Items(j))
If ListBox1.Items(j) = "***" Then
p.Close()
i = j
Exit For
End If
Next j
Case Is = "DRS"
For j = i + 1 To ListBox1.Items.Count - 1
If ListBox1.Items(j) = "***" Then
i = j
Exit For
End If
Next j
End Select
Next i
' fichier seulement de nom "DRS"
Dim q As New System.IO.StreamWriter(CStr(My.Application.Info.DirectoryPath & "\DRS.txt"))
Dim ecrit As Boolean = False
For i = 0 To ListBox1.Items.Count - 1
If ListBox1.Items(i) "DRS" Then ecrit True
If ecrit = True Then q.WriteLine(ListBox1.Items(i))
If ListBox1.Items(i) "***" Then ecrit False
Next i
q.Close()
Dim lgr As Integer = FileLen(My.Application.Info.DirectoryPath & "\DRS.txt")
If lgr < 7 Then Kill(My.Application.Info.DirectoryPath & "\DRS.txt")
MsgBox("Créations de fichiers terminée " & vbLf, vbExclamation)
End
End Sub
End Class