VictorComm1335

所属分类:串口编程
开发工具:C++ Builder
文件大小:1011KB
下载次数:92
上传日期:2005-10-05 16:53:27
上 传 者AceXie
说明:  C++Builder 串口编程的很好的控件包,有必要用BCB编写的同仁不防下载试用.
(C Builder Serial Programming good control packet, it is necessary to prepare the BCB colleagues not anti-downloading trial.)

文件列表:
Victor\Source\yb_base.cpp (132064, 2004-11-23)
Victor\Source\yb_base.h (55858, 2004-11-23)
Victor\Source\yb_base_c5.bpk (3039, 2003-10-04)
Victor\Source\yb_base_c5.cpp (680, 2003-01-23)
Victor\Source\yb_base_c5.res (1728, 2003-10-04)
Victor\Source\yb_base_c6.bpk (4368, 2004-11-01)
Victor\Source\yb_base_c6.cpp (524, 2003-01-19)
Victor\Source\yb_base_c6.res (1692, 2004-11-01)
Victor\Source\TComm32.cpp (34912, 2004-09-14)
Victor\Source\TComm32.h (13177, 2004-09-14)
Victor\Source\TCommPkg.cpp (15721, 2004-09-05)
Victor\Source\TCommPkg.h (7121, 2004-09-05)
Victor\Source\Unit_YBComm32_About.bmp (630, 2003-01-20)
Victor\Source\Unit_YBComm32_About.cpp (5632, 2004-09-05)
Victor\Source\Unit_YBComm32_About.ddp (33, 2004-09-05)
Victor\Source\Unit_YBComm32_About.dfm (4723, 2003-01-20)
Victor\Source\Unit_YBComm32_About.h (2887, 2003-01-20)
Victor\Source\Unit_YbCommDevice_Settings.cpp (20483, 2003-09-27)
Victor\Source\Unit_YbCommDevice_Settings.ddp (33, 2003-09-27)
Victor\Source\Unit_YbCommDevice_Settings.dfm (8183, 2003-08-20)
Victor\Source\Unit_YbCommDevice_Settings.h (5812, 2003-08-20)
Victor\Source\yb_comm_c5.bpk (3575, 2003-10-04)
Victor\Source\yb_comm_c5.cpp (1050, 2003-03-23)
Victor\Source\yb_comm_c5.res (1700, 2003-10-04)
Victor\Source\yb_comm_c6.bpk (6971, 2004-11-01)
Victor\Source\yb_comm_c6.cpp (733, 2004-09-04)
Victor\Source\yb_comm_c6.res (1656, 2004-11-01)
Victor\Source\yb_comm_res.rc (78, 2004-09-04)
Victor\Source\YbCommDesignEditors.cpp (1998, 2004-09-04)
Victor\Source\YbCommDesignEditors.h (827, 2004-09-04)
Victor\Source\YBCommDevice.bmp (406, 2002-10-07)
Victor\Source\YbCommDevice.cpp (21131, 2004-09-14)
Victor\Source\YbCommDevice.h (13411, 2004-09-14)
Victor\Source\yb_base_data.cpp (379437, 2004-10-28)
Victor\Source\yb_chinese_data.cpp (2039944, 2005-02-01)
Victor\Source (0, 2005-02-01)
Victor\VCL\TComm32.h (13177, 2004-09-14)
Victor\VCL\TCommPkg.h (7121, 2004-09-05)
Victor\VCL\Unit_YBComm32_About.dfm (4723, 2003-01-20)
Victor\VCL\Unit_YbCommDevice_Settings.dfm (8183, 2003-08-20)
... ...

Victor 串口 VCL 控件,版本 1.3.3.5 for BCB 5 & BCB 6 C++爱好者: http://www.cppfans.com/ 【软件简介】 简单实用, 功能强大的 C++ Builder 串口控件! 本控件是免费的, 不需要注册, 有关授权及许可协议详见 license.txt 文件。 1.支持二进制数据和文本数据的收发 2.支持任意格式的数据的收发 3.支持两种数据包协议(识别每帧数据首尾的方法): ①超时判断数据首尾, 适用于与单片机和仪表的通讯 ②帧首尾和控制符, 适用于大量复杂的数据传输, 例如文件收发等 【控件特点】 1.完全由 C++ 代码写的, 支持简体中文, 繁体中文, 英文. 2.免费控件, 在主页上可提供示例程序和使用方法 3.免费升级, 如果控件版本升级, 在直接主页上下载新版本控件 使用简单: 用 控件->Active=true; 打开串口 控件->Read()读, 控件->Write()写. 可以处理控件的事件, 但不是必须的. 此版本包含2个控件: 1.TYbCommDevice 控件: 改进了设计界面, 使用更简单, 并且增加了很多功能. 2.TYBComm32 控件: 为了兼容以前版本而保留下来, 不建议新用户使用. 更新记录: 【版本 1.3.3.5 新增功能(2005-02-01)】 1.事件线程同步: 增加 SyncEvents 属性, 默认为 true 同步现成, 允许在事件里做任何事情了, 可以直接对 Memo 等操作; 如果 false, 和以前版本一样, 事件在线程里, 某些不能在线程里操作的控件 (Memo 等) 不能在事件里使用 2.数据包 FrameSettings 增加 DoubleFrameMark 可控制数据包首、尾是否发送两个 3.在启动数据包的状态, 仍然可以使用 Read 和 Write 属性收发数据, 不必要用 ReadPackage/WritePackage, 但这两个函数仍保留可用 4.增加 DTR、RTS、CTS、DSR、RING、RLSD/DCD 属性 5.开放汉字处理功能, 支持 BIG5、GB2312、GBK、UNICODE, 包括获取汉字的拼音、 注音(ㄅㄆㄇㄈ)、笔画数; 汉字字符串比较大小和排序, 按拼音、注音、笔画数比较; 汉字内码 BIG5/GBK/UNICODE 之间相互转换 【版本 1.3.3.4 开源版本(2004-05-21)】 1.在 TSharedMemory 类里面增加了一个 SetForegroundWindow 静态函数, 可以强行把与同名 API 函数不同的是,这个函数可强行把窗口提前到最前端。 2.修改 TAppLang 里面的 GBK→BIG5 码表,添加几个遗漏的字。 3.添加一个 TBASE*** 类,处理 BASE*** 编解码的类,可自定义编码表。 4.增加一个 ShutDownWindows 函数,可实现关机、重启、或注销的功能。 【版本 1.3.3.4 新增功能(2003-08-20)】 1.增加了 Space Parity 校验方式。 2.改正上个版本的 InitModem() 方法在 BCB6 下不能正常初始化 Modem 的错误。 【版本 1.3.3.3 新增功能(2003-06-29)】 1.针对与①单片机通讯②传递大量复杂数据, 加强了数据包功能: 增加了 PackageType 和 PackageInterval 两个属性。 PackageType 允许设置数据包的格式, 可设置包括与以前兼容、帧首尾和控制符、使用超时等三种类型的数据包格式。 PackageInterval 属性: 如果 PackageType 为超时判断数据首尾, 这个属性设置超时时间(毫秒)。 ①使用超时的方法适用于与单片机和仪表通讯的大部分情况 ②使用帧首尾和控制符的方法适用于大量复杂的数据传输, 例如文件收发等。 2.新版本的控件附带详细的帮助文档和六个完整的示例程序, 每个程序都包括 BCB5 和 BCB6 两个版本, 这六个例子演示了控件的各个功能。 【版本 1.3.3.3 修改BUG】 在 Windows 2003 下访问某些内置调制解调器的串口可能会运行不正常。 【版本 1.3.3.2 修改BUG】 ①修改不能打开 COM9 以上的串口的错误, 现在可以使用所有系统支持的串口了。 ②由于安装盘的制作问题没有解决, 这个版本不使用安装盘了, 自己手动添加控件。 【版本 1.3.3.1 修改BUG】 ① 修改 1.3.3.0 版本的 bug: 在 BCB6 下编译生成的可执行文件需要 designide60.bpl 感谢网友小庭提供了 bug 信息! 这个 designide60.bpl 只有在设计的时候才需要的, 可执行文件根本就不应该需要这个文件, 无论是动态链接还是静态库。 【版本 1.3.3.0 新增功能】 ① 设计时双击鼠标, 或按鼠标右键, 可弹出设置参数对话框. ② 新赠方法 SettingsDialog() 方法, 弹出设置参数对话框. ③ 增加 EscapeCommFunction() 方法, 实际上是通过传递 Handle 属性调用 API 函数 EscapeCommFunction() ④ 支持简单数据包通讯协议, 即可任意定义包头,尾,和控制符作为协议, 发送以数据包为单位 -> UsePackage 属性设置是否启动数据包协议, FrameSettings 属性确定头,尾,控制符. ⑤ 支持 MODEM 【控件安装方法 (这个方法适用于所有VCL控件)】 1.BCB 菜单: Project->Options->Packages->Add 如果是BCB6: 选择安装的文件夹 yb_base_c6.bpl 和 yb_comm_c6.bpl, 然后按“打开”按钮 如果是BCB5: 选择安装的文件夹 yb_base_c5.bpl 和 yb_comm_c5.bpl, 然后按“打开”按钮 2.BCB 菜单: Project->Options->Directories/Conditionals Include Path 和 Library Path 都要添上安装路径(包含*.h和*.lib的文件夹) ①Include Path 右面的“…”按钮,添加包含 *.h 文件的文件夹 ②Library Path 右面的“…”按钮,添加包含 *.lib 文件的文件夹 3.如果是 Windows 9x 需要在 C:\AUTOEXEC.BAT 文件里面的 PATH=后面添加包含 *.bpl 文件的文件夹 ①如果是 Windows NT/2000/2003/XP 需要在:我的电脑->属性->高级->环境变量->系统变量: ②列表里面的“变量”为 Path 的“值”按:“编辑”按钮,添加包含 *.bpl 文件的文件夹 无论是①还是②,文件夹之间的间隔都是用分号隔开。 其中2.非常重要,直接影响编译 其中3.是用来保证使用动态库编译的程序运行找到动态库, 用静态库编译不使用。这个步骤需要重新启动电脑才可生效。 建议大家安装控件时1-3的步都要做。 有关VCL控件的安装和卸载等问题,在 http://www.cppfans.com/vclcontrol.asp 上有更详细的介绍。 【文件内容】 VCL\*.* 串口控件 Help\YbCommHelp.chm 帮助文档 Examples. 完整的示例程序,包括: |- CommMcu 与单片机通讯:超时方法帧首尾识别的例子 |- ModemDial Modem 拨号的例子 |- SendBinary 二进制数据收发 |- SendPackage 数据包收发 (带首尾和控制符格式的) |- SendPkgOld 与以前版本兼容的数据包收发 (带首尾和控制符的) |- SendText 文本收发演示程序 |- Settings 自定义串口设置对话框,自己编 SettingsDialog 方法的对话框 |- SmpBinary 二进制数据收发,可以判断数据校验位是否正确 |- SmpSendFile 简单的文件收发演示程序 `- TestSendFile 文件收发演示程序 Source\*.* 控件源程序 readme.txt 您现在正在看的说明文件 license.txt 最终用户许可协议 【简单应用】 打开串口: try { YbCommDevice1->Active = true; } catch(Exception &e) { Application->MessageBox(e.Message.c_str(),"错误信息",MB_OK|MB_ICONSTOP); } 写数据 YbCommDevice1->Write(任意数据的地址,字节数); 例如 int i=5; YbCommDevice1->Write(&i,sizeof(int)); YbCommDevice1->Write(Memo2->Text.c_str(), Memo2->Text.Length()); 读数据 实际读出字节数 = YbCommDevice1->Read(任意缓存地址,缓存容量); 【新功能:识别完整的数据帧】 __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { YbCommDevice1->Active = true; //打开串口 YbCommDevice1->PackageType = cptFrameTimeout; //使用超时的方法识别每帧数据 YbCommDevice1->UsePackage = true; //启动 Package } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { char Buf[3]; Buf[0] = 0x99; Buf[1] = 0x1b; Buf[2] = 0x0d; YbCommDevice1->WritePackage(Buf,3); //发送3个字节: 99 1B 0D } //--------------------------------------------------------------------------- void __fastcall TForm1::YbCommDevice1Package(TObject *Sender, int NotifyType) { unsigned char Buf[1000]; //接收缓存 int n = YbCommDevice1->ReadPackage(Buf,1000); if(n>0) //收到数据的字节数 { AnsiString s; for(int i=0; iLines->Add(s); //在 Memo1 里显示出收到的数据, 将会是完整的一帧数据 } } //--------------------------------------------------------------------------- 谢谢您对Victor串口控件的支持! 欢迎到我的网站上讨论串口控件的问题! ---- Victor Chen

近期下载者

相关文件


收藏者