您的当前位置:我要购书网>在线阅读>VC++/C#/C

developing com components using vc-atl(3-5)

来源:互联网  作者:我要购书网信息中心  发布:我要购物网收集整理  发布时间:2006-8-31 人气:183

4. 编写实现函数功能的代码 ValidateCard.cpp清单

// ValidateCard.cpp : Implementation of CValidateCard#include "stdafx.h"#include "ValidateCreditCardServer.h"#include "ValidateCard.h" /////////////////////////////////////////////////////////////////////////////// CValidateCard STDMETHODIMP CValidateCard::ValidateCreditCard(BSTR bstrCCNo, BSTR bstrCCType, long *val){ AFX_MANAGE_STATE(AfxGetStaticModuleState()) // TODO: Add your implementation code here CString strType(bstrCCType); strType.MakeUpper(); if(strType.Compare("VISA")==0) bstrCCType=SysAllocString(OLESTR("V")); else if(strType.Compare("MASTER")==0) bstrCCType=SysAllocString(OLESTR("M")); else if(strType.Compare("AMERICAN")==0) bstrCCType=SysAllocString(OLESTR("A")); else { *val=0; return S_FALSE; } if((PrefixCheck(bstrCCNo,bstrCCType)==S_OK) && (LengthCheck(bstrCCNo,bstrCCType)==S_OK) && (LuhnCheck(bstrCCNo,bstrCCType)==S_OK)) { *val=1; return S_OK; } else { *val=0; return S_FALSE; } return S_FALSE;} STDMETHODIMP CValidateCard::LuhnCheck(BSTR bstrCCNo, BSTR bstrCCType){ AFX_MANAGE_STATE(AfxGetStaticModuleState()) // TODO: Add your implementation code here CString strobj(bstrCCNo); CString strReverse,strFinal; int iNum,iSum; char cTemp; strReverse=strobj; strReverse.MakeReverse(); for(int iTemp=0;iTemp9) iNum-=9; } cTemp=iNum+'0'; strFinal+=cTemp; } for(iTemp=0;iTemp=0) return S_OK; } else if(strType=="M") { if(strNumber.Find("51",0)>=0 || strNumber.Find("52",0)>=0 || strNumber.Find("53",0)>=0 || strNumber.Find("54",0)>=0) return S_OK; } else if(strType=="A") { if(strNumber.Find("34",0)>=0 || strNumber.Find("37",0)>=0) return S_OK; } return S_FALSE;}

5. 编绎组件编绎会读取ValidateCard.rgs文件进行组件的自动注册,若在Windows 9X环境下,请运行regsvr32程序进行注册,具体参见Developing COM Components using VC-ATL(2-3) COM对象的注册角色同时编绎完成后,会在Debug目录下生成ValidateCreditCardServer.dll在Debug上一层目录下,即工程名工作空间目录下生成 ValidateCreditCardServer.tlb这两个文件都可以导入到客户端,测试时分别会介绍这两种方法。

相关文章
· delphi下treeview控件基于节点编号的访问
· delphi之数组
· delphi mdi应用程序高级技巧三则(一)
· delphi命令行参数
· delphi图书目录
· delphi多线程程序示例(与.net一样简单)
· delphi编程技巧集
· developing com components us..
· delphi中的包(一):关于exe的编译、连接和执行
· developing com components us..
热点文章
%>
· creating user controls
· 提高fastreplace速度 (fstrrep.pas)
· asc ii 完整码表及简介
· 自动生成拼音(汉字反查到拼音)
· sql2000无法安装的解决办法
· 浏览器集成教学 自定义浏览器
· vc++技术内幕(第四版)笔记(第7章)
· mysql5.0中文乱码解决方案
· sql server日期计算
· vc下利用ado连接access数据库
 淘宝旺旺:我要购书网上书店『图书目录
本购书中心地址: 杭州市延安路111号清波商厦南楼D座(总部) 上海市闸北区老沪太路网上购书中心(沪部),  邮编:310002
电子邮件:books@51goushu.com  经营许可证编号:沪ICP备06038574号
版权所有 2003-2008 © All Rights Reserved .购书网