Lire, copier et trier [Résolu]

viclaudel 13 Messages postés dimanche 15 mars 2009Date d'inscription 19 mars 2009 Dernière intervention - 6 mars 2009 à 22:08 - Dernière réponse : viclaudel 13 Messages postés dimanche 15 mars 2009Date d'inscription 19 mars 2009 Dernière intervention
- 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 :

UAlt, IAlt, %PID, UExit, IExit
385, 35, 56, 123, 15
385, 35, 55, 120, 16
..................

Si vous pouvez m'aider je vous remercie d'avance.
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
troxsa 553 Messages postés jeudi 28 novembre 2002Date d'inscription 2 octobre 2016 Dernière intervention - 6 mars 2009 à 22:42
3
Merci
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 ....

Merci troxsa 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 81 internautes ce mois-ci

Commenter la réponse de troxsa
Meilleure réponse
troxsa 553 Messages postés jeudi 28 novembre 2002Date d'inscription 2 octobre 2016 Dernière intervention - 7 mars 2009 à 14:40
3
Merci
Bonjour,

Si tu veux encore un petit coup de main je pourrais !

Bon courage :)

Cordialement,

Merci troxsa 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 81 internautes ce mois-ci

Commenter la réponse de troxsa
Meilleure réponse
troxsa 553 Messages postés jeudi 28 novembre 2002Date d'inscription 2 octobre 2016 Dernière intervention - 10 mars 2009 à 23:48
3
Merci
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

Cordialement,

Merci troxsa 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 81 internautes ce mois-ci

Commenter la réponse de troxsa
viclaudel 13 Messages postés dimanche 15 mars 2009Date d'inscription 19 mars 2009 Dernière intervention - 7 mars 2009 à 12:03
0
Merci
ok je te remercie de ton aide je vais travailler dessus demain.
Commenter la réponse de viclaudel
viclaudel 13 Messages postés dimanche 15 mars 2009Date d'inscription 19 mars 2009 Dernière intervention - 10 mars 2009 à 22:25
0
Merci
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.
Commenter la réponse de viclaudel
viclaudel 13 Messages postés dimanche 15 mars 2009Date d'inscription 19 mars 2009 Dernière intervention - 11 mars 2009 à 07:59
0
Merci
oui merci mais c'est pas ce que me demande. Des que j''ai fini si j'y arrive je mettrai le code.
Commenter la réponse de viclaudel

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.