- 博客(48)
- 资源 (25)
- 收藏
- 关注
原创 查询ACCESS时使用通配符来简化工作
我们都知道,在SQL查询中可以使用百分号%来模糊查询; 但是,实际上JET-SQL支持好几种通配符, 这意外着,我们在查询ACCESS和SQL Server时可以更自由的定义模糊查询的方式,而不是单纯死板的只能使用%匹配任意个数的任意字符. 这些通配符一般老师不会讲,我们也很少注意. 使用得当会提高我们的工作效率,某些工作不再需要编码完成,简单一个SQL就能搞定! 当然
2008-10-29 11:43:00 5289
原创 VC6中使用内存DC加载并显示JPG图片的注意事项
今天在VC6中显示JPG图片,采用了内存DC缓存的方法刷新,但死活刷不出来,查了一下午才明白(没办法,很少用GDI,我小菜一个:( ):使用IPicture::Render函数向DC上贴图时,若DC是一个内存DC,一定要先SelectObject一个CBitmap,内存DC没有Bitmap是画不出来的! 另外,IPicture是COM库,需要注意初始化COM, CMYApp
2008-10-24 18:05:00 4184
原创 在VC的非控制台程序中调用DOS界面
虽然WIN32时代是图形界面时代,但偶尔程序中还需要用到命令行模式,比如批处理,这时再搞个图形界面出来显得似乎就不那么专业了。但客户还需要在正常状态下(对于命令行模式,我认为用户是非正常状态,比如脑子进水。)使用图形界面,这决定我们不能开一个控制台工程,而需要使用MFC exe程序。 OK,理所当然的,通过条件控制,命令行下我关掉对话框界面的调用代码,再使用cout
2008-10-23 10:53:00 3751 2
原创 程序堆栈溢出感慨
从来都感觉栈溢出离我很远, 自己的程序也从来没有栈溢出过. 今天同事的程序因为数据量大,递归调用太多,导致程序直接崩溃,调查结果是:堆栈溢出! win32默认的单线程栈大小是1M。不光是函数调用会入栈,函数内局部变量的空间也会在栈中申请;简单的一个测试例子: int c[262144]; 把这一句放到可以执行到的函数里;虽然编译可以通过,但默认
2008-10-16 15:56:00 3843 6
原创 用VC6打开XP风格通用文件对话框
一般地,VC6中使用CFileDialog来打开windows通用打开文件对话框和保存文件对话框。但,遗憾地是,很多人告诉我(包括我头头),也许也会这么告诉你,CFileDialog只能打开win98风格的对话框,如下图一。 图一,标准文件打开对话框 但我们是不会满足的,看着别人程序里漂亮的XP风格对话框,难道我们只能扩展CFileDialog,自己实现(所有我认识的人都
2008-10-16 13:30:00 4811 13
转载 只能看不能读的中文文章
1、赵元任《施氏食狮史》 石室诗士施氏,嗜狮,誓食十狮。施氏时时适市视狮。十时,适十狮适市。是时,适施氏适市。氏视是十狮,恃矢势,使是十狮逝世。氏拾是十狮尸,适石室。石室湿,氏使侍拭石室。石室拭,氏始试食是十狮。食时,始识是十狮,实十石狮尸。试释是事。 2、杨富森> 于瑜欲渔,遇余于寓。语余:"余欲渔于渝淤,与余渔渝欤?" 余语于瑜:"余欲鬻玉,俞禹欲
2008-10-10 11:44:00 892
转载 CListCtrl 行高问题最终解决方法[转]
下文转自:http://hi.baidu.com/mingyuejingque/blog/item/23413ceeeedb54ffb3fb95f5.html 我也认为重载CListCtrl::DrawItem函数能自绘item,但实际上子类的DrawItem死活没反应。不知道怎么回事。style已设置好了的。奇怪! 谁能告诉我为什么? ===============
2008-10-08 18:48:00 4526
原创 Internet Transfer 下载源代码失败的解决之道
这两天用Internet Transfer控件下载网页源代码时发现一个问题,有的页面可以打开,但有的页面只下载了一部分代码就被截断了。找了一下午没发现解决方法,倒是在搜一个解决乱码的解决方法时把问题解决了。大虾提议下载VS6.0 SP4补丁来解决乱码问题。但在SP4的readme文件里,我发现了Q232194: Internet Transfer 控件的 OpenURL 方法截断所下载的文件。 B
2008-10-07 14:54:00 889
原创 SendMessage函数VB中发送字符串解决之道
没日没夜的找了两天,翻了无数的页面,终于找到VB中用SENDMESSAGE向其他程序发送消息的方法。将第四个参数修改成ByVal lParam As String,然后使用WM_SETTEXT调用,终于OK。VB6+XP系统下向DELPHI窗体中TEDIT发送字符串成功。中英文字符串都可以。DELPHI窗体不需要焦点。源代码如下:lngHwnd = FindWindow("TFormMain",
2008-10-07 14:54:00 7636
原创 解决一个正则表达式问题
这两天工作需要,使用了正则表达式.遇到两个问题,最终解决.跨行取字符: [/w/W]+取到匹配的第一个字符,使用非贪婪模式(?): [/w/W]+? 例子如下:&/>标签: false;" class="BL FBigger">加入收藏&/>标签: false;" class="BL FBigger">加入收藏Pattern:ShopInfo([/w/W]+?)结果:ShopInfo">&/>标签
2008-10-07 14:53:00 955
原创 VB中正则表达式的SubMatches、matches和MatchCollection的使用
今天工作使用到,所以就解决了这个问题,标记下来: Dim reInfo As RegExp 正则对象 Dim MatchInfo As MatchCollection, objMatch As Match, objSubMatch As SubMatches …… Set MatchInfo = reI
2008-10-07 14:52:00 10923 4
原创 DISTINCT,DISTINCTROW去除重复值
SELECT DISTINCT F1, F2, F3,F4,F6,IDFROM golf;ID,F1, F2, F3,F4,F6 是 golf表的字段,其中ID是自动编号,没有重复值, F1, F2, F3,F4,F6都是每两条中重复一条.上面的SQL可以把不重复的记录晒出来,以F1为重复判断字段.DISTINCT F1,DISTINCT F2 提示语法错误,若要对F1,F2同时判断重复,比如说F
2008-10-07 14:51:00 9507
原创 delphi7学习经验积累
2006年开始学习delphi一路以来的经验积累吐血大公开。若这些经验对你有所帮助,能使你少走些许弯路,恳请能告诉我,或若愿意和我分享经验,探讨vb、delphi、vc、asp问题请留下评论或email。本人email:boythl#163.com。===================================================2006、10、11 在制作DLL时,在最后一
2008-10-07 14:50:00 3501
原创 delphi类型文件的小问题
今天在看《delphi 5开发人员指南》(不错的书,讲解的很详细,推荐!)时看到一段描述: 为使访问方便,像记录和数组这样的结构化类型在内存中都是按照字或双字排列的。这样会占用掉多于实际需要的磁盘空间。不过,当在声明记录时加上保留字p a c k e d时,就可以保证数据是紧凑存储的。 前面的record类型定义如下: TPersonRec = Packed record ...
2008-10-07 14:50:00 742 1
原创 delphi数组地址和VC的区别
今天使用blockRead读二进制数据块时发现,delphi中的数组地址和vc++中的数组地址是有区别的。 在vc中使用数组名或数组第一个元素的地址就是数组的首地址;而在delphi中使用@取地址符取数组首地址;如下有: var A:array[0..2] of integer;则: @A 或 @A[0] 都可取到数组A的元素首地址。两者是相等的。
2008-10-07 14:47:00 1971
原创 在DELPHI中使用正则表达式
在网上发现,有多种方法可在delphi中使用正则表达式。窃以为直接使用微软的RegExp对象会比较简单,无需额外工作。 使用微软RegExp方法: 1. 下载并安装最新版的"Microsoft(r) Windows(r) Script" (vbscript.dll)2. 注册vbscript.dll (regsvr32 命令,若安装过VB或IE5以上会默认安装该DLL)3. 在Delphi中
2008-10-07 14:47:00 926
原创 VC中类似VB的DoEvents函数
在一个程序中,如果有一个耗时很长的程序段(比如说一个100万次的循环),程序在执行这段程序时会象死掉一样。vb中提供DoEvents函数来解决这个问题。对于VC++来说,除了用多线程,还可以用下面的函数,起到类似于DoEvents的功能: BOOL CheckMessageQueue() { MSG msg; while(::
2008-10-07 14:44:00 1622
原创 DELPHI中图片处理若干小问题
1. delphi中TColor格式 TColor类使用四个字节表示颜色,用十六进制表示就是 $PPBBGGRR 高 8 位指明使用的调色板(允许 0-2),次高 8 位指明颜色中蓝(绿)色的亮度(允许0-254),次低 8 位指明绿(蓝)色的亮度(允许0-254),低 8 位指明红色的亮度(允许0-254)。 对于调色板,0 表示
2008-10-07 14:41:00 2524 2
原创 MAPBASIC提高Eval的精度
在mapbasic里有以下语句:dim a as floata = 121.876518print a //将得到121.877若直接使用 mapinfo.eval("a") 语句提取a的值时,将也得到121.877若想获取121.876518不损失精度,可使用format$函数,如:print Format$( a ,"#.######") //打印出 121.876518mapinfo.ev
2008-10-07 14:40:00 816
原创 与小i机器人的无聊对话
这是某天无聊时和MSN里的小I机器人的无聊对话。===============x 说 (15:53):我靠 小i游戏 说 (15:53):我让你依靠,让你靠,没什么大不了~~~~~~~~~~~~~~x 说 (15:53):我靠 小i游戏 说 (15:53):知道嘛。。。网络是平等的。。。不要恶意挑衅好么?!谢谢了。。。我只是个小机器人哦。。x 说 (15:53):我靠 小i游戏 说 (15
2008-10-07 14:38:00 1495 2
原创 VC6学习经验积累
个人经验,谨作抛砖引玉。欢迎共同探讨和批评指正!===============================2008/09/23处理MFC的ClassView中没有定义的消息需要注意三个地方,如WM_SYSCOMMAND消息,可以接收系统菜单命令,但ClassView中没有,这时需要自己手动添加。一、在dialog的cpp中添加MessageMap: BEGIN_MESSAGE_MAP(
2008-10-07 14:37:00 2011
转载 利用word漏洞清除word保护密码
在使用Word进行文件保护时,我们经常会使用到窗体保护(工具->保护文档),用窗体保护最为彻底,用户无法编辑,也无法进行Copy&Paste操作,前几天发布的Word文档的漏洞可以让你用很简单的方法去掉这个密码。我们自己来测试一下:首先创建一个word文档,使用窗体保护的方式保护文档,工具->保护文档->Check“仅允许在文档中进行此类编辑”->Choose“填写窗体”,此时会弹
2008-10-07 14:35:00 1323
原创 VC挂线程钩子的小经验
挂线程钩子,最主要的是调用SetWindowsHookEx函数,使用例下:g_hHook = SetWindowsHookEx( WH_SYSMSGFILTER | WH_MSGFILTER, //截获消息类型,可组合使用 (HOOKPROC)HookShowWindow, //消息回调函数 g_hInst, //消息回调函数所在模块的handle,因为是
2008-10-07 14:30:00 848
转载 Hook、钩子、VC++ 基本概念
一、基本概念: 钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。 钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程
2008-10-07 14:29:00 1357 1
原创 "无法启动应用程序,工作组信息文件丢失,或是已被其他用户已独占方式打开"在VC中解决办法
若是access数据库有密码保护,使用下面的连接字符串会报一个“无法启动应用程序,工作组信息文件丢失,或是已被其他用户已独占方式打开”的错误,Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False; Password=Psd;Data Source=MDBPath 你会发现你的用户名是对的admin,密码也是没任何问题的,
2008-10-07 14:27:00 6668 3
原创 MapInfo中两表连接查询的优化方法
Mapinfo的in和not in两表嵌套查询语句奇慢无比!尤其在大数据量情况下.in和not in例子如下:Select * from tab1 where col2 in (select col1 from tab2)Select * from tab1 where col2 not in (select col1 from tab2) 经试验,可使用如下方法变通查询,效率会N倍提高
2008-10-07 14:26:00 1984
原创 MapX中高效查询方法
在MapX中,查询一个值,可以使用layer.Search,对效率无要求时完全无问题. 稍微要求点效率, 可以给要查询的字段加上索引(MapX加索引方法至今我不知道,MapBasic宏可以使用Create Index On TabName (FieldName)方法实现)。 但若效率要求比较高,怎么办?有个方法:给查询字段加上索引,这里是指单字段查询!然后设置layer的KeyFiel
2008-10-07 14:25:00 1152
原创 向ACCESS大批量快速插入数据的方法
今天经过试验,总结了一条向ACCESS大批量插入数据时比较快捷的方法.先前VC程序中使用connection执行insert语句向ACCESS中插入数据,效率奇慢无比.今天测试结果表明:同等数据量时, rs.addnew比connection.execute(insert)要高N倍.另,建议使用事务机制处理数据. 将connection.BeginTrans和connection.Com
2008-10-07 14:23:00 26825 8
原创 vector查找对象或指针成员值的方法
使用find在vector中查找成员时使用的是直接==比较,即如果vector中存放的是指针或对象时直接使用find查找将直接比较指针地址值是否相同,这时需要使用到find_if。 如有class CAttrCheck{public: CString m_strCode; bool IsExist;} 有vector m_Attrs;若想在m_Attrs
2008-10-07 14:21:00 2677
转载 程序员的臭毛病
作者:晴天有雨你不承认么?身为程序员,自己身上的臭毛病难道看不出来么?--列举之,请勿对号入座。鄙视商务和营销人员之所以把这条放在第一位,确实是感触颇深。程序员BS一切没有代码气息的工作。尤其是对于商务和营销人员,认为他们的工作"一点技术含量都没有",只是陪人吃吃喝喝,随便哈拉就能拿到比自己辛辛苦苦熬夜吃快餐编写代码更多的收入,实在是天下之大不公!当看到这些人,在向别人推销自己
2008-10-07 14:19:00 592
转载 《疯狂的程序员》摘录
《疯狂的程序员》第13章摘录 作者:疯狂的程序员 【点击欣赏原文】程序员泡妞的技术其实和写程序差不多。比如你拿到一个题目上手就去写,那多半要糟糕。也许就在还有几行代码就要完了的时候你忽然发现写不动了,这样写根本写得不到结果;或者你忽然发现走了冤枉路,用这个方法写了二三百行代码,但是C标准库里本来就已经给你提供了这个函数,直接调用就完事。所以泡妞和写程序一样,要有计划,有设计,甚至要
2008-10-07 14:17:00 535
原创 内存映射文件
今天发现,我们可以使用内存映射文件来解析GDF文件.应该会比先前快很多吧? 哈哈.志之,下版改进!============================内存映射文件是由一个文件到一块内存的映射。Win32提供了允许应用程序把文件映射到一个进程的函数(CreateFileMapping)。这样,文件内的数据就可以用内存读/写指令来访问,而不是用ReadFile和WriteFile这样的I/O系
2008-10-07 14:16:00 830
原创 查看svchost启动了哪些服务并杀之的方法
在winXP命令提示符下,输入命令ntsd -c q -p 844即可杀掉PID是844的svchost进程,任务管理器可以看到某进程的PID。 除了System、SMSS.EXE和CSRSS.EXE这三个进程,ntsd命令可以杀掉任何一个系统进程。从Windows 2000开始,微软就提供了ntsd工具,该命令执行后,可让你获得系统的debug权,因此能够用来关闭大部分的系统进程.
2008-10-07 14:15:00 1162
原创 CWnd HWND概念
汗一个.连基本的CWnd HWND HANDLE 概念都没搞清楚, 都用VC干了半年活. 汗颜,B4自己一下! CWnd window class 窗口基类 HWND window handle 窗口句柄 HANDLE handle 很明显,就句柄
2008-10-07 14:14:00 664
转载 自定义回调函数原型的方法
回调函数是不能显式调用的函数;通过将回调函数的地址传给调用者从而实现调用。 回调函数使用是必要的,在我们想通过一个统一接口实现不同的内容,这时用回掉函数非常合适。比如,我们为几个不同的设备分别写了不同的显示函数:void TVshow(); void ComputerShow(); void NoteBookShow()...等等。这是我们想用一个统一的显示函数,我们这时就可以用回掉函数了
2008-10-07 14:13:00 2710 3
转载 VC增加自定义消息[转]
ClassWizard不允许增加用户自定义消息,所以你必须手工输入。输入后,ClassWizard就可以象处理其它消息一样处理你自定义的消息了。 下面是增加自定义消息的步骤: 第一步:定义消息。开发Windows95应用程序时,Microsoft推荐用户自定义消息至少是WM_USER+100,因为很多新控件也要使用WM_USER消息。 第二步:实现消息处理函数。该函数使用WPRAM和
2008-10-07 14:11:00 763
原创 VC不定参数的传递和自定义异常的抛出
今天下午学习了两点,一,在vc自定义函数中传定不定个数的参数,即如format函数中的第二个参数"...",能接收任意个数参数;二,自定义异常的抛出,即throw一个自定义异常. 函数代码列如下: // ComboProp.h: interface for the CComboProp class. // //////////////////////////////
2008-10-07 14:06:00 1863
原创 delphi从imagelist中获取透明背景图片的方法
Bitmap:= TBitmap.Create();Bitmap.TransparentMode := tmFixed; //必须在getBitmap前设置 Bitmap.Transparent := True;if (ImageList.GetBitmap(SubMenu.Tag, Bitmap)) thenbegin Bitmap.Trans
2008-10-07 14:05:00 8769
转载 清明笑话
下面的笑话是清明节放假前夕同事在公司内部邮件中贴的,先前被我贴在blogcn上,今天整理blog时从blogcn拿过来。 =============================== 清明节(4月4日)快到了, "你的墓志铭打算写点啥?"以下是一些回复:1.一居室,求合租,面议。2.小事招魂,大事挖坟。3.我觉得我还可以抢救一下!4.广告位招租5.提供鞭尸
2008-10-07 14:02:00 915
转载 VC文件扩展名解读大全
2005-9-6 作者:vclove .APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。资源辅助文件。.BMP:位图资源文件。.BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。用于浏览项目信息的,如果用source b
2008-10-07 14:00:00 555
超全的emoji字符表情图片开发资源包
2020-10-15
jadx-gui-1.1.0-b1331-1774dc74
2020-10-15
带6个插件的gdal1.10已编译dll
2015-01-12
TTXStringGrid组件V1.1.64源码包-delphi中的扩展StringGrid
2008-11-26
CPPUnit 1.12.1 库源码包和文档
2008-10-08
TTXStringGrid V1.0.38 - delphi的扩展StringGrid
2008-10-07
boost1.33的regex库和dll
2008-08-04
TXM1.0局域网聊天程序开源
2008-07-24
2008年7月2号验证可用到090404的kav6 key
2008-07-02
tinyxpath_1_3_1 用于tinyXML的XPath开源组件
2008-06-24
批量mif转tab,tab合并工具
2008-03-25
VC6函数说明自动添加插件NavComment
2008-03-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人