TODOPIC
Lenguajes de programación para PC => Visual Basic => Mensaje iniciado por: lexer en 28 de Agosto de 2006, 18:59:39
-
Hola
Estoy tratando de hacer un programa que almacene lo leido por un puerto serie, tengo lo siguiente:
Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvReceive
Dim Buffer
Buffer = Buffer & MSComm1.Input
Open "c:\prueba.txt" For Append As #1
Print #1, Buffer
Close #1
End Select
End Sub
La información que envio son varias lineas terminadas en 0X0D y 0X0A (CR y LF), El programa me lee la informacion, pero las lineas no son almacenadas completas si una linea es dividida en varias:
S
031 00 8
759 T
000052 0
2/18 23:
32 00:02
:16 A 71
00041273
69801
Deberia almacenarse como:
S 031 00 8759 T000052 02/18 23:32 00:02:16 A 710004127369801
Traté de usar la siguiente expresión que tome de BrunoF:
Buffer = Buffer & MSComm1.Input
If Len(Buffer) > 1 Then If Right(Buffer, 2) = Chr(13) & Chr(10) Then
Open "c:\prueba.txt" For Append As #1
Print #1, Buffer
Close #1
Pero no me funciona
Alguien tiene alguna idea?
-
Hola
¿A que valor tienes seteada la propiedad RThresHold?
La rutina esa que hice, sirve para un RThresHold = 1 o 2. Si tienes un RThresHold > 2, pues puede dejar pasar algunos <ENTER> :lol:
Saludos.
-
Gracias BrunoF
El valor del RThresHold lo coloqué en 1
-
Hola lexer. Disculpame, pero no me quedo claro. ¿Lograste solucionar el problema?
Saludos.