`
film
  • 浏览: 226089 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

VC调用vbscript.dll使用其正则表达式库

 
阅读更多

VC调用vbscript.dll使用其正则表达式库

最近要实现一个车险特别约定内的值填空,但是又不想录单员随便在特别约定内乱录入,毕竟这是要打印到保单上面的,

所以考虑在在特别约定模板内增加部分文本弹出录入后替换,所以用到了正则表达式.


VC6使用正则表达式的话,有很多选择,最主要我觉得有两种:一种是使用boost的正则表达式库,还要一种是现在介绍的以com的方式调用的vbscript.dll了。

其中,我个人倾向于使用vbscript.dll的正则表达式库,原因:主要是,感觉这么小的功能,没必要动用boost这样的牛刀,杀这样一只蚂蚁也不太合适,所以

还是使用vbscript.dll,而且这个使用这个也有很多优点的,在win平台下,该dll是系统自带的,在system32里面。而且,考虑到一个问题,boost库的正则

表达式似乎与.net里面的有些许区别,而且javascript里面用的正则表达式库也是这个,总而言之,比较熟!


废话有点多,总而言之,用这个好!

进入正题了,首先用vc以资源的方式打开C:/Windows/System32/vbscript.dll,注意以资源的方式打开,默认是auto,那就只是看到一个vbscript.dll了。

选择typelib的第二项,选择导出成RegExp.tlb

然后将RegExp.tlb拷到工程目录下,在stdafx.h里面加一句

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->#import"RegExp.tlb"

因为要调用com所以在构造函数里面

CTestDlg::CTestDlg(CWnd* pParent /*=NULL*/): CDialog(CAaDlg::IDD, pParent)

加入:

然后写个函数试一下

发张靓图:
运行效果图

原文地址:

http://www.cnblogs.com/linbc/archive/2009/03/21/1400108.html

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics