Bonjour,
Prière m'aider à le résoudre .
Je chercher à extraire du fichier passé en paramètre fichier une chaine de caractère commençant par type_message et se tremine par = et mettre le ésultat dans un fichier fichier_out
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
    Sub lecture_Fichier_test(ByVal fichier As String, type_message As String, fichier_out As String)
 
        Try
 
            Dim MET As Integer = 0
            Dim metar As String = ""
           ' Création d'une instance de StreamReader pour permettre la lecture de notre fichier
            Dim monStreamReader As StreamReader = New StreamReader(fichier)
            Dim monStreamWriter As StreamWriter = New StreamWriter(fichier_out)
            Dim ligne As String
 
            'Lecture de toutes les lignes et affichage de chacune sur la page
            Do
                ligne = monStreamReader.ReadLine()
                MsgBox(ligne)
                If ligne.Contains(type_message) And ligne.Contains("=") Then
                    metar = String.Concat(metar + ligne)
                    MsgBox(metar)
                    'Console.WriteLine(metar)
                    monStreamWriter.WriteLine(metar)
                    metar = ""
                    MET = 0
                    GoTo out
                End If
                If MET = 1 And Not ligne.Contains("=") Then metar = String.Concat(metar + ligne)
                If ligne.Contains(type_message) Then
                    MET = 1
                    metar = ligne
                End If
 
 
 
                If ligne.Contains("=") And metar <> "" And MET = 1 Then
                    metar = String.Concat(metar + ligne)
                    MsgBox(metar)
                    'Console.WriteLine(metar)
                    monStreamWriter.WriteLine(metar)
                    metar = ""
                    MET = 0
                End If
out:
            Loop Until ligne Is Nothing
 
            'Fermeture du StreamReader (attention très important)
            monStreamReader.Close()
            monStreamWriter.Close()
        Catch ex As Exception
 
            'Code exécuté en cas d'exception
 
            MsgBox("Une erreur est survenue au cours de la lecture !")
            MsgBox(ex.Message)
 
        End Try
 
    End Sub
de plus vous trouvez un exemple de fichier pilot sur lequel nous allons effectué cette opération.
SATS48 DXXX 131830 MESS DXXX 131830
08007 NO=
SATS48 DXXX 132100
MESS DXXX 132100Z 14003 1019 NO=
SITS48 DXXX 132100 AAXX 13214
32960 01403 10230 20163 30181 40191 52010=
SATS48 DXXX 132130 MESS DXXX 132130 13003 1019 HEL=
Cette erreur toujours s'affiche La référence d'objet n'est pas définie à une instance d'un objet et le fichier fichier_out est toujours vide
En espérant être assez clair, merci d'avance pour l'aide