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

📄 myaldoc.cpp

📁 一个非常简单地址簿程序
💻 CPP
📖 第 1 页 / 共 3 页
字号:
			m_pUnitSet->m_Telephone = dlg.m_UPage.m_strTelephone;
			m_pUnitSet->m_Fax = dlg.m_UPage.m_strFax;
			m_pUnitSet->m_Web = dlg.m_UPage.m_strWeb;
			m_pUnitSet->m_Email = dlg.m_UPage.m_strEmail;
		}
		
		if(m_pUnitSet->CanUpdate())
			m_pUnitSet->Update();
		
/**************************修改m_pContactSet中的记录**************************/
		m_pContactSet->Edit();
		
		if(m_pContactSet->GetEditMode()==dbEditInProgress)
		{
			m_pContactSet->m_ID = m_pBaseInfoSet->m_ID;
			m_pContactSet->m_PostalCode = dlg.m_CPage.m_strPostalcode;
			m_pContactSet->m_Country = dlg.m_CPage.m_strCountry;
			m_pContactSet->m_Province = dlg.m_CPage.m_strProvince;
			m_pContactSet->m_City = dlg.m_CPage.m_strCity;
			m_pContactSet->m_Street = dlg.m_CPage.m_strStreet;
			m_pContactSet->m_Telephone = dlg.m_CPage.m_strTelephone;
			m_pContactSet->m_Fax = dlg.m_CPage.m_strFax;
			m_pContactSet->m_Handset = dlg.m_CPage.m_strHeadset;
			m_pContactSet->m_Email = dlg.m_CPage.m_strEmail;
			m_pContactSet->m_MSN = dlg.m_CPage.m_strMsn;
			m_pContactSet->m_QQ = dlg.m_CPage.m_strQq;
			m_pContactSet->m_ICQ = dlg.m_CPage.m_strIcq;
		}
		
		if(m_pContactSet->CanUpdate())
			m_pContactSet->Update();
		
/**************************修改m_pOtherSet中的记录**************************/
		m_pOtherSet->Edit();
		
		if(m_pOtherSet->GetEditMode()==dbEditInProgress)
		{
			m_pOtherSet->m_ID = m_pBaseInfoSet->m_ID;
			m_pOtherSet->m_Nickname = dlg.m_OPage.m_strNickName;
			m_pOtherSet->m_Favorites = dlg.m_OPage.m_strFavorites;
			m_pOtherSet->m_Specialty = dlg.m_OPage.m_strSpecialty;
			m_pOtherSet->m_Web = dlg.m_OPage.m_strWeb;
		}
		
		if(m_pOtherSet->CanUpdate())
			m_pOtherSet->Update();
		
/**************************修改m_pActiveSet中的记录**************************/
		
		if(m_pActiveSet->IsOpen())
			m_pActiveSet->Close();
		m_pActiveSet->Open();
		while(!m_pActiveSet->IsEOF())
		{
			if(m_pActiveSet->m_ID==m_pBaseInfoSet->m_ID)
				m_pActiveSet->Delete();
			m_pActiveSet->MoveNext();
		}
		
		m_pActiveSet->AddNew();
		
		if(m_pActiveSet->CanAppend())
		{
			int nRecord = dlg.m_APage.m_activeArray.GetSize();
			if(nRecord!=0)
			{
				for(int i=0;i<nRecord;i++)
				{
					m_pActiveSet->m_ID = m_pBaseInfoSet->m_ID;
					m_pActiveSet->m_Clew = dlg.m_APage.m_activeArray[i].m_Clew;
					m_pActiveSet->m_Date = dlg.m_APage.m_activeArray[i].m_Date;
					m_pActiveSet->m_Summary = dlg.m_APage.m_activeArray[i].m_Summary;
					m_pActiveSet->m_Type = dlg.m_APage.m_activeArray[i].m_Type;
					
					if(m_pActiveSet->CanUpdate())
					{
						m_pActiveSet->Update();
						m_pActiveSet->AddNew();
					}
				}
			}
		}
		
/**************************修改m_pOtherSet中的记录**************************/
		m_pRemarkSet->Edit();
		
		if(m_pRemarkSet->GetEditMode()==dbEditInProgress)
		{
			m_pRemarkSet->m_ID = m_pBaseInfoSet->m_ID;
			m_pRemarkSet->m_Remark = dlg.m_RMPage.m_strRemark;
		}
		
		if(m_pRemarkSet->CanUpdate())
			m_pRemarkSet->Update();
		
		return TRUE;
	}
	
	return FALSE;
}

void CMyALDoc::DisplayRecord(long lID)
{
	CString strSQL;

	if(m_pBaseInfoSet->IsOpen()) m_pBaseInfoSet->Close();
	strSQL.Format("select * from BaseInfo where ID = %ld",lID);
	m_pBaseInfoSet->Open(AFX_DAO_USE_DEFAULT_TYPE ,strSQL);

	if(m_pFamilySet->IsOpen()) m_pFamilySet->Close();
	strSQL.Format("select * from Family where ID = %ld",lID);
	m_pFamilySet->Open(AFX_DAO_USE_DEFAULT_TYPE ,strSQL);

	if(m_pUnitSet->IsOpen()) m_pUnitSet->Close();
	strSQL.Format("select * from Unit where ID = %ld",lID);
	m_pUnitSet->Open(AFX_DAO_USE_DEFAULT_TYPE ,strSQL);

	if(m_pContactSet->IsOpen()) m_pContactSet->Close();
	strSQL.Format("select * from Contact where ID = %ld",lID);
	m_pContactSet->Open(AFX_DAO_USE_DEFAULT_TYPE ,strSQL);

	if(m_pOtherSet->IsOpen()) m_pOtherSet->Close();
	strSQL.Format("select * from Other where ID = %ld",lID);
	m_pOtherSet->Open(AFX_DAO_USE_DEFAULT_TYPE ,strSQL);

	if(m_pRemarkSet->IsOpen()) m_pRemarkSet->Close();
	strSQL.Format("select * from Remark where ID = %ld",lID);
	m_pRemarkSet->Open(AFX_DAO_USE_DEFAULT_TYPE ,strSQL);

	CDetails dlg;

/***************************初始化BIPage页***************************/
	dlg.m_BIPage.m_strName = m_pBaseInfoSet->m_Name;
	dlg.m_BIPage.m_nSex = m_pBaseInfoSet->m_Sex;
	dlg.m_BIPage.m_OleBirthday = m_pBaseInfoSet->m_Birthday;
	dlg.m_BIPage.m_nSystem = m_pBaseInfoSet->m_System;
	dlg.m_BIPage.m_bClew = m_pBaseInfoSet->m_Clew;
	dlg.m_BIPage.m_strProvince = m_pBaseInfoSet->m_Province;
	dlg.m_BIPage.m_strCity = m_pBaseInfoSet->m_City;
	dlg.m_BIPage.m_strCountry = m_pBaseInfoSet->m_Country;

/***************************初始化FPage页***************************/
	dlg.m_FPage.m_strPostalcode = m_pFamilySet->m_PostalCode;
	dlg.m_FPage.m_strProvince = m_pFamilySet->m_Province;
	dlg.m_FPage.m_strCity = m_pFamilySet->m_City;
	dlg.m_FPage.m_strStreet = m_pFamilySet->m_Street;
	dlg.m_FPage.m_strCountry = m_pFamilySet->m_Country;
	dlg.m_FPage.m_strTelephone = m_pFamilySet->m_Telephone;
	dlg.m_FPage.m_strLeaguer = m_pFamilySet->m_Leaguer;

/***************************初始化UPage页***************************/
	dlg.m_UPage.m_strCity = m_pUnitSet->m_City;
	dlg.m_UPage.m_strCountry = m_pUnitSet->m_Country;
	dlg.m_UPage.m_strDeparment = m_pUnitSet->m_Department;
	dlg.m_UPage.m_strEmail = m_pUnitSet->m_Email;
	dlg.m_UPage.m_strFax = m_pUnitSet->m_Fax;
	dlg.m_UPage.m_strJob = m_pUnitSet->m_Job;
	dlg.m_UPage.m_strOffice = m_pUnitSet->m_Office;
	dlg.m_UPage.m_strPostalcode = m_pUnitSet->m_PostalCode;
	dlg.m_UPage.m_strProvince = m_pUnitSet->m_Province;
	dlg.m_UPage.m_strStreet = m_pUnitSet->m_Street;
	dlg.m_UPage.m_strTelephone = m_pUnitSet->m_Telephone;
	dlg.m_UPage.m_strUnitname = m_pUnitSet->m_UnitName;
	dlg.m_UPage.m_strWeb = m_pUnitSet->m_Web;

/***************************初始化CPage页***************************/
	dlg.m_CPage.m_strCity = m_pContactSet->m_City;
	dlg.m_CPage.m_strCountry = m_pContactSet->m_Country;
	dlg.m_CPage.m_strEmail = m_pContactSet->m_Email;
	dlg.m_CPage.m_strFax = m_pContactSet->m_Fax;
	dlg.m_CPage.m_strHeadset = m_pContactSet->m_Handset;
	dlg.m_CPage.m_strIcq = m_pContactSet->m_ICQ;
	dlg.m_CPage.m_strMsn = m_pContactSet->m_MSN;
	dlg.m_CPage.m_strPostalcode = m_pContactSet->m_PostalCode;
	dlg.m_CPage.m_strProvince = m_pContactSet->m_Province;
	dlg.m_CPage.m_strQq = m_pContactSet->m_QQ;
	dlg.m_CPage.m_strStreet = m_pContactSet->m_Street;
	dlg.m_CPage.m_strTelephone = m_pContactSet->m_Telephone;

/***************************初始化OPage页***************************/
	dlg.m_OPage.m_strFavorites = m_pOtherSet->m_Favorites;
	dlg.m_OPage.m_strNickName = m_pOtherSet->m_Nickname;
	dlg.m_OPage.m_strSpecialty = m_pOtherSet->m_Specialty;
	dlg.m_OPage.m_strWeb = m_pOtherSet->m_Web;

/***************************初始化APage页***************************/
	if(m_pActiveSet->IsOpen()) 
		m_pActiveSet->Close();
	m_pActiveSet->Open();
	while(!m_pActiveSet->IsEOF())
	{
		if(m_pActiveSet->m_ID == m_pBaseInfoSet->m_ID)
		{
			dlg.m_APage.m_Active.m_Clew = m_pActiveSet->m_Clew;
			dlg.m_APage.m_Active.m_Date = m_pActiveSet->m_Date;
			dlg.m_APage.m_Active.m_Summary = m_pActiveSet->m_Summary;
			dlg.m_APage.m_Active.m_Type = m_pActiveSet->m_Type;
			dlg.m_APage.m_activeArray.Add(dlg.m_APage.m_Active);
			m_nActiveCount++;
		}

		m_pActiveSet->MoveNext();
	}

/***************************初始化RMPage页***************************/
	dlg.m_RMPage.m_strRemark = m_pRemarkSet->m_Remark;
/********************************************************************/	

	EndWaitCursor();
	dlg.DoModal();
}

BOOL CMyALDoc::SearchBaseInfo(int nField, int nCondition, CString strText, int nLogic, COleDateTime m_oleDate)
{	
	switch(nField)
	{
	case 0://ID
		{
			int nLen = strText.GetLength();
			LPCSTR lpszBuf = strText.GetBuffer(nLen);
			long lID = atol(lpszBuf);
			switch(nCondition)
			{
			case 0:
				if(m_pBaseInfoSet->m_ID == lID)
					return TRUE;
				break;
			case 1:
				if(m_pBaseInfoSet->m_ID < lID)
					return TRUE;
				break;
			case 2:
				if(m_pBaseInfoSet->m_ID > lID)
					return TRUE;
				break;
			}
			break;
		}
	case 1://姓名
		{
			if(strText == _T("")) break; 
			switch(nCondition)
			{
			case 0:
				if(m_pBaseInfoSet->m_Name == strText)
					return TRUE;
				break;
			case 1:
				if(m_pBaseInfoSet->m_Name.Find(strText) != -1)
					return TRUE;
				break;
			}	
			break;
		}
	case 2://性别
		{
			switch(nCondition)
			{
			case 0:
				if(m_pBaseInfoSet->m_Sex == nLogic)
					return TRUE;
				break;
			}
			break;
		}
	case 3://生日
		{
			CString strBirthday,strDate;
			strBirthday.Format("%d年%d月%d日",m_pBaseInfoSet->m_Birthday.GetYear(),m_pBaseInfoSet->m_Birthday.GetMonth(),m_pBaseInfoSet->m_Birthday.GetDay());
			strDate.Format("%d年%d月%d日",m_oleDate.GetYear(),m_oleDate.GetMonth(),m_oleDate.GetDay());
			switch(nCondition)
			{
			case 0:
				if(strBirthday == strDate)
					return TRUE;
				break;
			case 1:
				if(strBirthday < strDate)
					return TRUE;
				break;
			case 2:
				if(strBirthday > strDate)
					return TRUE;
				break;
			}
			break;
		}
	case 4://历制
		{
			switch(nCondition)
			{
			case 0:
				if(m_pBaseInfoSet->m_System == nLogic)
					return TRUE;
				break;
			}
			break;
		}
	case 5://提醒
		{
			switch(nCondition)
			{
			case 0:
				if(m_pBaseInfoSet->m_Clew != nLogic)
					return TRUE;
				break;
			}
			break;
		}
	case 6://国家/地区
		{
			switch(nCondition)
			{
			case 0:
				if(m_pBaseInfoSet->m_Country == strText)
					return TRUE;
				break;
			case 1:
				if(m_pBaseInfoSet->m_Country.Find(strText) != -1)
					return TRUE;
				break;
			}	
			break;
		}
	case 7://省份/自治区
		{
			switch(nCondition)
			{
			case 0:
				if(m_pBaseInfoSet->m_Province == strText)
					return TRUE;
				break;
			case 1:
				if(m_pBaseInfoSet->m_Province.Find(strText) != -1)
					return TRUE;
				break;
			}	
			break;
		}
	case 8:
		{
			switch(nCondition)
			{
			case 0:
				if(m_pBaseInfoSet->m_City == strText)
					return TRUE;
				break;
			case 1:
				if(m_pBaseInfoSet->m_City.Find(strText) != -1)
					return TRUE;
				break;
			}	
			break;
		}
	}

	return FALSE;
}

BOOL CMyALDoc::SearchFamily(int nField, int nCondition, CString strText)
{
	switch(nField)
	{
	case 0://邮编
		{
			switch(nCondition)
			{
			case 0:
				if(m_pFamilySet->m_PostalCode == strText)
					return TRUE;
				break;
			case 1:
				if(m_pFamilySet->m_PostalCode.Find(strText) != -1)
					return TRUE;
				break;
			}
			break;
		}
	case 1://国家/地区
		{
			switch(nCondition)
			{
			case 0:
				if(m_pFamilySet->m_Country == strText)
					return TRUE;
				break;
			case 1:
				if(m_pFamilySet->m_Country.Find(strText) != -1)
					return TRUE;
				break;
			}
			break;
		}
	case 2://省份/自治区
		{
			switch(nCondition)
			{
			case 0:
				if(m_pFamilySet->m_Province == strText)
					return TRUE;
				break;
			case 1:
				if(m_pFamilySet->m_Province.Find(strText) != -1)
					return TRUE;
				break;
			}
			break;
		}
	case 3://城市
		{
			switch(nCondition)
			{
			case 0:
				if(m_pFamilySet->m_City == strText)
					return TRUE;
				break;
			case 1:
				if(m_pFamilySet->m_City.Find(strText) != -1)
					return TRUE;
				break;
			}
			break;
		}
	case 4://街道地址
		{
			switch(nCondition)
			{
			case 0:
				if(m_pFamilySet->m_Street == strText)
					return TRUE;
				break;
			case 1:
				if(m_pFamilySet->m_Street.Find(strText) != -1)
					return TRUE;
				break;
			}
			break;
		}
	case 5://家庭成员
		{
			switch(nCondition)
			{
			case 0:
				if(m_pFamilySet->m_Leaguer == strText)
					return TRUE;
				break;
			case 1:
				if(m_pFamilySet->m_Leaguer.Find(strText) != -1)
					return TRUE;
				break;
			}
			break;
		}
	case 6://电话
		{
			switch(nCondition)
			{
			case 0:
				if(m_pFamilySet->m_Telephone == strText)
					return TRUE;
				break;
			case 1:
				if(m_pFamilySet->m_Telephone.Find(strText) != -1)
					return TRUE;
				break;
			}
			break;
		}
	}
	
	return FALSE;
}

BOOL CMyALDoc::SearchUnit(int nField, int nCondition, CString strText)
{
	switch(nField)
	{
	case 0://国家/地区
		{
			switch(nCondition)
			{
			case 0:
				if(m_pUnitSet->m_Country == strText)
					return TRUE;
				break;
			case 1:
				if(m_pUnitSet->m_Country.Find(strText) != -1)
					return TRUE;
				break;
			}
			break;
		}
	case 1://省份/自治区
		{
			switch(nCondition)
			{
			case 0:
				if(m_pUnitSet->m_Province == strText)
					return TRUE;
				break;
			case 1:
				if(m_pUnitSet->m_Province.Find(strText) != -1)
					return TRUE;
				break;
			}
			break;
		}
	case 2://城市
		{
			switch(nCondition)
			{
			case 0:
				if(m_pUnitSet->m_City == strText)
					return TRUE;
				break;
			case 1:
				if(m_pUnitSet->m_City.Find(strText) != -1)
					return TRUE;
				break;
			}
			break;
		}
	case 3://单位名称

⌨️ 快捷键说明

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