📄 outmoneydlg.cpp
字号:
/*****************************************
取款模块
作者:颜永华
******************************************/
// OutMoneyDlg.cpp : 实现文件
//
#include "stdafx.h"
#include "BankClient.h"
#include "OutMoneyDlg.h"
#include ".\outmoneydlg.h"
#include "MD5.h"
#include "sock.h"
extern CSock sock;
extern int connFlag;
// COutMoneyDlg 对话框
IMPLEMENT_DYNAMIC(COutMoneyDlg, CDialog)
COutMoneyDlg::COutMoneyDlg(CWnd* pParent /*=NULL*/)
: CDialog(COutMoneyDlg::IDD, pParent)
{
}
COutMoneyDlg::~COutMoneyDlg()
{
}
void COutMoneyDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_EDIT1, m_EditAccId);
DDX_Control(pDX, IDC_EDIT2, m_EditPwd);
DDX_Control(pDX, IDC_EDIT3, m_EditMoney);
}
BEGIN_MESSAGE_MAP(COutMoneyDlg, CDialog)
ON_BN_CLICKED(IDOK, OnBnClickedOk)
END_MESSAGE_MAP()
// COutMoneyDlg 消息处理程序
void COutMoneyDlg::OnBnClickedOk()
{//取款
int errnum=0;
int len=m_EditAccId.GetWindowTextLength();
CString str;
if(!len||len!=18)
str.Format("%d:账号必须是18位\n",++errnum);
len=this->m_EditMoney.GetWindowTextLength();
if(!len)
str.Format("%s%d:款项不能为空\n",str,++errnum);
if(errnum)
GetDlgItem(IDC_SIGN)->SetWindowText(str);
else
{
GetDlgItem(IDC_SIGN)->SetWindowText("正在处理中请稍候.....");
OUTMONEY_PACKET outMoneyPack;
memset(&outMoneyPack,0,sizeof(OUTMONEY_PACKET));
outMoneyPack.wCode=CLIENT_OUTMONEY;
outMoneyPack.wLen=sizeof(OUTMONEY_PACKET);
m_EditAccId.GetWindowText(outMoneyPack.accountId,18);
m_EditPwd.GetWindowText(outMoneyPack.accountPwd,16);
m_EditMoney.GetWindowText(outMoneyPack.moneyNum,9);
CMD5 md5;
md5.MD5Update((BYTE*)&outMoneyPack.accountPwd[0],16);
md5.MD5Final((BYTE*)&outMoneyPack.accountPwd[0]);
if(!connFlag)
connFlag=sock.connectServer();
if(connFlag)
{
if(sock.sendPacket((BYTE*)&outMoneyPack,sizeof(OUTMONEY_PACKET)))
{
switch(sock.RetFlag())
{
case FLAG_SUCCEED:
{
//MessageBox("成功");
GetDlgItem(IDC_SIGN)->SetWindowText("取款成功!");
}break;
case FLAG_ACCPWD_ERR:
{
//MessageBox("成功");
m_EditAccId.SetWindowText("");
m_EditAccId.SetFocus();
GetDlgItem(IDC_SIGN)->SetWindowText("验证失败!");
}break;
case FLAG_NOBANK:
{
//MessageBox("成功");
GetDlgItem(IDC_SIGN)->SetWindowText("没有银行!");
}break;
case FLAG_MONEY_ERR:
{
GetDlgItem(IDC_SIGN)->SetWindowText("余额不足!");
MessageBox("余额不足!");
}break;
case FLAG_FAILED:
default:
{//MessageBox("成功");
GetDlgItem(IDC_SIGN)->SetWindowText("取款失败!");
};
}
}
}
}
//OnOK();
}
BOOL COutMoneyDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_EditAccId.SetLimitText(18);
m_EditPwd.SetLimitText(16);
m_EditMoney.SetLimitText(9);
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -