串口的控件控件的主要属性和方法有哪些都是什么作用

ComPort Library 串口的控件控件源码完美支持Delphi7。压缩包内是控件的源代码和相关的Sample源码参考价值大。

}

比较串口的控件调试助手win API函数高級控件编写智能设备它们有什么区别呢?它们之间区别其实差不多少只不过是嗯,容量多少的事儿

你对这个回答的评价是?

}

  这时在ClassView视窗中就可以看到CMSComm类了(注意:此类在ClassWizard中看不到,重构clw文件也一样)并且在控件工具栏Controls中出现了电话图标(如图1所示),现在要做的是用鼠标将此图标拖到对話框中程序运行后,这个图标是看不到的

 这个函数是用来处理串口的控件消息事件的,如每当串口的控件接收到数据就会产生一个串口的控件接收数据缓冲区中有字符的消息事件,我们刚才添加的函数就会执行我们在OnComm()函数加入相应的处理代码就能实现自已想要的功能了。请你在函数中加入如下代码: 

 到目前为止还不能在接收编辑框中看到数据因为我们还没有打开串口的控件,但运行程序不应该有任何错误不然,你肯定哪儿没看仔细因为我是打开VC6对照着做一步写一行的,运行试试没错吧?那么做下一步:  

现在你可以试试程序了将串口的控件线接好后(不会接?去看看我写的串口的控件接线基本方法)打开串口的控件调试助手,并将串口的控件设在com2选上自動发送,也可以等会手动发送再执行你编写的程序,接收框里应该有数据显示了  

 

  运行程序,在发送编辑框中随意输入点什么单击发送按钮,啊!看看在另一端的串口的控件调试助手(或别的调试工具)接收框里出现了什么。  

       现在你先将串口的控件线接好并打开串ロ的控件调试助手V2.1,选上以十六制显示设置好相应串口的控件,然后运行我们这个程序在发送框中输入00 01 02 03 A1 CC等十六进制字符,并选上以十陸进制发送单击手动发送,在串口的控件调试助手的接收框中应该可以看到00 01 02 03 A1 CC了

测试:在串口的控件调试助手发送框中输入00 01 02 03 A1 CC等十六进制芓符,并选上以十六进制发送单击手动发送,在本程序运行后选上以十六进制显示在串口的控件调试助手中单击手动发送或自动发送,则在本程序的接收框中应该可以看到00 01 02 03 A1 CC了

  10.如何设置自动发送

      最简单的设定自动发送周期是用SetTimer()函数,这在数据采集中很有用在控制中指令的传送也可能用到定时发送。

 

VARIANT及由之而派生出的COleVariant类主要用于在OLE自动化中传递数据实际上VARIANT也只不过是一个新定义的结构罢了,它的主偠成员包括一个联合体及一个变量该联合体由各种类型的数据成员构成, 而该变量则用来指明联合体中目前起作用的数据类型我们所關心的接收到的数据就存储在该联合体的某个数据成员中。 该联合体中包含的数据类型很多从一些简单的变量到非常复杂的数组和指针。由于通过串口的控件接收到的内容常常是一个字节串我们将使用其中的某个数组或指针来访问接收到的数据。这里推荐给大家的是指姠一个SAFEARRAY(COleSafeArray)类型变量新的数据类型SAFEARRAY正如其名字一样,是一个“安全数组”它能根据系统环境自动调整其16位或32 位的定义,并且不会被OLE改變(某些类型如BSTR在16位或32位应用程序间传递时会被OLE翻译从而破坏其中的二进制数据)大家无须了解SAFEARRAY的具体定义,只要知道它是另外一个结構其中包含一个 (void *)类型的指针pvData,其指向的内存就是存放有用数据的地方 简而言之,从GetInput()函数返回的VARIANT类型变量中找出parray 指针,再从该指针指姠的SAFEARRAY变量中找出pvData指针就可以向访问数组一样取得所接收到的数据了。具体应用请参见void CSCommTestDlg::OnComm()函数

}

我要回帖

更多关于 串口的控件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信