📄 netaccount.cpp
字号:
// NetAccount.cpp : 实现文件
//
#include "stdafx.h"
#include "BankService.h"
#include "NetAccount.h"
#include ".\netaccount.h"
// CNetAccount 对话框
IMPLEMENT_DYNAMIC(CNetAccount, CDialog)
CNetAccount::CNetAccount(CWnd* pParent /*=NULL*/)
: CDialog(CNetAccount::IDD, pParent)
, m_NetAccount(_T(""))
, m_NetPwd(_T(""))
, m_BankAccount(_T(""))
, m_BankPwd(_T(""))
, m_UserName(_T(""))
, m_UserID(_T(""))
{
}
CNetAccount::~CNetAccount()
{
}
void CNetAccount::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT1, m_NetAccount);
DDX_Text(pDX, IDC_EDIT2, m_NetPwd);
DDX_Text(pDX, IDC_EDIT3, m_BankAccount);
DDX_Text(pDX, IDC_EDIT4, m_BankPwd);
DDX_Text(pDX, IDC_EDIT5, m_UserName);
DDX_Text(pDX, IDC_EDIT6, m_UserID);
}
BEGIN_MESSAGE_MAP(CNetAccount, CDialog)
ON_BN_CLICKED(IDC_Create_NetAcc, OnBnClickedCreateNetacc)
END_MESSAGE_MAP()
// CNetAccount 消息处理程序
void CNetAccount::OnBnClickedCreateNetacc()
{
// TODO: 在此添加控件通知处理程序代码
// m_NetAccount="acfa";
// m_NetPwd="123";
// m_BankAccount="1";
// m_BankPwd="123";
// m_UserName="CHB";
// m_UserID="12345678";
// UpdateData(false);
//更新输入数据
UpdateData();
//查询银行账户是否存在
CString strQuery="SELECT * FROM bankbook WHERE bankbook.accnum=\'" +m_BankAccount.Trim()+ "\' AND bankbook.password=\'" +m_BankPwd.Trim()+ "\' AND bankbook.uname=\'" +m_UserName.Trim()+ "\' AND bankbook.uid=\'" +m_UserID.Trim()+ "\'";
pRst.CreateInstance("ADODB.Recordset");
pRst->Open(_bstr_t(strQuery),_variant_t((IDispatch*)pConn,true),adOpenStatic,adLockOptimistic,adCmdText);
//查询要申请的网上用户名是否已经注册
CString strQuery2="SELECT * FROM NetBankBook WHERE NetBankBook.UserID=\'"+m_NetAccount.Trim()+"'";
pRst2.CreateInstance("ADODB.Recordset");
pRst2->Open(_bstr_t(strQuery2),_variant_t((IDispatch*)pConn,true),adOpenStatic,adLockOptimistic,adCmdText);
//判断银行帐号是否存在
if(pRst->rsEOF)
{
AfxMessageBox("银行帐号信息错误");
return;
}
//判断网上帐号是否存在
if(!pRst2->rsEOF)
{
AfxMessageBox("网上用户名已存在");
return;
}
//全部信息合理,添加注册信息
try
{
pRst2->AddNew();
pRst2->put_Collect(_variant_t("UserID"),_variant_t(m_NetAccount.Trim()));
pRst2->put_Collect(_variant_t("Password"),_variant_t(m_NetPwd.Trim()));
pRst2->put_Collect(_variant_t("accnum"),_variant_t(m_BankAccount.Trim()));
pRst2->put_Collect(_variant_t("accpwd"),_variant_t(m_BankPwd.Trim()));
//生成口令卡
randEx(99,36);
CString pwdcard=Array2Str();
DrawTableRect();
pRst2->put_Collect(_variant_t("pwdcard"),_variant_t(pwdcard.Trim()));
pRst2->Update();
}
catch(_com_error &e)
{
MessageBox(e.ErrorMessage());
return ;
}
//AfxMessageBox("帐号创建成功!");
}
void CNetAccount::randEx(unsigned long MAX,unsigned long NUM)
{
unsigned long k=0;
unsigned long j=0;
time_t t;
srand((unsigned) time(&t));//设置rand函数所用的启始种子值,以期每次产生的随机数序列均不相同。
for (k=0;k<=NUM;k++)//定制随机数数量。
{
RandArray[k]=rand()%MAX;//定制随机数在0至最大值之间。
if(RandArray[k]<10)
RandArray[k]=RandArray[k]+10;
}
}
//口令卡数组转换为字符串的函数
CString CNetAccount::Array2Str()
{
int i;
CString deal[ARRAYSIZE];
CString rtnstr="";
for(i=0;i<ARRAYSIZE;i++)
{
deal[i].Format("%d ",RandArray[i]);
rtnstr=rtnstr+deal[i];
}
return rtnstr;
}
//口令卡的绘图函数
void CNetAccount::DrawTableRect()
{
CDC* pDC=GetDC();
int i,j;
#define XORG 300
#define YORG 65
int x=XORG;
int y=YORG+3;
CString Mainstr="口令卡";
pDC->TextOutA(x,y-18,Mainstr,Mainstr.GetLength());
pDC->Rectangle(x,y,x+210,y+210);
for(i=0;i<=6+1;i++)
{
pDC->MoveTo(x,y);
pDC->LineTo(x+210,y);
y=y+30;
}
y=YORG+3;
for(i=0;i<=6+1;i++)
{
pDC->MoveTo(x,y);
pDC->LineTo(x,y+210);
x=x+30;
}
x=XORG+10;
y=YORG+10;
CString str;
for(j=0;j<6;j++)
{
x=x+30;
str.Format("%d",j+1);
pDC->TextOutA(x,y,str,str.GetLength());
}
x=XORG+10;
for(j=0;j<6;j++)
{
y=y+30;
str.Format("%d",j+1);
pDC->TextOutA(x,y,str,str.GetLength());
}
COLORREF color=RGB(0,128,0);
pDC->SetTextColor(color);
x=XORG+10;
y=YORG+30+10;
for(i=0;i<6;i++)
{
for(j=0;j<6;j++)
{
x=x+30;
str.Format("%d",RandArray[i*6+j]);
pDC->TextOutA(x,y,str,str.GetLength());
}
y=y+30;
x=XORG+10;
}
ReleaseDC(pDC);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -