Captura cadena completa
Publicado por Jose Antonio (2 intervenciones) el 21/08/2012 21:37:57
Estimados
Utlizando PB 9.0 con libreria MSCOMM32.OCX logre comunicacion con central telefonica, el problema que tengo es que no logro recibir de forma ordenada la cadena.
Utilizando un Editor Hexadecimal ubique al lado derecho de la cadena los valores CHR(13) CHR(10).
Muchas gracias por su atencion,
Saludos cordiales,
Window / open
--------------------
ole_1.object.commport = 2 //puerto COM?
ole_1.object.settings = "1200,n,8,1" // rate,parity,data_bit,bit
ole_1.object.rthreshold = 1 // 0= oncomm no recibe caracteres 1=habilita a oncomm recibir un caracter
ole_1.object.inputlen =0 // numero de caracteres a leer del buffer
ole_1.object.inputmode = 0
ole_1.object.portopen = true // true = puerto abierto false= puerto cerrado
evento / Ole_1 .Oncomm
----------------------------------
choose case ole_1.object.commevent
case 2
ole_1.object.rthreshold = 0
string ls_t, ls_t2, num[], ls_t81, ls_t82, ls_t83, ls_t84
ls_t = ole_1.object.input // EN ESTA VARIABLE SE GUARDA LA CADENA
ole_1.object.rthreshold = 1
num[1] = mid(ls_t,1,14)
num[2] = mid(ls_t,1,14)
num[3] = mid(ls_t,1,14)
num[4] = mid(ls_t,1,14)
ls_t81 = num[1]
ls_t82 = num[2]
ls_t83 = num[3]
ls_t84 = num[4]
ls_t2 = ls_t81 + ls_t82 + ls_t83 + ls_t84
case 1006
st_1.text = "over run"
case 8020
st_1.text = "read comm device error"
case 1001
st_1.text = "break signal received"
case else
st_1.text = string( ole_1.object.input)
return
end choose
//CADENA generado con HyperTerminal
169 112 --> 10 URB 05/04/11 16:21 0-03 HA 997024015
// CADENA generado atravez de PB
772 112 --> 11772 112 --> 11772 112 --> 11772 112 --> 11772 112 --> 11
URB 20/08/12 URB 20/08/12 URB 20/08/12 URB 20/08/12 URB 20/08/12
22:00 0-0022:00 0-0022:00 0-0022:00 0-0022:00 0-00
HA 997 HA 997 HA 997 HA 997 HA 997
024015
Utlizando PB 9.0 con libreria MSCOMM32.OCX logre comunicacion con central telefonica, el problema que tengo es que no logro recibir de forma ordenada la cadena.
Utilizando un Editor Hexadecimal ubique al lado derecho de la cadena los valores CHR(13) CHR(10).
Muchas gracias por su atencion,
Saludos cordiales,
Window / open
--------------------
ole_1.object.commport = 2 //puerto COM?
ole_1.object.settings = "1200,n,8,1" // rate,parity,data_bit,bit
ole_1.object.rthreshold = 1 // 0= oncomm no recibe caracteres 1=habilita a oncomm recibir un caracter
ole_1.object.inputlen =0 // numero de caracteres a leer del buffer
ole_1.object.inputmode = 0
ole_1.object.portopen = true // true = puerto abierto false= puerto cerrado
evento / Ole_1 .Oncomm
----------------------------------
choose case ole_1.object.commevent
case 2
ole_1.object.rthreshold = 0
string ls_t, ls_t2, num[], ls_t81, ls_t82, ls_t83, ls_t84
ls_t = ole_1.object.input // EN ESTA VARIABLE SE GUARDA LA CADENA
ole_1.object.rthreshold = 1
num[1] = mid(ls_t,1,14)
num[2] = mid(ls_t,1,14)
num[3] = mid(ls_t,1,14)
num[4] = mid(ls_t,1,14)
ls_t81 = num[1]
ls_t82 = num[2]
ls_t83 = num[3]
ls_t84 = num[4]
ls_t2 = ls_t81 + ls_t82 + ls_t83 + ls_t84
case 1006
st_1.text = "over run"
case 8020
st_1.text = "read comm device error"
case 1001
st_1.text = "break signal received"
case else
st_1.text = string( ole_1.object.input)
return
end choose
//CADENA generado con HyperTerminal
169 112 --> 10 URB 05/04/11 16:21 0-03 HA 997024015
// CADENA generado atravez de PB
772 112 --> 11772 112 --> 11772 112 --> 11772 112 --> 11772 112 --> 11
URB 20/08/12 URB 20/08/12 URB 20/08/12 URB 20/08/12 URB 20/08/12
22:00 0-0022:00 0-0022:00 0-0022:00 0-0022:00 0-00
HA 997 HA 997 HA 997 HA 997 HA 997
024015
Valora esta pregunta
0