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
| Private Sub readOutput()
Dim buffer As Char() = New Char(0) {}
Dim BufferMessage As String = ""
Dim OutPutMessage As String = ""
Dim DetectCr As Boolean = False
Dim DetectLf As Boolean = False
Dim DetectCrLf As Boolean
Dim PosChar As Integer = 0
While Not MonProcess.HasExited
MonProcess.StandardOutput.Read(buffer, 0, 1)
' Debug.Print(buffer)
Dim ascii As Integer
ascii = System.Text.ASCIIEncoding.ASCII.GetBytes(buffer)(0)
'Debug.Print(ascii.ToString)
Dim VbCr As Byte() = {13}
Dim VbLf As Byte() = {10}
'Detection du retour à la ligne et vidage du BufferMessage
If buffer = System.Text.ASCIIEncoding.ASCII.GetChars(VbCr) Then
DetectCr = True
PosChar = 0
End If
If buffer = System.Text.ASCIIEncoding.ASCII.GetChars(VbLf) Then DetectLf = True
DetectCrLf = False
If DetectCr And PosChar = 1 Then
If DetectLf Then
DetectCrLf = True
PosChar = 0
End If
DetectCr = False
Else
End If
BufferMessage += buffer
If BufferMessage.Substring(0, 1) = "-" Then
' Ceci est une ligne de Progresion
'IsProgressLigne = True
OutPutMessage = BufferMessage
Else
'IsProgressLigne = False
OutPutMessage = ""
End If
If DetectCrLf Then
OutPutMessage = BufferMessage
BufferMessage = ""
End If
Debug.Print(OutPutMessage)
PosChar += 1
End While
End Sub |