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

📄 usermanage.cpp

📁 一个可以控制单片机根据通话时间和所拨地区进行计费的软件!
💻 CPP
字号:
// UserManage.cpp : implementation file
//

#include "stdafx.h"
#include "Commucation.h"
#include "UserManage.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CUserManage dialog


CUserManage::CUserManage(CWnd* pParent /*=NULL*/)
	: CDialog(CUserManage::IDD, pParent)
{
	//{{AFX_DATA_INIT(CUserManage)
	m_Duty_Num = _T("");
	m_Duty_Name = _T("");
	//}}AFX_DATA_INIT
}


void CUserManage::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CUserManage)
	DDX_Control(pDX, IDC_MSFLEXGRID_USER, m_UserView);
	DDX_Text(pDX, IDC_EDIT_NUM, m_Duty_Num);
	DDV_MaxChars(pDX, m_Duty_Num, 3);
	DDX_Text(pDX, IDC_EDIT_NAME, m_Duty_Name);
	DDV_MaxChars(pDX, m_Duty_Name, 8);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CUserManage, CDialog)
	//{{AFX_MSG_MAP(CUserManage)
	ON_BN_CLICKED(IDC_BUTTON_ADD, OnButtonAdd)
	ON_BN_CLICKED(IDC_BUTTON_DELETE, OnButtonDelete)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CUserManage message handlers

BOOL CUserManage::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	CStdioFile file;
	CString filename,str,RowNo,userid,username;
	int RowCount;
	filename="C:\\WINDOWS\\SYSTEM\\user.txt";
	if(file.Open(filename,CFile::modeRead|CFile::typeText)==0)
	{
		AfxMessageBox("failure");
	}
	file.SeekToBegin();
	RowCount=1;
	file.ReadString(str);
	file.ReadString(str);
	while(str!="end")
	{
		file.ReadString(str);
		str=str.Left(3);
		RowCount+=1;
	}
	m_UserView.SetRows(RowCount);
	m_UserView.SetColWidth(0,500);
	m_UserView.SetColWidth(1,1000);
	m_UserView.SetColWidth(2,2100);
	
	m_UserView.SetRow(0);
	m_UserView.SetCol(1);	
	m_UserView.SetText("工号");
	m_UserView.SetCol(2);
	m_UserView.SetText("姓名");
	
	file.SeekToBegin();
	file.ReadString(str);
	file.ReadString(str);
	userid=str.Left(3);
	RowCount=1;
	while(userid!="end")
	{
		username=str.Right(8);
		username.TrimRight("-");
		RowNo.Format("%d",RowCount);
		m_UserView.SetRow(RowCount);
		m_UserView.SetCol(0);
		m_UserView.SetText(RowNo);
		m_UserView.SetCol(1);	
		m_UserView.SetText(userid);
		m_UserView.SetCol(2);	
		m_UserView.SetText(username);
		RowCount+=1;
		file.ReadString(str);
		userid=str.Left(3);
	}
	file.Close();
	return TRUE;  // return TRUE unless you set the focus to a control	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CUserManage::OnButtonAdd() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	if(m_Duty_Num!="")
	{
		if(m_Duty_Name!="")
		{
			int len,RowCount;
			CString num,str,temp,userid,username,RowNo;
			CString name;
			num=m_Duty_Num;
			name=m_Duty_Name;
			len=name.GetLength();
			for(int i=0;i<8-len;i++)
				name+="-";
			str=num+"----------"+name+"\n";
			str=str+"end------------------";
			CStdioFile file;
			CString filename;
			filename="C:\\WINDOWS\\SYSTEM\\user.txt";
			if(file.Open(filename,CFile::modeReadWrite|CFile::typeText)==0)
			{
				AfxMessageBox("failure");
			}
			file.SeekToBegin();

			file.ReadString(temp);
			num=temp.Left(3);
			len=0;
			while(num!="end")
			{
				len+=1;
				file.ReadString(temp);
				num=temp.Left(3);
			}
			file.Seek(23*len,CFile::begin);
			file.Write(str,44);

			RowCount=1;
			file.SeekToBegin();
			file.ReadString(str);
			file.ReadString(str);
			while(str!="end")
			{
				file.ReadString(str);
				str.TrimRight("-");
				RowCount+=1;
			}
			m_UserView.SetRows(RowCount);
			m_UserView.SetColWidth(0,500);
			m_UserView.SetColWidth(1,1000);
			m_UserView.SetColWidth(2,2100);
			
			m_UserView.SetRow(0);
			m_UserView.SetCol(1);	
			m_UserView.SetText("工号");
			m_UserView.SetCol(2);
			m_UserView.SetText("姓名");
 
			file.SeekToBegin();
			file.ReadString(str);
			file.ReadString(str);
			userid=str.Left(3);
			RowCount=1;
			while(userid!="end")
			{
				username=str.Right(8);
				username.TrimRight("-");
				RowNo.Format("%d",RowCount);
				m_UserView.SetRow(RowCount);
				m_UserView.SetCol(0);
				m_UserView.SetText(RowNo);
				m_UserView.SetCol(1);	
				m_UserView.SetText(userid);
				m_UserView.SetCol(2);	
				m_UserView.SetText(username);
				RowCount+=1;
				file.ReadString(str);
				userid=str.Left(3);
			}
			file.Close();
			m_Duty_Name="";
			m_Duty_Num="";
			UpdateData(false);
		}
		else
			AfxMessageBox("操作员的姓名不能为空");
	}
	else
		AfxMessageBox("操作员的ID号不能为空");
}

void CUserManage::OnButtonDelete() 
{
	// TODO: Add your control notification handler code here
	CString temp,str,userid,username,RowNo;
	int line,RowCount;
	m_UserView.SetCol(0);
	CStdioFile file;
	CString filename;
	filename="C:\\WINDOWS\\SYSTEM\\user.txt";
	if(file.Open(filename,CFile::modeReadWrite|CFile::typeText)==0)
	{
		AfxMessageBox("failure");
	}
	file.SeekToBegin();
	temp=m_UserView.GetText();
	sscanf(temp,"%d",&line);
	temp="";
	for(int i=0;i<line;i++)
	{
		file.ReadString(str);
		temp+=str;
		temp+="\n";
	}
	file.ReadString(str);
	while(str!="")
	{
		file.ReadString(str);
		temp+=str;
		temp+="\n";
	}	
	file.Close();
	TRY
	{
		CFile::Remove("C:\\WINDOWS\\SYSTEM\\user.txt");
	}
	CATCH( CFileException, e )
	{
		#ifdef _DEBUG
			afxDump << "File " << "user.txt" << " cannot be removed\n";
		#endif
	}
	END_CATCH
	if(file.Open(filename,CFile::modeReadWrite|CFile::modeCreate|CFile::typeText)==0)
	{
		AfxMessageBox("failure");
	}
		file.SeekToBegin();
	line=temp.GetLength();
	file.Write(temp,line);

	RowCount=1;
	file.SeekToBegin();
	file.ReadString(str);
	file.ReadString(str);
	while(str!="end")
	{
		file.ReadString(str);
		str.TrimRight("-");
		RowCount+=1;
	}
	m_UserView.SetRows(RowCount);
	m_UserView.SetColWidth(0,500);
	m_UserView.SetColWidth(1,1000);
	m_UserView.SetColWidth(2,2100);
	
	m_UserView.SetRow(0);
	m_UserView.SetCol(1);	
	m_UserView.SetText("工号");
	m_UserView.SetCol(2);
	m_UserView.SetText("姓名");

	file.SeekToBegin();
	file.ReadString(str);
	file.ReadString(str);
	userid=str.Left(3);
	RowCount=1;
	while(userid!="end")
	{
		username=str.Right(8);
		username.TrimRight("-");
		RowNo.Format("%d",RowCount);
		m_UserView.SetRow(RowCount);
		m_UserView.SetCol(0);
		m_UserView.SetText(RowNo);
		m_UserView.SetCol(1);	
		m_UserView.SetText(userid);
		m_UserView.SetCol(2);	
		m_UserView.SetText(username);
		RowCount+=1;
		file.ReadString(str);
		userid=str.Left(3);
	}
	file.Close();
}

⌨️ 快捷键说明

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