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

📄 systemview.cpp

📁 人事管理系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
			MessageBox("打开档案失败,档案不存在或者您的输入有误!");	break;
		default:
			haveone=true;
		}
	}*/
	if(!cfile.Open(filename,CFile::modeRead,NULL)) MessageBox("打开档案失败,档案不存在或者您的输入有误!");
	else haveone=true;
	if(haveone)
	{
		if(strlen(dlgbirth))//如果输入了生日,要精确判断
		{
			//CString cstring;
			//cstring.Format("%s=%d",dlgbirth,strlen(dlgbirth));
			//MessageBox(cstring);//测试能否进入,成功
			
			CString birth;
			
			cfile.Read(chnum,1);//姓名
			chnum[1]=0;
			num=atoi(chnum);
			cfile.Read(chmain,num);
			//MessageBox(chmain);
			
			cfile.Read(chnum,1);//性别
			chnum[1]=0;
			num=atoi(chnum);
			cfile.Read(chmain,num);				//MessageBox(chmain);		
			
			cfile.Read(chnum,2);//民族
			chnum[2]=0;
			num=atoi(chnum);
			cfile.Read(chmain,num);				//MessageBox(chmain);				
			
			cfile.Read(chnum,1);//得到生日
			chnum[1]=0;
			num=atoi(chnum);
			cfile.Read(chmain,num);
			//////////////////////////////////////////////////////////////////////////////
			chmain[num]=0;/*要将最后加个0截止*/					//MessageBox(chmain);
			//////////////////////////////////////////////////////////////////////////////
			
			birth=chmain;
			if(birth==dlgbirth)
			{
				MessageBox("档案查找成功!");
				find=true;
			}
			else 
			{
				MessageBox("查找失败!生日与姓名不符合!");
				find=false;
			}
		}//if(strlen(cf.m_birth))
		else find=true;
		
		if(find)//找到了
		{
			findout=true;//告知全局已经找到
			cfile.SeekToBegin();
			cfile.Read(chnum,1);
			chnum[1]=0;
			num=atoi(chnum);
			cfile.Read(chmain,num);
			chmain[num]=0;
			name=chmain;			lenth+=(num+1);
			
			cfile.Read(chnum,1);
			chnum[1]=0;
			num=atoi(chnum);
			cfile.Read(chmain,num);
			chmain[num]=0;
			sex=chmain;			lenth+=(num+1);
			
			cfile.Read(chnum,2);
			chnum[2]=0;
			num=atoi(chnum);
			cfile.Read(chmain,num);
			chmain[num]=0;
			minzu=chmain;			lenth+=(num+2);
			
			cfile.Read(chnum,1);
			chnum[1]=0;
			num=atoi(chnum);
			cfile.Read(chmain,num);
			chmain[num]=0;
			birth=chmain;			lenth+=(num+1);
			
			cfile.Read(chnum,2);
			chnum[2]=0;
			num=atoi(chnum);
			cfile.Read(chmain,num);
			chmain[num]=0;
			shenfenzheng=chmain;			lenth+=(num+2);
			
			cfile.Read(chnum,2);
			chnum[2]=0;
			num=atoi(chnum);
			cfile.Read(chmain,num);
			chmain[num]=0;
			jiguan=chmain;			lenth+=(num+2);
			
			cfile.Read(chnum,2);
			chnum[2]=0;
			num=atoi(chnum);
			cfile.Read(chmain,num);
			chmain[num]=0;
			address=chmain;			lenth+=(num+2);
			
			cfile.Read(chnum,2);
			chnum[2]=0;
			num=atoi(chnum);
			cfile.Read(chmain,num);
			chmain[num]=0;
			college=chmain;			lenth+=(num+2);
			
			cfile.Read(chnum,2);
			chnum[2]=0;
			num=atoi(chnum);
			cfile.Read(chmain,num);
			chmain[num]=0;
			zhuanye=chmain;			lenth+=(num+2);
			
			cfile.Read(chnum,2);
			chnum[2]=0;
			num=atoi(chnum);
			cfile.Read(chmain,num);
			chmain[num]=0;
			xuewei=chmain;			lenth+=(num+2);
			
			cfile.Read(chnum,1);
			chnum[1]=0;
			num=atoi(chnum);
			cfile.Read(chmain,num);
			chmain[num]=0;
			waiyuyuzhong=chmain;			lenth+=(num+1);
			
			cfile.Read(chnum,1);
			chnum[1]=0;
			num=atoi(chnum);
			cfile.Read(chmain,num);
			chmain[num]=0;
			waiyudengji=chmain;			lenth+=(num+1);
			
			cfile.Read(chnum,2);
			chnum[2]=0;
			num=atoi(chnum);
			cfile.Read(chmain,num);
			chmain[num]=0;
			jinrushijian=chmain;			lenth+=(num+2);
			
			cfile.Read(chnum,1);
			chnum[1]=0;
			num=atoi(chnum);
			cfile.Read(chmain,num);
			chmain[num]=0;
			bumen=chmain;			lenth+=(num+1);
			
			cfile.Read(chnum,2);
			chnum[2]=0;
			num=atoi(chnum);
			cfile.Read(chmain,num);
			chmain[num]=0;
			zhiwei=chmain;			lenth+=(num+2);
			
			cfile.Read(chnum,2);
			chnum[2]=0;
			num=atoi(chnum);
			cfile.Read(chmain,num);
			chmain[num]=0;
			xinshui=chmain;			lenth+=(num+2);
			
			cfile.Read(chnum,2);
			chnum[2]=0;
			num=atoi(chnum);
			cfile.Read(chmain,num);
			chmain[num]=0;
			lianxihaoma=chmain;			lenth+=(num+2);
			
			//			cfile.Read(chnum,2);
			//			chnum[2]=0;
			//			num=atoi(chnum);
			cfile.Seek(lenth,CFile::begin);
			num=cfile.GetLength()-lenth;
			char *buf;
			buf=new char[num+1];
			buf[num]=0;
			cfile.Read(buf,num);
			beizhu=buf;
			free(buf);
			cfile.Close();
			lenth=0;
		}//if(find)
			Invalidate();
	}//if(haveone)		

}

void CSystemView::WriteFile()
{
	CFile cfile;
	if(!cfile.Open(name,CFile::modeCreate|CFile::modeWrite,NULL))
		MessageBox("创建档案文件失败!");
	else
	{
		UINT length=0;//保存字符串长度
		char ch[10];//保存length类型转化后的字符串
		CString str;
		////////////////////////////////////////////
		length=strlen(name);
		itoa(length,ch,10);
		cfile.Write(ch,1);
		cfile.Write(name,strlen(name));
		
		length=strlen(sex);
		itoa(length,ch,10);
		cfile.Write(ch,1);
		cfile.Write(sex,strlen(sex));
		
		////////////写可能超过的两位数的项目//////////////////////////////////////////////
		length=strlen(minzu);
		itoa(length,ch,10);
		if(length<10)//将民族的数目固定为2位,不足用0补齐
		{
			str.Format("%d",0);
			cfile.Write(str,1);//先写个0
			cfile.Write(ch,1);//再写进个数
		}
		else	cfile.Write(ch,2);//写个两位数
		cfile.Write(minzu,strlen(minzu));
		////////////////////////////////////////////////////////////////////
		
		length=strlen(birth);
		itoa(length,ch,10);
		cfile.Write(ch,1);
		cfile.Write(birth,strlen(birth));
		
		//////////////////////身份证的位数要超过两位/////////////////////
		length=strlen(shenfenzheng);
		itoa(length,ch,10);
		cfile.Write(ch,2);//写个两位数
		cfile.Write(shenfenzheng,strlen(shenfenzheng));
		///////////////////籍贯//////////////////////////////////////////////
		
		length=strlen(jiguan);
		itoa(length,ch,10);
		if(length<10)//将籍贯的数目固定为2位,不足用0补齐
		{
			str.Format("%d",0);
			cfile.Write(str,1);//先写个0
			cfile.Write(ch,1);//再写进个数
		}
		else	cfile.Write(ch,2);//写个两位数
		cfile.Write(jiguan,strlen(jiguan));
		///////////////////家庭住址//////////////////////////////////////////////
		
		length=strlen(address);
		itoa(length,ch,10);
		if(length<10)//将家庭住址的数目固定为2位,不足用0补齐
		{
			str.Format("%d",0);
			cfile.Write(str,1);//先写个0
			cfile.Write(ch,1);//再写进个数
		}
		else	cfile.Write(ch,2);//写个两位数
		cfile.Write(address,strlen(address));
		//////////////////////毕业院校///////////////////////////////////////////
		
		length=strlen(college);
		itoa(length,ch,10);
		if(length<10)//将毕业院校的数目固定为2位,不足用0补齐
		{
			str.Format("%d",0);
			cfile.Write(str,1);//先写个0
			cfile.Write(ch,1);//再写进个数
		}
		else	cfile.Write(ch,2);//写个两位数
		cfile.Write(college,strlen(college));
		/////////////////////////////////////////////////////////////////
		
		length=strlen(zhuanye);
		itoa(length,ch,10);
		if(length<10)//将专业的数目固定为2位,不足用0补齐
		{
			str.Format("%d",0);
			cfile.Write(str,1);//先写个0
			cfile.Write(ch,1);//再写进个数
		}
		else	cfile.Write(ch,2);//写个两位数
		cfile.Write(zhuanye,strlen(zhuanye));
		/////////////////////////////////////////////////////////////////
		
		length=strlen(xuewei);
		itoa(length,ch,10);
		if(length<10)//将学位的数目固定为2位,不足用0补齐
		{
			str.Format("%d",0);
			cfile.Write(str,1);//先写个0
			cfile.Write(ch,1);//再写进个数
		}
		else	cfile.Write(ch,2);//写个两位数
		cfile.Write(xuewei,strlen(xuewei));
		
		length=strlen(waiyuyuzhong);
		itoa(length,ch,10);
		cfile.Write(ch,1);
		cfile.Write(waiyuyuzhong,strlen(waiyuyuzhong));
		
		length=strlen(waiyudengji);
		itoa(length,ch,10);
		cfile.Write(ch,1);
		cfile.Write(waiyudengji,strlen(waiyudengji));
		///////////////进入时间为两位数//////////////////////////////
		length=strlen(jinrushijian);
		itoa(length,ch,10);
		cfile.Write(ch,2);//写个两位数
		cfile.Write(jinrushijian,strlen(jinrushijian));
		//////////////////////////////////////////////////////////////	
		
		length=strlen(bumen);
		itoa(length,ch,10);
		cfile.Write(ch,1);
		cfile.Write(bumen,strlen(bumen));
		
		length=strlen(zhiwei);
		itoa(length,ch,10);
		if(length<10)//将职位的数目固定为2位,不足用0补齐
		{
			str.Format("%d",0);
			cfile.Write(str,1);//先写个0
			cfile.Write(ch,1);//再写进个数
		}
		else	cfile.Write(ch,2);//写个两位数
		cfile.Write(zhiwei,strlen(zhiwei));
		
		length=strlen(xinshui);
		itoa(length,ch,10);
		if(length<10)//将薪水的数目固定为2位,不足用0补齐
		{
			str.Format("%d",0);
			cfile.Write(str,1);//先写个0
			cfile.Write(ch,1);//再写进个数
		}
		else	cfile.Write(ch,2);//写个两位数
		cfile.Write(xinshui,strlen(xinshui));
		
		length=strlen(lianxihaoma);
		itoa(length,ch,10);
		cfile.Write(ch,2);
		cfile.Write(lianxihaoma,strlen(lianxihaoma));
		
		//		length=strlen(beizhu);
		//		itoa(length,ch,10);
		//		cfile.Write(ch,2);
		cfile.Write(beizhu,strlen(beizhu));
		
		cfile.Close();
		}
		Invalidate();

}

void CSystemView::OnRButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	cpoint=point;
	m_RBD=true;
	CView::OnRButtonDown(nFlags, point);
}

void CSystemView::OnRButtonUp(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	m_RBD=false;
	CView::OnRButtonUp(nFlags, point);
}

void CSystemView::OnMouseMove(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	CClientDC dc(this);
	if(m_lbdraw)
		if(m_RBD)
		{
			CPen pen(PS_SOLID,5,RGB(255,0,0));
			CPen *oldpen;
			oldpen=dc.SelectObject(&pen);
			dc.MoveTo(cpoint);
			dc.LineTo(point);
			cpoint=point;	
			dc.SelectObject(oldpen);
		}
	CView::OnMouseMove(nFlags, point);
}

void CSystemView::OnLBDraw() 
{
	// TODO: Add your command handler code here
	m_lbdraw=true;
}

void CSystemView::OnCLEARDRAW() 
{
	// TODO: Add your command handler code here
	Invalidate();
}

void CSystemView::OnDestroy() 
{
	CView::OnDestroy();
	
	// TODO: Add your message handler code here
	CFile cfile;
	char ch[10],che[10];
	CString str;
	int length;

	if(!cfile.Open("data",CFile::modeCreate|CFile::modeWrite,NULL))
		MessageBox("创建档案文件失败!");
	else
	{
		////////////写可能超过的两位数的项目//////////////////////////////////////////////
		itoa(totalnumber,che,10);
		length=strlen(che);
		itoa(length,ch,10);
		if(length<10)//将民族的数目固定为2位,不足用0补齐
		{
			str.Format("%d",0);
			cfile.Write(str,1);//先写个0
			cfile.Write(ch,1);//再写进个数
		}
		else	cfile.Write(ch,2);//写个两位数
		cfile.Write(che,strlen(che));
		////////////////////////////////////////////////////////////////////
	}
}

void CSystemView::OnCancelMode() 
{
	CView::OnCancelMode();
	
	// TODO: Add your message handler code here
	
}

int CSystemView::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CView::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	// TODO: Add your specialized creation code here
	CFile cfile;
	UINT len;
	char ch[3],*chmain;
	if(!cfile.Open("data",CFile::modeRead,NULL))
		MessageBox("读取预设置文件出错,请在安装文件夹新建data.txt文件");
	else 
	{
		cfile.Read(ch,2);
		ch[2]=0;
		len=atoi(ch);
		chmain=new char[len];
		cfile.Read(chmain,len);
		totalnumber=atoi(chmain);
	}
	return 0;
}

void CSystemView::OnSEThong() 
{
	// TODO: Add your command handler code here
	C1=255;
	C2=C3=0;
	Invalidate();
}

void CSystemView::OnSETbai() 
{
	// TODO: Add your command handler code here
	C1=C2=C3=255;	Invalidate();
}

void CSystemView::OnSEThuang() 
{
	// TODO: Add your command handler code here
	C1=C2=255;
	C3=0;	Invalidate();
}

void CSystemView::OnSETlan() 
{
	// TODO: Add your command handler code here
	C1=C2=0;
	C3=255;	Invalidate();
}

void CSystemView::OnSETlv() 
{
	// TODO: Add your command handler code here
	C1=C3=0;
	C2=255;	Invalidate();
}

void CSystemView::OnSETzi() 
{
	// TODO: Add your command handler code here
	C1=C3=255;
	C2=0;	Invalidate();
}

⌨️ 快捷键说明

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