⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 outmoneydlg.cpp

📁 一个与金融方面有关的问题
💻 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 + -