viclaudel
Messages postés13Date d'inscriptiondimanche 15 mars 2009StatutMembreDernière intervention19 mars 2009
-
6 mars 2009 à 22:08
viclaudel
Messages postés13Date d'inscriptiondimanche 15 mars 2009StatutMembreDernière intervention19 mars 2009
-
11 mars 2009 à 07:59
Bonjour, je suis débutant en VB et je dois faire un programme pour aller ouvrir un fichier Data ou Txt, y copier le contenue, faire le trie, et mettre les données trier dans un nouveau fichier txt.
Voilà un exemple des fichier que je devrai traiter :
[HEADER]
DATE = date #2009-03-04
STANDARD = 'PLCopen v0.1 1993'
SENDER = 'Schneider Electric Industries SAS PL7 PRO V4.5'
[APPLICATION]
NAME = 'STATION'
DATE = date #2009-02-26
VERSION = '0'
[DATA_UNIT]DA_TYPE LOCATION NAME BODY VAR_GLOBAL
AT %MW1000 : WORD := (385);
AT %MW1001 : WORD := (385);
AT %MW1002 : WORD := (385);
AT %MW1003 : WORD := (385);
AT %MW1004 : WORD := (385);
AT %MW1005 : WORD := (385);
AT %MW1006 : WORD := (384);
AT %MW1007 : WORD := (384);
...........
Je vais devoir garder que les éléments entre parenthèses. Je vais devoir récupérer les 1000 premiers éléments et en faire une colonne dans le nouveau dossier, ainsi de suite 5 fois.
Ca doit ressembler à ça dans le nouveau document texte :
troxsa
Messages postés553Date d'inscriptionjeudi 28 novembre 2002StatutMembreDernière intervention 2 octobre 20161 6 mars 2009 à 22:42
Bonjour,
Récupéré les 1000 premier c'est facile avec une petit boucle For :)
récupérer les valeurs dans un type de fichier c'est aussi facile avec Streamreader
Voici un petit exemple sur le comment faire (fais en 5 minutes)
_________________________________________________
'
' Ouverture du fichier pour le lire
'
Dim o As New StreamReader("Monfichier.txt")
Dim t As New ArrayList
'
' Lecture du fichier ligne par ligne pour récuperer les bonnes données
'
Do Until o.Peek = -1
Dim v As String = o.ReadLine
'
' Je recherche tout ce qui a AT et qui a un point virgule
If v.IndexOf("AT") >= 0 And v.IndexOf(";") >= 0 Then
'
' Récupération de la valeur
'
'AT %MW1000 : WORD := (385);
v = v.Remove(0, v.IndexOf(":=") + 4).Replace(");", "")
t.Add(v)
t.Sort() ' Triage
If t.Count = 999 Then
MsgBox("Arriver a 1000")
Exit Do
End If
End If
Loop
________________________________________________________
Maintenant il existe beaucoup d'autre méthode sur le comment faire notamment avec Regex, avec Dictionary, ICollection, ext ext .... c'est comme on veux ....
troxsa
Messages postés553Date d'inscriptionjeudi 28 novembre 2002StatutMembreDernière intervention 2 octobre 20161 10 mars 2009 à 23:48
Bonjour,
Je connais pas vb6 dsl
mais ce que tu peux faire c'est copier tes fichier directement dans Excel les convertir pour ne garder que la valeur voulu et de faire le triage qui est avec Excel un jeux d'enfant
viclaudel
Messages postés13Date d'inscriptiondimanche 15 mars 2009StatutMembreDernière intervention19 mars 2009 10 mars 2009 à 22:25
J'ai essayé tout programme mais comme je débutant je n'avais pas compris qu'il exsite plusieurs version VB
Moi je dois travailler en VB6; avec une form et un bouton qui va commander mon application.
Bon j'avance tout doux, j'arrive à lire mon fichier, à creer un nouveau fichier, je commence le trie. Mais il me reste à prendre mes valeurs trié et les mettre dans mon nouveau fichier à la forme voulue.