Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se presenta cómo enviar información al puerto serie mediante el control Mscomm32.ocx.
Versión original del producto: Visual FoxPro
Número de KB original: 139526
Resumen
En este artículo se describen las opciones necesarias para enviar datos al puerto serie mediante Mscomm32.ocx. Mscomm32.ocx se incluye con Microsoft Visual FoxPro Professional Edition. Se puede usar en equipos que ejecutan Microsoft Windows 95 y versiones posteriores de Windows.
Más información
Las propiedades usadas con más frecuencia para enviar datos al puerto serie mediante el control mscomm son las siguientes:
CommPort
La CommPort
propiedad especifica el número de puerto de comunicaciones. Propiedad numérica que corresponde al puerto de comunicaciones. De forma predeterminada, esta propiedad se establece en 1 correspondiente a com1. Los valores válidos son 1, 2, 3 o 4, según los puertos serie instalados en el equipo y su configuración.
Configuración
La Settings
propiedad configura la velocidad de baudios, la paridad, los bits de datos y los bits de detención para el puerto serie. La propiedad Settings es una cadena de caracteres que contiene valores separados por comas individuales. De forma predeterminada, la propiedad Settings es la siguiente: 9600,N,8,1 Esta propiedad corresponde a 9600 baud, sin paridad, 8 bits de datos y 1 bit de detención.
Los siguientes valores de velocidad de baudios son válidos: 110, 300, 600, 1200, 2400, 4800, 9600 (valor predeterminado), 14400, 19200, 28800, 38400, 56000, 57600, 115200, 128000, 256000.
PortOpen
La PortOpen
propiedad especifica un valor lógico que controla si el puerto serie está abierto y activo. Una vez establecidas las propiedades anteriores para empezar a usar el puerto serie, puede establecer esta propiedad en true.
Salida
A la propiedad Output se le asigna la cadena de caracteres que se enviará al puerto serie. Para generar la cadena "Hola mundo" en el puerto serie después de establecer las propiedades anteriores, use el siguiente comando:
myform.mycomm.output = "Hello World"
Otras propiedades que también pueden ser necesarias en función de la aplicación son las siguientes:
CommEvent
La CommEvent
propiedad contiene un valor que representa el evento o errores de comunicaciones más recientes.
Sthreshold
La Sthreshold
propiedad especifica el número mínimo de caracteres en el búfer de salida que se envían.
ContadorDeBúferDeSalida
El control OutBufferCount devuelve el número de caracteres que esperan en el búfer de transmisión. Esto siempre debe ser cero si la Sthreshold
propiedad es cero. Si establece la OutBufferCount
propiedad en cero, se borrará el búfer de transmisión.
OutBufferSize
La OutBufferSize
propiedad especifica el tamaño del búfer de transmisión. De manera predeterminada, este búfer es de 512 bytes. Cuanto mayor sea el búfer de transmisión, menos memoria disponible para otras aplicaciones. Las tasas de baudios lentos y las cadenas de texto grandes enviadas al puerto serie podrían significar que necesita aumentar este valor.
A continuación se muestra un ejemplo que explica cómo configurar el control de comunicaciones y marcar el número de teléfono 555-1234 mediante los comandos estándar del Modem Hayes.
PUBLIC ComForm
ComForm = CREATEOBJECT('Form')
ComForm.AddObject("Testcom","Olecontrol","MSCOMMLib.MSComm")
ComForm.Testcom.CommPort = 2 && Use Comm2, The second Serial Port.
ComForm.Testcom.Settings = "14400,N,8,1" && 14.4 Kbaud, No Parity,
&& 8 data Bits, 1 Stop Bit
ComForm.Testcom.PortOpen = .T.
ComForm.Testcom.Output = "ATDT555-1234" + chr(13) && Dialing the number
* The chr(13) is needed to complete the modem command sequence
ComForm.Testcom.PortOpen = .F.
***** End Code *****
Nota:
Si lo usa en una aplicación y, a continuación, distribuye la aplicación mediante el Asistente para la instalación de Visual FoxPro, es posible que vea el siguiente error al ejecutar la aplicación:
Código de error OLE del programa 0x80040112: no se encuentra la licencia adecuada para esta clase.