Saludos cordiales estimado colega:
Ya sea que la información a enviar dependa de la que se reciba o no, lo que debes usar es la propiedad output para enviar e input para recibir, usando mscomm32.
En cuanto a un ejemplo full dúplex, que sea simple para proporcionártelo, no tengo.
El que tengo es muy especifico para su uso.
Por lo que te ofrezco es resolver tus dudas.
Bendiciones.
Carlos Alfaro
El manual menciona alguna secuencia de comandos para enviarle la solicitud de la orden?
Tenes claro la configuración de la comunicación?
Que configuración tiene el cable que estas usando?
El manual menciona que debes enviar chr(129) mas el comando de tipo de billete y que se espere máximo 5 segundos la respuesta.
Lo que entiendo es que tendrías que hacer es:
Suponiendo que el objeto asignado al mscomm32 se llama validador, los pasos a realizar son los siguientes:
Colocar los siguientes valores en validador:
Propiedad Valor
Commport Numero de puerto serial en la computadora
Handshaking 0 – No handshaking
InputMode 0 – Text
RThreshold 1
Settings 9600,8,e,1
En el evento OnComm podes poner un codigo para saber lo que reciba el puerto, por ejemplo:
Thisform.edit.value = thisform.edit.value + this.input
Espero que te sirva.
Bendiciones.
Carlos Alfaro
Perdon, envie el correo, pero le faltaba un paso.
El manual menciona que debes enviar chr(129) mas el comando de tipo de billete y que se espere máximo 5 segundos la respuesta.
Lo que entiendo es que tendrías que hacer es:
Suponiendo que el objeto asignado al mscomm32 se llama validador, los pasos a realizar son los siguientes:
Colocar los siguientes valores en validador:
Propiedad Valor
Commport Numero de puerto serial en la computadora
Handshaking 0 – No handshaking
InputMode 0 – Text
RThreshold 1
Settings 9600,8,e,1
En la propiedad output, pones un valor para solicitar la validación: thisform.validador.output = chr(129) + chr(64)
En el evento OnComm podes poner un codigo para saber lo que reciba el puerto, por ejemplo:
Thisform.edit.value = thisform.edit.value + this.input
Espero que te sirva.
Bendiciones.
Carlos Alfaro
From: publice...@googlegroups.com [mailto:publice...@googlegroups.com] On Behalf Of yesid ramirez
Sent: viernes, 21 de agosto de 2015 10:59 a.m.
To: publicesvfoxpro
En cuanto al cable, el que has de estar usando, es de RJ45 a RS232.
Deduzco que el símbolo de Euro, es parte de lo que debe de enviar.
Que mas debe enviarte?
Cuando decís que le das 2 segundos, es porque estas usando un objeto timer.
Ahora te recomiendo que midas el tamaño de la variable en donde colocas lo recibido del puerto, por ejemplo:
MiVariable = thisform.validador.input
TamañoVariable = len(MiVariable)
Tambien que determines que contiene, no solo lo visible, por ejemplo:
ContenidoVariable = “”
For VerContenido = 1 to MiVariable
ContenidoVariable = ContenidoVariable + “carácter: “ + alltrim(str(chr(substr(MiVariable, VerContenido,1) + “ - ”
Endfor
?TamañoVariable
?ContenidoVariable
El manual dice que enviara un carácter 2 para proceder a aceptar el billete, si ves que te envía carácter 2, debes enviarle chr(16) para que lo acepte.
Bendiciones.
Carlos Alfaro
Observando el codigo, otra vez cometi un error.
From: publice...@googlegroups.com [mailto:publice...@googlegroups.com]
Sent: sábado, 22 de agosto de 2015 09:06 a.m.
To: publice...@googlegroups.com
Subject: RE: [vfp] visual foxpro y puerto serial
Cuando decís que le das 2 segundos, es porque estas usando un objeto timer.
Ahora te recomiendo que midas el tamaño de la variable en donde colocas lo recibido del puerto, por ejemplo:
MiVariable = thisform.validador.input
TamañoVariable = len(MiVariable)
Tambien que determines que contiene, no solo lo visible, por ejemplo:
ContenidoVariable = “”
For VerContenido = 1 to TamañoVariable
En la linea:
For VerContenido = 1 to TamañoVariable
Había puesto MiVariable, en lugar de TamañoVariable
También allí tuve error le falta cerrar los paréntesis de las funciones, lo correcto es:
ContenidoVariable = ContenidoVariable + “carácter: “ + alltrim(str(chr(substr(MiVariable, VerContenido,1)))) + “ - ”
Estás aplicando STR a una expresión tipo carácter.
Es cierto lo, me equivoque de comando:
ContenidoVariable = ContenidoVariable + “carácter: “ + alltrim(str(asc(substr(MiVariable, VerContenido,1)))) + “ - ”