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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
Module Module1
Sub Main()
Dim NomEtCheminDuFichier As String = "D:\Tmp\TXT_Table\tab.out"
Dim FichierALire As System.IO.StreamReader
Dim LigneLue As String
If Not System.IO.File.Exists(NomEtCheminDuFichier) Then
' Erreur car fichier ininexistant
' Peut-être faire message ...
Exit Sub
End If
' ' Créer DataTable pour stockage des données
Dim MesDonnees As New DataTable
MesDonnees.Columns.Add("Champ1") ' Alcalase
MesDonnees.Columns.Add("Champ2") ' Flavour
MesDonnees.Columns.Add("Total") ' Total
MesDonnees.Columns.Add("WihtSize") ' WithSize
MesDonnees.Columns.Add("Valeur10") ' Valeur10
MesDonnees.Columns.Add("Differencies") ' Differencies
' ' Ouvrir fichier en lecture
FichierALire = New System.IO.StreamReader(NomEtCheminDuFichier)
' ' Lire 3 lignes sans traitement
For i As Integer = 1 To 3
FichierALire.ReadLine()
Next
' ' Aquisition des données
Dim PremierChamp As String
Dim Champ2 As String
Dim Total As String
Dim WithSize As String
Dim Valeur10 As String
Dim Differencies As String
' ' Premième ligne
LigneLue = FichierALire.ReadLine
PremierChamp = LigneLue.Substring(1, 9)
' ' Traitement des donnée et lecture suivante
While PremierChamp(0) <> "*"c
Champ2 = LigneLue.Substring(12, 12)
If Champ2 = "" Then Champ2 = vbTab ' Seulement pour un affichage correct en console
Total = LigneLue.Substring(24, 10).Trim(" ") ' Trim pour enlmever lers blancs d'extrémité, en vue conversion en numérique
If LigneLue.Length > 48 Then
WithSize = LigneLue.Substring(33, 15).Trim(" ")
Valeur10 = LigneLue.Substring(48, 15).Trim(" ")
Differencies = LigneLue.Substring(62).Trim(" ")
Else
WithSize = LigneLue.Substring(33).Trim(" ")
Valeur10 = ""
Differencies = ""
End If
MesDonnees.Rows.Add(PremierChamp, Champ2, Total, WithSize, Valeur10, Differencies)
LigneLue = FichierALire.ReadLine
PremierChamp = LigneLue.Substring(1, 9)
End While
FichierALire.Close()
FichierALire.Dispose()
' Affichage en mode console (pour test)
For L As Integer = 0 To MesDonnees.Rows.Count - 1
For C As Integer = 0 To MesDonnees.Columns.Count - 1
Console.Write(MesDonnees.Rows(L)(C) & vbTab)
Next
Console.WriteLine()
Next
Console.ReadKey()
End Sub
End Module |
Partager