منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : استفسار بخصوص البحث في RichTextBox SerialPort
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله

لدي برنامج SerialPort1
اقوم بارسال رمز ويرجع لي الجواب 
في RichTextBox2


كود :
   Private Sub SerialPort1_DataReceived(sender As System.Object, e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
       ReceivedText(SerialPort1.ReadExisting())
   End Sub

   Private Sub ReceivedText(ByVal [text] As String) 'input from ReadExisting
       If Me.RichTextBox2.InvokeRequired Then
           Dim x As New SetTextCallback(AddressOf ReceivedText)
           Me.Invoke(x, New Object() {(text)})
       Else
           Me.RichTextBox2.Text &= [text] 'append text
       End If
   End Sub

   Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click


       SerialPort1.Write("ATCAF0" & vbCr)
       Thread.Sleep(3000)
       SerialPort1.Write("ATSH7E0" & vbCr)
       Thread.Sleep(3000)
       SerialPort1.Write("021A90" & vbCr)




   End Sub


مثل ما باين اقوم بارسال رموز ويرجع لي الاجابه 

كود :
>OK

>OK

>10135A903347434E
2159394546364D47
22313237383534AA


في الاجابه في RichTextBox2

بعد الانتهاء من العمليه اريد ابحث عن اول اربع ارقام اذا كانت موجوده 1013

اذا كانت موجوده انسخهم في مربع حوار اخر RichTextBox3 
ثلاث اسطر اجعلهم سطر واحد 


كود :
>10135A903347434E2159394546364D4722313237383534AA

في RichTextBox3 


اتمنى اكون قدرة اوصل الفكرة

وشكرا لكم 
كود :
   Private Sub SerialPort1_DataReceived(ByVal sender As System.Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
       'ReceivedText(SerialPort1.ReadExisting())
       Dim r = SerialPort1.ReadExisting()
       Dim t = Regex.Match(r, ">1013[\w\d]+").Value
       t = t.Replace(vbCrLf, "").Replace(vbCr, "").Replace(vbLf, "")
       Me.RichTextBox3.Text = t
   End Sub
اشكرك استاذي
قمت بتجربة الكود ولكن طلع معاي مشكله

كود :
System.InvalidOperationException: 'Cross-thread operation not valid: Control 'RichTextBox3' accessed from a thread other than the thread it was created on.'

تم حل الموضوع
شكرا الكود هو المطلوب

شكرا من جديد