Public Class Form1 Public Delegate Sub DelegateAffichage(ByVal port As IO.Ports.SerialPort) Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived 'réception des données 'on récupère le serialport Dim sp As System.IO.Ports.SerialPort = DirectCast(sender, System.IO.Ports.SerialPort) 'on démarre un thread se référant à MaSub Dim t As New Threading.Thread(AddressOf MaSub) 'on démarre le thread en passant le port en paramètre t.Start(sp) End Sub Private Sub MaSub(ByVal MonPort As System.IO.Ports.SerialPort) If Me.InvokeRequired = True Then 'invocation du délégué avec le port en paramètre Me.Invoke(New DelegateAffichage(AddressOf MaSub), MonPort) Else 'lecture des données Dim trame(MonPort.BytesToRead - 1) As Byte MonPort.Read(trame, 0, trame.Length) Dim donnees As String = System.Text.Encoding.ASCII.GetString(trame) 'traitement et affichage a faire ici '.... End If End Sub End Class
InOut = TextBox9.Text If InOut <> 0 Then
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPrivate Sub Command1_Click() MsgBox "cliqué" Command1.Enabled = False '===>> constate que Command1 est inhibé t = Timer Do While Timer - t < 5 DoEvents '===>>> ce doevents change tout, bien que nous soyons dans la même procédure Loop Command1.Enabled = True End Sub
Dim donnees As String = System.Text.Encoding.ASCII.GetString(trame) 'traitement et affichage à faire ici MaTextBoxMultilignes.Text &= donnees