Отправка на последовательный порт с помощью Mscomm32.ocx

В этой статье описывается, как отправлять сведения на последовательный порт с помощью элемента управления Mscomm32.ocx.

Исходная версия продукта: Visual FoxPro
Исходный номер базы знаний: 139526

Сводка

В этой статье описываются параметры, необходимые для отправки данных на последовательный порт с помощью Mscomm32.ocx. Mscomm32.ocx поставляется с Microsoft Visual FoxPro Professional Edition. Его можно использовать на компьютерах под управлением Microsoft Windows 95 и более поздних версий Windows.

Дополнительная информация

Ниже перечислены наиболее часто используемые свойства для отправки данных на последовательный порт с помощью элемента управления mscomm:

CommPort

Свойство CommPort задает номер порта связи. Числовое свойство, соответствующее порту Comm. По умолчанию для этого свойства задано значение 1, соответствующее com1. Допустимые значения: 1, 2, 3 или 4 в зависимости от установленных на компьютере последовательных портов и их конфигурации.

Settings

Свойство Settings настраивает скорость передачи данных, четность, биты данных и стоп-биты для последовательного порта. Свойство Settings — это строка символов, содержащая отдельные значения, разделенные запятыми. По умолчанию свойство Settings выглядит следующим образом: 9600,N,8,1 Это свойство соответствует 9600 бод, без четности, 8 бит данных и 1 стоп-бит.

Допустимы следующие значения скорости передачи: 110, 300, 600, 1200, 2400, 4800, 9600 (по умолчанию), 14400, 19200, 28800, 38400, 56000, 57600, 115200, 128000, 256000.

PortOpen

Свойство PortOpen задает логическое значение, определяющее, открыт ли и активен последовательный порт. После установки предыдущих свойств для начала использования последовательного порта можно задать для этого свойства значение true.

Выходные данные

Свойству Output назначается строка символов для отправки на последовательный порт. Чтобы вывести строку "Hello World" на последовательный порт после установки предыдущих свойств, используйте следующую команду:

 myform.mycomm.output = "Hello World"

В зависимости от приложения также могут потребоваться другие свойства:

CommEvent

Свойство CommEvent содержит значение, представляющее последнее событие или ошибки связи.

Sthreshold

Свойство Sthreshold задает минимальное количество символов в отправляемом выходном буфере.

OutBufferCount

Элемент управления OutBufferCount возвращает количество символов, ожидающих в буфере передачи. Значение всегда должно быть равным нулю, Sthreshold если свойство равно нулю. Если для свойства задано OutBufferCount значение 0, буфер передачи будет очищен.

OutbufferSize

Свойство OutBufferSize задает размер буфера передачи. По умолчанию этот буфер равен 512 байтам. Чем больше буфер передачи, тем меньше памяти доступно для других приложений. Низкая скорость ввода данных и большие текстовые строки, записанные на последовательный порт, могут означать, что это значение нужно сделать больше.

Ниже приведен пример, в которой показано, как настроить элемент управления comm и набрать номер телефона 555-1234 с помощью стандартных команд Модема Хейса.

 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 *****

Примечание.

Если вы используете его в приложении, а затем распространяете его с помощью мастера установки Visual FoxPro, при запуске приложения может возникнуть следующая ошибка:

Код ошибки OLE программы 0x80040112: соответствующая лицензия для этого класса не найдена.