📄 transferdlg.cpp
字号:
/*******************************************************
转帐模块
作者:颜永华
********************************************************/
// TransferDlg.cpp : 实现文件
//
#include "stdafx.h"
#include "BankClient.h"
#include "TransferDlg.h"
#include ".\transferdlg.h"
#include "MD5.h"
#include "sock.h"
extern CSock sock;
extern int connFlag;
// CTransferDlg 对话框
IMPLEMENT_DYNAMIC(CTransferDlg, CDialog)
CTransferDlg::CTransferDlg(CWnd* pParent /*=NULL*/)
: CDialog(CTransferDlg::IDD, pParent)
{
}
CTransferDlg::~CTransferDlg()
{
}
void CTransferDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_EDIT1, m_EditAccId);
DDX_Control(pDX, IDC_EDIT2, m_EditPwd);
DDX_Control(pDX, IDC_EDIT4, m_EditInAcc);
DDX_Control(pDX, IDC_EDIT3, m_EditMoney);
}
BEGIN_MESSAGE_MAP(CTransferDlg, CDialog)
ON_BN_CLICKED(IDOK, OnBnClickedOk)
END_MESSAGE_MAP()
// CTransferDlg 消息处理程序
void CTransferDlg::OnBnClickedOk()
{
//转帐
int errnum=0;
int len=m_EditAccId.GetWindowTextLength();
CString str;
if(!len||len!=18)
str.Format("%d:转出账号必须是18位\n",++errnum);
len=this->m_EditInAcc.GetWindowTextLength();
if(!len||len!=18)
str.Format("%s%d:存入账号必须是18位\n",str,++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("正在处理中请稍候.....");
TRANSFER_MONEY_PACKET transferPacket;
memset(&transferPacket,0,sizeof(TRANSFER_MONEY_PACKET));
transferPacket.wCode=CLIENT_TRANSFER;
transferPacket.wLen=sizeof(TRANSFER_MONEY_PACKET);
m_EditAccId.GetWindowText(transferPacket.accountId,18);
m_EditInAcc.GetWindowText(transferPacket.inAccountId,18);
m_EditMoney.GetWindowText(transferPacket.moneyNum,9);
m_EditPwd.GetWindowText(transferPacket.accountPwd,16);
CMD5 md5;
md5.MD5Update((BYTE*)&transferPacket.accountPwd[0],16);
md5.MD5Final((BYTE*)&transferPacket.accountPwd[0]);
if(!connFlag)
{connFlag=sock.connectServer();connFlag++;}
if(connFlag)
{
if(sock.sendPacket((BYTE*)&transferPacket,sizeof(TRANSFER_MONEY_PACKET)))
{
switch(sock.RetFlag())
{//提示信息流程判断
case FLAG_SUCCEED:
{
//MessageBox("成功");
GetDlgItem(IDC_SIGN)->SetWindowText("转帐成功!");
}break;
case FLAG_YESACC:
{
GetDlgItem(IDC_SIGN)->SetWindowText("转入账号不存在!!");
MessageBox("转入账号不存在!");
}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 CTransferDlg::OnInitDialog()
{
CDialog::OnInitDialog();
//限制输入字符长度
m_EditAccId.SetLimitText(18);
m_EditPwd.SetLimitText(16);
m_EditInAcc.SetLimitText(18);
m_EditMoney.SetLimitText(9);
return TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -