Private Sub RS232_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles RS232.DataReceived RS232.Read(trame, 0, nb_octet) strTexteRecu = System.Text.Encoding.ASCII.GetString(trame) ' soit cette ligne la Me.Invoke(New _Affiche_reception(AddressOf affichage), strTexteRecu) 'ou celle ci Me.Invoke(New _Affiche_reception(AddressOf timer1_tick), strTexteRecu) End Sub Private Sub affichage(ByVal texte As String) lbl_poids.Text = strTexteRecu End Sub Private Sub timer1_tick() Handles Timer1.Tick Dim i As Integer intTime = 0 intTime = intTime + 1 Try If RS232.BytesToRead > 0 Then data = New [Byte](RS232.BytesToRead) {} RS232.Read(data, 0, data.Length) For i = 0 To data.Length - 2 If data(i) = 8 Then data(i) = Replace(data(i), "8", "32") End If Txt_reçoi.AppendText(Chr(Hex(data(i)))) Next i End If Catch ex As Exception MsgBox(ex.Message) End Try End Sub
If data(i) = 8 Then data(i) = Replace(data(i), "8", "32") End If
'Envoi de la commande Balance.WriteLine (BalanceCommande) 'une petite pause à déterminer en rapport à la balance Pause(BalancePause) 'Pour ne pas attendre indéfiniment Dim StartTime As Double = Microsoft.VisualBasic.DateAndTime.Timer + 2 Do: Application.DoEvents Buffer = Balance.ReadExisting() Loop Until Buffer <> "" OrElse Microsoft.VisualBasic.DateAndTime.Timer > StartTime Balance.Close()
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionTry If RS232.BytesToRead > 0 Then data = New [Byte](RS232.BytesToRead) {} RS232.Read(data, 0, data.Length) For i = 0 To data.Length - 2 TextBox1.Text = Hex(Asc(data(i).ToString)) Next i End If Catch ex As Exception MsgBox(ex.Message) End Try
[i]Le principe de l'évolution est beaucoup plus rapide en informatique que chez le bipède.
/i
Salut !
Est ce que tu as résolu le problème ?
Bonjour Camille
selon ta question ici https://codes-sources.commentcamarche.net/forum/affich-10111689-lire-les-donnees-d-une-balance-mettler-toledo
Tu veux coder en VBA. Hors VBA et VB.net sont 2 langages très différents.
Une solution en .net ne serait pas applicable en VBA