📄 usermanage.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 + -