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
de plus vous trouvez un exemple de fichier pilot sur lequel nous allons effectué cette opération.
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
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 videSATS48 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=
En espérant être assez clair, merci d'avance pour l'aide
Partager