plusboy
شنبه 04 آبان 1387, 22:36 عصر
سلام مهندسین
من این کد را برای دریافت داده از پورت سریال استفاده می کنم که خیلی هم خوب کار می کنه و اطلاعات را صحیح نمایش میده!!>>
در واقع فیلتر میکنه
اما یک مشکل وجود داره برای من و اونم اینه که نوشته ها به صورت پشت سر هم وارد می شند و امکان تفکیک برای من وجود نداره
مثلا اگر پیام salam وارد شد و بعد با فاصله زمانی پیام bye به این شکل salambye نمایش داده میشه
یک سری الگوریتم های مختلف را آزمایش کردم برای حالت مجازی و همه کار کردند اما برای این مجموع کد و در عمل جواب نگرفتم
حتی اگه بشه با هر بار دریافت داده اون را در یک text جدید تمایش بده !!
کسی میتونه من را راهنمایی کنه!!! :اشتباه:
Private Sub MSComm1_OnComm()
Dim InBuff As String
If MSComm1.CommEvent = comEvReceive Then.
InBuff = MSComm1.Input
End If
Dim y As String
Dim x As Integer
For x = 1 To (Len(InBuff) + 1)
y = Mid$(InBuff, x, 1)
If y = Chr$(13) Then
y = ""
End If
If y = Chr$(10) Then
y = ""
End If
Text1.SelStart = Len(Text1.text)
' Display text:
Text1.SelText = y
Next x
End Sub
من این کد را برای دریافت داده از پورت سریال استفاده می کنم که خیلی هم خوب کار می کنه و اطلاعات را صحیح نمایش میده!!>>
در واقع فیلتر میکنه
اما یک مشکل وجود داره برای من و اونم اینه که نوشته ها به صورت پشت سر هم وارد می شند و امکان تفکیک برای من وجود نداره
مثلا اگر پیام salam وارد شد و بعد با فاصله زمانی پیام bye به این شکل salambye نمایش داده میشه
یک سری الگوریتم های مختلف را آزمایش کردم برای حالت مجازی و همه کار کردند اما برای این مجموع کد و در عمل جواب نگرفتم
حتی اگه بشه با هر بار دریافت داده اون را در یک text جدید تمایش بده !!
کسی میتونه من را راهنمایی کنه!!! :اشتباه:
Private Sub MSComm1_OnComm()
Dim InBuff As String
If MSComm1.CommEvent = comEvReceive Then.
InBuff = MSComm1.Input
End If
Dim y As String
Dim x As Integer
For x = 1 To (Len(InBuff) + 1)
y = Mid$(InBuff, x, 1)
If y = Chr$(13) Then
y = ""
End If
If y = Chr$(10) Then
y = ""
End If
Text1.SelStart = Len(Text1.text)
' Display text:
Text1.SelText = y
Next x
End Sub