
技术
文章平均质量分 93
lujunql
C、C++、QT、JAVA Web、Spring MCV、Spring boot、Python、大数据
展开
-
WINDOWS CE下I/O端口访问
最近开发嵌入式模拟屏系统,需要使用我们自己开发的PC104接口卡,通过对接口卡地址空间的读写来采集相应的数据。以下为端口读写的功能函数,用内联汇编实现!//写端口void OutPortByte(WORD wAddr,BYTE bTemp){ _asm { push eax push edx mov dx,wAddr mov al,bTemp out dx,al pop原创 2007-07-24 09:28:00 · 1393 阅读 · 0 评论 -
WINDOWS CE下ANSI 与 Unicode 字符相互转换
一直在VC下做管了 ANSI 字符处理!在EVC下写出的字符处理程序老有问题!虽然知道是字符问题,但总是有些晕!~所以写一下以免自己再晕!同时也以免初学者晕!~~在EVC中的字符都是宽(Unicode )字符的!例如,一个EDIT控件的对象m_Info要设置其中的内容要写成以下形式:m_Info.SetWindowText(_T("Hello"));才可以!要使用宏_T()。但是宏_T()原创 2007-07-24 09:55:00 · 1780 阅读 · 0 评论 -
WINDOWS CE下232串口的使用问题
近来做WINCE下RS232串口通讯,遇到串口数据无法送出来的问题 。郁闷啊!在网上找了很久资料,终于知道是什么原因了!并将相关通讯代码发上来,为同行提供一些借鉴!我们使用的是研祥的EC3-1547的工控板,X86内核,使用WINCE.net!在使用串口通讯的过程中COM1无法发送/接收到任何数据,通过测试,可以确定串口完好,在使用研祥提供的串口测试工具进行测试时依然无法发送/收到数据,使用试原创 2007-11-19 15:13:00 · 2782 阅读 · 3 评论 -
VC中使用自定义消息在进程间通讯
进程间通讯应该是老的内容了,相信用VC的大侠们都知道,书本上也都有介绍。我在这只是对自己用过的东西简单的总结一下,希望对有兴趣者有帮助。WINDOWS中进程间通讯的方式很多,如:消息机制,共享内存机制,SOCKET,COM,RPC等等,需要时可以根据具体情况来选择使用的方式。我在这本文中仅介绍进程间的自定义消息通讯机制。1,WINDOWS中自定义消息的定义和使用;在WNDOWS中消息分原创 2008-04-29 09:25:00 · 2212 阅读 · 0 评论 -
使用内存共享机制进程间通讯
前一篇中简单介绍了进程间通讯的机制之一-------消息机制。本篇中我简要的描述一下进程间通讯的另一种机制----------内存共享机制。WINDOWS中要使用内存共享的方式在进程间通讯需要采用DLL方式。由于WIN32把DLL装入全局内存并把DLL映射到每个程序的地址空间。所有载入DLL的应用程序只能共享程序代码,不能共享数据。要想使DLL的数据区能设计成共享的存储区,可以通过#pragm原创 2008-04-29 21:07:00 · 863 阅读 · 0 评论 -
循环冗余校验(CRC校验)的实现代码
CRC校验的基本原理(循环移位的模2运算)我就不介绍了,网上的资料很多,这里仅发点我做过的通讯程序中的CRC实现代码,以供大家参考。生成多项式为:x16+x14+1。//计算CRC校验WORD CalcCrc(BYTE crcbuf, WORD crc){ int i; crc=crc ^ crcbuf; for(i=0;i { BYTE chk; chk=crc&1; crc=crc>原创 2008-04-30 08:42:00 · 2216 阅读 · 0 评论 -
c#中将数据库数据导出到EXCEL中
我分以下几步进行介绍: 1,新建一个C#应用程序,在对话框上放置一个按钮,Name=buttonOutput,Text=Output,用这个按钮激发导出程序; 2,添加对“Microsoft Excel 9.0 Object Library”的引用,根据自己计算机上安装Office版本的来确定Library的版本; 3,在代码中加入引用:using Excel;using Syst原创 2008-04-27 22:32:00 · 2351 阅读 · 0 评论 -
使用VC自绘美化通用控件
VC通用控件都是灰色,当对程序界面进行美化时,使用通用控件就和美化后的程序界面不搭配,在VB,C#中,可以很方便的更改控件背景颜色,但在VC中就不能,需要我们自己来完善这方面的功能。我在这只简单的介绍一些,大家有兴趣的话,可以到http://www.vbkbase.com(VC知识库)中去搜索查看相关内容。在VC60中新建一个对话框工程,添加一个新类,根据你要美化的控件选择对应的基类,如我要美原创 2008-04-28 13:34:00 · 1983 阅读 · 1 评论 -
VC中使用mci指令控制光驱(打开/关闭)
不多说了!看代码吧!1,加入头文件和库文件#include #pragma comment(lib, "winmm.lib")2,打开光驱代码 mciSendString("Set cdAudio door open wait",NULL,0,NULL); 3,关闭光驱代码mciSendString("Set cdAudio door closed wait",NULL原创 2008-05-07 23:26:00 · 1312 阅读 · 1 评论 -
IFX数据库访问介绍
IFIX是一款使用很广的工业上位组态软件,其中最有特色的就是它的实时数据库。IFIX中的数据库分为实时数据库和历史数据库。IFIX为外部系统对数据库的访问提供了ODBC接口,在安装完IFIX后,通过系统管理工具中数据源管理程序可以看到IFIX的DSN名称:FIX Dynamics Historical Data(IFIX历史数据库)和FIX Dynamics Real Time Data(IFI原创 2008-07-16 16:18:00 · 5778 阅读 · 1 评论 -
一个使用WINDOWS媒体库的WAV音频文件播放的示例
由于要播放设备录音文件的需要,自己写了一个音频WAV文件的播放类,有兴趣的可以自己查些资料,进行学习!WINDOWS媒体库的功能很多,除了能播放WAV文件,还能播放MP3,CD光盘类的文件。好了,直接看代码吧!使用PlayWav指定WAV文件就可以播放了。方式如下:CAudio m_Audio;m_Audio.PlayWav(AfxGetApp()->GetMainWnd(), "c:原创 2008-07-16 16:04:00 · 2164 阅读 · 0 评论 -
How To Pass Arrays Between Visual Basic and C
From Microsoft MSDN:SUMMARYThis article discusses some aspects related to passing data in arrays between Microsoft Visual Basic and C functions. It compares the Standard C array and the SAFEARRA转载 2008-05-09 10:41:00 · 1176 阅读 · 0 评论 -
VC中使用托盘机制
在VC中使用托盘机制,在系统托盘中显示一个图标,用户在图标单击右键时,显示一个简单的菜单。1,新建一个简单的对话框工程;2,建立一个菜单,ID命名为IDR_MENUPOP;3,在对话框类源文件中定义一个托盘响应消息和一个托盘结构变量:#define WM_SHOWTASK (WM_USER+101) //自定义托盘响应消息 NOTIFYICONDATA struct_Nid;原创 2008-05-08 19:53:00 · 183 阅读 · 0 评论 -
WINDOWS WDM驱动开发基础
前几年由于工作需要,学习了WDM驱动程序开发,主要开发USB设备的驱动程序。我推荐一个网站HTTP://www.DriverDevelop.COM(驱动程序开发网),里边论坛的内容很不错,对驱动程序初学者和开发者很有帮助。有兴趣的朋友可以去那儿看看。在这里我就不多介绍驱动开发的知识了,不是我不愿意和大家分享,实在是我知道的太少了,不好意思。在这里我与大家分享一点驱动开发的基础知识,如果大家有问题,原创 2008-05-12 23:01:00 · 2381 阅读 · 0 评论 -
应用程序中如何枚举系统所有USB设备
安装完DDK后,在DDK中有一个USB枚举的程序原码(D:/NTDDK/src/wdm/usb/usbview)和可执行文件(D:/NTDDK/src/wdm/usb/usbverfy/usbverfy.exe)。大家可以通过学习来编写自己的应用程序来枚举系统的USB设备。这个程序的入口在usbview.c文件中。程序通过向系统发送IOCTL来枚举系统USB设备。如果大家有兴趣的话,可以读原创 2008-05-22 14:03:00 · 2721 阅读 · 2 评论 -
USB1.1协议学习经验之2---- USB设备加载过程
先了解一下USB设备的连接过程:当USB设备接上或从USB设备移开的时候,主机启动一个被称作总线标识(bus enumeration)的进程,来标识并管理设备状态的改变,当USB设备接上一个加电端口时,系统当采取以下操作: 1.USB设备所连的集线器通过其通向主机的状态改变通道向主机,汇报本USB设备已连接上。此时,USB设备处于加电状态,它所连接的端口是无效的。 2原创 2008-08-06 13:54:00 · 2787 阅读 · 0 评论 -
USB1.1协议学习经验之1----设备端点
前两年做USB设备程序和USB设备主机驱动程序,学习了USB1.1协议,现在将我的学习经验和实际工作遇到的USB协议的关键知识与大家共享,如有不正确的地方,还请指教。USB协议全本包括的内容很多,有气电特性,拓扑,数据流模型,主机硬件和软件等众多内容,我选偏软件和实践中经常遇到的内容知识点和大家分享。先说几个大家经常在网上看到或听到的术语:USB固件:我开始学做USB东东的时候,老是看原创 2008-08-06 09:11:00 · 5395 阅读 · 0 评论 -
USB1.1协议学习经验之3---- USB设备传送类型(数据流模型)
在上一篇中,介绍了USB设备的加载过程,其中提到了USB设备信息的传送方式有:控制传送(control),同步传送(isochronous),中断传送(interrupt),批传送(bulk)四种。这四种传送方式是针对不同的USB设备应用设计的。下面介绍一下这几种传送方式,具体的还是要自己看规约啊。 控制传送:可靠的、非周期性的、由主机软件发起的请求或者回应的传送,通常用于命令事务和状态原创 2008-08-07 09:33:00 · 1761 阅读 · 0 评论 -
USB1.1协议学习经验之4---- USB设备的描述表
为了是主机在枚举USB设备后知道USB设备的类型,厂家,驱动程序等相关信息,在USB设备固件中需要对自己进行一些描述,当主机在进行配置枚举时,将这些信息返回给主机。这些信息在USB协议中称为描述表,描述表有以下几种:1,设备描述表:给出了USB设备的一般信息。这包括对设备及所有设备配置起全程作用的信息。一个USB设备只能有一个设备描述表。 所有的USB设备都有缺省控制通道。缺省控原创 2008-08-22 13:50:00 · 2091 阅读 · 0 评论 -
USB1.1协议学习经验之5---- USB设备请求
所有的USB设备在设备的缺省控制通道(Default Control Pipe)处对主机的请求发出响应。这些请求是通过使用控制传输来达到的,请求及请求的参数通过Setup包发向设备,由主机负责设置Setup包内的每个域的值。每个Setup包有8个字节。见表8-2。 偏移量 域 大小 值 描述原创 2008-08-23 09:04:00 · 2844 阅读 · 0 评论 -
DeviceIoControl的使用说明
应用程序和驱动程序的通信过程是:应用程序使用CreateFile函数打开设备,然后用DeviceIoControl与驱动程序进行通信,包括读和写两种操作。还可以用ReadFile读数据用WriteFile写数据。操作完毕时用CloseHandle关闭设备。我们比较常用的就是用DeviceIoControl对设备进行读写操作。先看看DeviceIoControl是怎么定义的:BOOL Devic原创 2008-06-10 16:29:00 · 25253 阅读 · 0 评论 -
CTL_CODE说明
本文来自:http://msdn.microsoft.com/en-us/library/ms904001.aspx我们在说DeviceIoControl函数时其第二个参数dwIoControlCode就是由CTL_CODE宏定义的,下边我们可以了解一下CTL_CODE的内容。CTL_CODE:用于创建一个唯一的32位系统I/O控制代码,这个控制代码包括4部分组成:DeviceTy原创 2008-06-10 16:54:00 · 16980 阅读 · 1 评论 -
CTL_CODE定义中Method的说明
我在上一篇中说明CTL_CODE的时候,其中CTL_CODE定义中有一个Method域,该域的功能意义是定义用于与在驱动程序中获取应用程序数据缓冲区的地址方式。如果你看了我前边的文章,你可以看到在DeviceIoControl的使用说明中对DeviceIoControl参数进行描述中关于lpInBuffer 和lpOutBuffer 的描述。简单的说,Method域就是定义了lpInBuffer原创 2008-06-14 16:42:00 · 3629 阅读 · 2 评论 -
C# B/S程序中出现“异常详细信息: System.Data.SqlClient.SqlException: 用户 'XXX/ASPNET' 登录失败。”的处理方法
最近用C#做了一个B/S项目,第一次做没有什么经验,在部署测试时遇到这样一个问题,连接时出现“异常详细信息: System.Data.SqlClient.SqlException: 用户 XXX/ASPNET 登录失败。”的错误信息。在网上一搜,资料蛮多。其中最有效的办法我写在下面,以供参考:1.打开数据库企业管理器,然后选择数据库---安全性---找到刚才报错的哪个XXX/ASPNE原创 2008-09-08 11:16:00 · 3075 阅读 · 0 评论 -
“检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005”的解决方法
最近用 C#做一个B/S系统,其中的报表部分和一些信息导入部分用EXCEL做,在本机上测试很好,但部署到服务器上时,出报表或导入信息时,就会出现“检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005”这样的错误,现将解决方法写在下边,以供参考:我的配置在Windows 2000原创 2008-09-08 11:25:00 · 3168 阅读 · 0 评论 -
关于VC数据库开发中数据库连接与效率的问题-----一点体会和经验
最近在调试新系统的时候,发现了一个问题,由于使用的硬件是小型工控机,CPU主频不高,原来在普通PC机运行良好的程序在工控机环境下运行十分缓慢,特别是有数据库表的交叉操作是,就更慢的出奇,让人无法忍受! 通过单步调试,发现慢的原因是在读取/查找数据库纪录的地方。怀疑是打开数据库连接过多的原因。试验将所有涉及到数据库操作的地方都使用一个已经打开的连接。效率有了很大提高原创 2008-09-24 21:53:00 · 839 阅读 · 0 评论 -
正则表达式基础与学习01----来自《编译原理与实践》
正则表达式表示字符串的格式。正则表达式r完全由它所匹配的串集来定义。这个集合称为由正则表达式生成的语言( language generated by the regular expression),写作L(r)。此处的语言只表示“串的集合”,它与程序设计语言并无特殊关系(至少在此处是这样的)。该语言首先依赖于适用的字符集,它一般是A S C I I字符的集合或它的某个子集。有时该集原创 2008-10-15 15:14:00 · 1330 阅读 · 0 评论 -
正则表达式基础与学习02----来自《编译原理与实践》
前面已给出了正则表达式的一个定义,这个正则表达式使用了在所有应用程序中都常见到运算的最小集合可为所有包含了至少一个b 的串写出一个正则表达式,如下所示:. * b . *(3) 字符范围我们经常需要写出字符的范围,例如所有的小写字母或所有的数字。直到现在都是在用表示法a | b | . . . | z 来表示小写字母,用0 | 1 | . . . | 9来表示数字。还可针对这种情况使用一个特原创 2008-10-15 15:23:00 · 766 阅读 · 0 评论 -
VC中使用XML的一点经验
由于开发需要,在程序中用到XML文件,主要要读取XML文件中的相关结点数据作为配置数据使用,程序做好后,在本机上可以正常运行。但发现在一些操作系统中(同一操作系统不同版本也不行)无法运行,出现“运行时错误”!分析了半天原因,发现在程序中#import的XML的DLL有问题,我的程序中是这样的:#import named_guids using namespace MSXML2; 加入的原创 2008-09-29 21:26:00 · 1193 阅读 · 0 评论 -
C# B/S程序中使用DropDownList出现System.ArgumentOutOfRangeException: “DropDownList1”有一个无效 SelectedValue,因为它不在项目列表中的解决方法
在程序中使用DropDownList控件,向DropDownList中显示当前一个值,出现异常详细信息: System.ArgumentOutOfRangeException: “DropDownList1”有一个无效 SelectedValue,因为它不在项目列表中。究其原因,发现要显示的这个值在DropDownList控件已有的ITEM中没有这个值。我在程序中这样处理的:原创 2008-10-14 23:28:00 · 3210 阅读 · 0 评论 -
转---常用数据库访问接口介绍(一)
来自:http://yuantaolzu.blog.sohu.com/80762184.html1 常见数据库访问接口1.1 ODBC ODBC:开放式数据库互连(Open Database Connectivity),是微软公司推出的一种实现应用程序和关系数据库之间通讯的方法标准,是一个接口标准。所以它实际上是一种标准,符合标准的数据库就可以通过SQL语言编写的命令对数据库进转载 2008-10-18 10:17:00 · 4746 阅读 · 0 评论 -
转--- 常用数据库访问接口介绍(二)
本文来自:http://yuantaolzu.blog.sohu.com/80847710.html1.5 ADOADO:(ActiveX Data Object)ActiveX数据对象。ADO是微软于1996年冬推出的一种面向对象的、基于COM思想的数据库访问接口。由于OLE DB标准的API是C++ API,只能供C++语言调用(这也是OLEDB没有改名为ActiveX DB的原因,转载 2008-10-18 10:19:00 · 2890 阅读 · 0 评论 -
转-在页面中嵌入音频和视频的代码
本文来源:http://blog.youkuaiyun.com/dahuagogo/archive/2005/04/30/368939.aspx在网页中适当嵌入音频和视频能够充分显示网页的多媒体特性,特别是随着宽带网的普及,使得网络广播和网络视频成为现实,网页音频和视频的重要性也日益突显。具体来说,网页音频和视频的嵌入方法主要有三种: 一、bgsound (一)、基本语法: bgsound转载 2008-10-27 09:43:00 · 726 阅读 · 0 评论 -
正则表达式基础与学习03----来自《编译原理与实践》
在下面的示例中,被匹配的串通常是英语描述,其任务是将描述翻译为正则表达式。包含了记号描述的语言手册是编译器的程序员最常见的。偶尔还需要变一下,也就是将正则表达式翻译为英语描述,我们也有一些此类的练习。例2.1 在仅由字母表中的3个字符组成的简单字母表å = {a, b, c}中,考虑在这个字母表上的仅包括一个b 的所有串的集合,这个集合由正则表达式( a | c ) * b ( a | c )原创 2008-10-15 15:27:00 · 1865 阅读 · 0 评论 -
转--ASP.NET程序中常用的源代码
本文来源:http://blog.youkuaiyun.com/lanwilliam/archive/2008/05/13/2440104.aspxasp.net程序中最常用的三十三种编程代码,为初学者多多积累经验,为高手们归纳总结,看了觉得很有价值~,大家不妨参考下! 1. 打开新的窗口并传送参数: 传送参数: response.转载 2008-10-31 11:52:00 · 681 阅读 · 0 评论 -
VS2005中建立C++下的智能设备工程无法成功的解决办法
最近要做Windows Mobile的项目,安装VS2005后基于VC++的智能设备项目不能创建成功,在网上搜索了一下,找到了解决的办法,写下来做参考。1. Close VS 2. Start RegEdit.exe 3. Find the following registry entry: HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows原创 2009-01-07 08:48:00 · 1949 阅读 · 1 评论 -
B/S开发中报表生成开发的一点经验
前一段做企业信息系统中的报表时,遇到一些问题:报表格式不规则,数据来源于多个库,原定的是将报表数据生成EXCEL文件,然后下载就可以了,但是客户要求能够在网页上对生成的报表进行预览。苦思解决方法,最后使用Excel的发布(PublishObjects)功能将Excel文件生成为Html文件。以下是示例代码: //建立Excel应用对象 string str原创 2009-01-13 18:10:00 · 1496 阅读 · 0 评论 -
打造完美的CDialogBar
本文来自:http://fdujohn.spaces.live.com/blog/cns!4FEAD632772E9F9A!144.entry DialogBar相比Dialog有很多优势。因CDialogBar继承于CControlBar,因此其可以Docking在窗口一边,而把CView挤压开,但是 CDialogBar 的使用并不是很容易,因为 MFC 里面并没有提供直接可以使用的C转载 2009-01-16 10:32:00 · 8377 阅读 · 2 评论 -
智能卡的操作系统——COS
智能卡的操作系统——COS 卓 文 随着IC卡从简单的同步卡发展到异步卡,从简单的E-PROM卡发展到内带微处理器的智能卡(又称CPU卡),对IC卡的各种要求越来越高。而卡本身所需要的各种管理工作也越来越复杂,因此就迫切地需要有一种工具来解决这一矛盾,而内部带有微处理器的智能卡的出现,使得这种工具的实现变成了现实。人们利转载 2009-04-11 21:05:00 · 1977 阅读 · 0 评论 -
非接触式IC卡中的射频识别技术
非接触式IC卡中的射频识别技术 湖南大学电气与信息工程学院 刘铮 章兢 摘 要:介绍了射频识别技术在非接触式IC卡中的应用,对非接触式IC卡的射频通讯在实现中的问题作了探讨。并对Type At Type B两种通讯编码标准的差异进行了比较。最后,在射频IC卡向CPU卡发展的方向作了一些展望。 关键词:射频识别;非接触式IC卡;Typ转载 2009-04-11 21:03:00 · 7617 阅读 · 0 评论