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

📄 inmoneydlg.cpp

📁 一个与金融方面有关的问题
💻 CPP
字号:
/***********************************************
存款功能模块
作者:颜永华
************************************************/
// InMoneyDlg.cpp : 实现文件
//

#include "stdafx.h"
#include "BankClient.h"
#include "InMoneyDlg.h"
#include ".\inmoneydlg.h"
#include "MD5.h"
#include "sock.h"

extern CSock sock;
extern int connFlag;

// CInMoneyDlg 对话框

IMPLEMENT_DYNAMIC(CInMoneyDlg, CDialog)
CInMoneyDlg::CInMoneyDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CInMoneyDlg::IDD, pParent)
{
}

CInMoneyDlg::~CInMoneyDlg()
{
}

void CInMoneyDlg::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(CInMoneyDlg, CDialog)
	ON_BN_CLICKED(IDOK, OnBnClickedOk)
END_MESSAGE_MAP()


// CInMoneyDlg 消息处理程序

BOOL CInMoneyDlg::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
}

void CInMoneyDlg::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("正在处理中请稍候.....");

		//打包数据 准备发送
		INMONEY_PACKET inMoneyPack;
		memset(&inMoneyPack,0,sizeof(INMONEY_PACKET));
		inMoneyPack.wCode=CLIENT_INMONEY;
		inMoneyPack.wLen=sizeof(INMONEY_PACKET);
		m_EditAccId.GetWindowText(inMoneyPack.accountId,18);
		m_EditPwd.GetWindowText(inMoneyPack.accountPwd,16);
		m_EditMoney.GetWindowText(inMoneyPack.moneyNum,9);
		
		//MD5 加密密码
		CMD5 md5;
		md5.MD5Update((BYTE*)&inMoneyPack.accountPwd[0],16);
		md5.MD5Final((BYTE*)&inMoneyPack.accountPwd[0]);

		if(!connFlag)
			connFlag=sock.connectServer();
		if(connFlag)
		{
			if(sock.sendPacket((BYTE*)&inMoneyPack,sizeof(INMONEY_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_FAILED:
				default:
					{//MessageBox("成功");
						GetDlgItem(IDC_SIGN)->SetWindowText("存款失败!");
			
					};
				}
			}

		}
	}
	
	//OnOK();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -