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

📄 changepwddlg.cpp

📁 初学VC,编写的一个机房管理系统,功能基本上完善,但代码可读性不强.
💻 CPP
字号:
// ChangePwdDlg.cpp : implementation file
//

#include "stdafx.h"
#include "client.h"
#include "ChangePwdDlg.h"
#include "winsock.h"
#include "afxsock.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CString glbxuehao;
extern void glbshutdown();
/////////////////////////////////////////////////////////////////////////////
// CChangePwdDlg dialog


CChangePwdDlg::CChangePwdDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CChangePwdDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CChangePwdDlg)
	newpassword = _T("");
	newpassword2 = _T("");
	password = _T("");

	//}}AFX_DATA_INIT
}


void CChangePwdDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CChangePwdDlg)
	DDX_Text(pDX, IDC_NEWPWD1, newpassword);
	DDX_Text(pDX, IDC_NEWPWD2, newpassword2);
	DDX_Text(pDX, IDC_PASSWORD, password);
	
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CChangePwdDlg, CDialog)
	//{{AFX_MSG_MAP(CChangePwdDlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CChangePwdDlg message handlers

void CChangePwdDlg::OnOK() 
{	static l_counter=0;
	l_counter++;
	if(l_counter>=3)
	{
		glbshutdown();
	}
	UpdateData();
	if(glbxuehao.IsEmpty()||password.IsEmpty()||newpassword.IsEmpty()||newpassword2.IsEmpty())
	MessageBox("请输入完整的信息!","提醒",MB_OK|MB_ICONINFORMATION);
	else if(newpassword2!=newpassword)
	MessageBox("你的新密码不一致!请核对","提醒",MB_OK|MB_ICONINFORMATION);
	else
	{
	SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0);
	SOCKADDR_IN addrSrv;
	addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
	addrSrv.sin_family =AF_INET;
	addrSrv.sin_port=htons(6000);
	CString str;
	str +="4";
	str += char(glbxuehao.GetLength());
	str += glbxuehao;
	str += char(password.GetLength());
	str += password;
	str +=char(newpassword.GetLength());
	str +=newpassword;
	str += char(0);
	char* buf = str.GetBuffer(0);
	int ret = 0;
	int error = 0;
	ret = connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
	if(ret == SOCKET_ERROR){
	error = WSAGetLastError();
	if(error == 10061)
		MessageBox(("服务器遇到错误,请稍后重试"),("错误"),MB_ICONERROR | MB_OK);
	return ;
	}
	ret = send(sockClient, buf, str.GetLength(), 0);
	if(ret != str.GetLength()){
		MessageBox(("服务器遇到错误,请稍后重试"),("错误"),MB_ICONERROR | MB_OK);
	return ;
	}
	char buff[10];
	ret = recv(sockClient, buff, 10, 0);
	if(ret == 0){
		TRACE("Recv data error: %d\n", WSAGetLastError());
		return ;
	}
	buff[ret] = '\0';
   char tag=buff[0];
   switch(tag)
  {
	  case '5': MessageBox("修改密码成功!","提醒",MB_OK);l_counter=0;break;
	  case '6': MessageBox("对不起,您的密码修改未能成功!请到前台与管理员联系!","提醒",MB_OK);break;
	  default:	MessageBox("系统出现不可遇知的错误,请重新启动以解决此问题!","错误",MB_OK);
 
  }
	CDialog::OnOK();
}
}

⌨️ 快捷键说明

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