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

📄 funcoper.cpp

📁 VC++和ACCESS使用ADO连接
💻 CPP
字号:
// FuncOper.cpp: implementation of the CFuncOper class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "ministryperson.h"
#include "FuncOper.h"

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

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CFuncOper::CFuncOper()
{

}

CFuncOper::~CFuncOper()
{

}

/*********************************************************************
函数说明:	  检查 CEdit 数据
函数参数:	  
*********************************************************************/
BOOL CFuncOper::CheckType_CEdit(CDialog *Dlg, int ResID, CString strAlert, CString& strRet, BOOL bCanBeNULL)
{
	CString strInfo;
	CString strMsg;

	strRet.Empty();
	Dlg->GetDlgItemText(ResID, strInfo);
	if (!IsCStringNULL(&strInfo))
	{
		if (bCanBeNULL)
		{
			strInfo = "暂无";
		}
		else
		{
			strMsg.Format("%s 不能为空!     ", strAlert);
			Dlg->MessageBox(strMsg, "提示", MB_OK | MB_ICONEXCLAMATION);
			((CEdit*)(Dlg->GetDlgItem(ResID)))->SetFocus();
			return FALSE;
		}		
	}
	
	strRet = strInfo;
	return TRUE;
}

/*********************************************************************
函数说明:	  判断组合框
函数参数:	  
*********************************************************************/
BOOL CFuncOper::CheckType_CComBox(CDialog *Dlg, int ResID, CString strAlert, CString &strRet)
{
	CString strInfo;
	CString strMsg;

	strRet.Empty();
	Dlg->GetDlgItemText(ResID, strInfo);
	if (!IsCStringNULL(&strInfo))
	{
		strMsg.Format("请选择%s          ", strAlert);
		Dlg->MessageBox(strMsg, "提示", MB_OK | MB_ICONEXCLAMATION);
		((CComboBox*)(Dlg->GetDlgItem(ResID)))->SetFocus();
		return FALSE;
	}
	
	strRet = strInfo;
	return TRUE;
}

/*********************************************************************
函数说明:	  判断时间
函数参数:	  
*********************************************************************/
BOOL CFuncOper::CheckType_CTimePicker(CDialog *Dlg, int ResID, CString &strRTime)
{
	SYSTEMTIME SysTime = {0};

	((CDateTimeCtrl*)(Dlg->GetDlgItem(ResID)))->GetTime(&SysTime);
	strRTime.Format("%d-%d-%d", SysTime.wYear, SysTime.wMonth, SysTime.wDay);
	
	return TRUE;
}

/*********************************************************************
函数说明:	  判断字符串是否为空,空返回失败
函数参数:	  
*********************************************************************/
BOOL CFuncOper::IsCStringNULL(CString *strContent)
{
	(*strContent).TrimLeft();
	if ((*strContent).IsEmpty())
	{
		return FALSE;
	}
	
	return TRUE;
}

/*********************************************************************
函数说明:	  在 CEdit 控件上显示对应的字段 内容
函数参数:	  
*********************************************************************/
void CFuncOper::SetFieldValueToCEdit(CDialog *Dlg, int IDC_CONTROL, CString strValue)
{
	Dlg->SetDlgItemText(IDC_CONTROL, strValue);
}

/*********************************************************************
函数说明:	  在 CTimePicker 控件上显示对应的字段 内容
函数参数:	  
*********************************************************************/
void CFuncOper::SetFieldValueToCTime(CDialog *Dlg, int IDC_CONTROL, CString strTime)
{
	SYSTEMTIME SysTime = {0};
	CString strDay;
	CString strMonth;
	CString strYear;
	int nPointYM;
	int nPointMD;

	nPointYM = strTime.Find("-", 0);
	strYear  = strTime.Left(nPointYM);

	nPointMD = strTime.Find("-", nPointYM + 1);
	strDay   = strTime.Right(strTime.GetLength() - nPointMD - 1);
	strMonth = strTime.Mid(nPointYM + 1, nPointMD - nPointYM - 1);

	SysTime.wDay   = atoi(strDay.GetBuffer(0));
	SysTime.wMonth = atoi(strMonth.GetBuffer(0));
	SysTime.wYear  = atoi(strYear.GetBuffer(0));

	((CDateTimeCtrl*)(Dlg->GetDlgItem(IDC_CONTROL)))->SetTime(&SysTime);
}

/*********************************************************************
函数说明:	  在 CCombox 控件上显示对应的字段 内容
函数参数:	  
*********************************************************************/
void CFuncOper::SetFieldValueToCCombox(CDialog *Dlg, int IDC_CONTROL, CString strCmb)
{
	// ((CComboBox*)(Dlg->GetDlgItem(IDC_CONTROL)))->ResetContent();
	((CComboBox*)(Dlg->GetDlgItem(IDC_CONTROL)))->InsertString(0, strCmb);
	((CComboBox*)(Dlg->GetDlgItem(IDC_CONTROL)))->SetCurSel(0);
}

/*********************************************************************
函数说明:	  将时间格式化XX 年 XX 月 XX 日
函数参数:	  
*********************************************************************/
CString CFuncOper::FormatDataToShow(CString strYMD)
{

	int nPointYM = strYMD.Find("-", 0);
	CString strYear  = strYMD.Left(nPointYM);

	int nPointMD = strYMD.Find("-", nPointYM + 1);
	CString strDay   = strYMD.Right(strYMD.GetLength() - nPointMD - 1);
	CString strMonth = strYMD.Mid(nPointYM + 1, nPointMD - nPointYM - 1);

	CString strFmtData;
	strFmtData.Format("%s年%s月%s日", strYear, strMonth, strDay);
	return strFmtData;
}


/*********************************************************************
函数说明:	  设置保存路径
函数参数:	  
*********************************************************************/
CString CFuncOper::SettingSavePath(CDialog *Dlg, const CString &strDlgTitle)
{
	CHAR szDir[MAX_PATH];   
	BROWSEINFO BrowseInfo;   
	ITEMIDLIST *pItemList;   
    
	BrowseInfo.hwndOwner = Dlg->m_hWnd;   
	BrowseInfo.pidlRoot  = NULL;   
	BrowseInfo.pszDisplayName = szDir;   
	BrowseInfo.lpszTitle = strDlgTitle;   
	BrowseInfo.ulFlags   = BIF_RETURNONLYFSDIRS;   
	BrowseInfo.lpfn = NULL;   
	BrowseInfo.lParam = 0;   
	BrowseInfo.iImage = 0;   
    
	pItemList = SHBrowseForFolder(&BrowseInfo);   
	if(pItemList == NULL)   
	{
		return _T("");   
	}

	if(!SHGetPathFromIDList(pItemList, szDir))
	{
		return _T("");   
	}

	return CString(szDir);   
}

/*********************************************************************
函数说明:	  当前程序所在路径
函数参数:	  
*********************************************************************/
CString CFuncOper::GetProgramPath()
{
	CString strPath;
	CString strFile;
	
	GetModuleFileName(NULL, strPath.GetBufferSetLength(MAX_PATH + 1), MAX_PATH);		//自动获取文件路径
	strPath.ReleaseBuffer ();
	int nPos = strPath.ReverseFind('\\');
	strPath = strPath.Left(nPos);

	return strPath;
}

/*********************************************************************
函数说明:	  2008-11-11类型转换成2008 11 11数字类型
函数参数:	  
*********************************************************************/
void CFuncOper::strTimeTowTime(CString strTime, WORD wTime[])
{
	int nPointYM = strTime.Find("-", 0);
	CString strYear = strTime.Left(nPointYM);
	int nPointMD = strTime.Find("-", nPointYM + 1);
	CString strDay  = strTime.Right(strTime.GetLength() - 1 - nPointMD);
	CString strMonth = strTime.Mid(nPointYM + 1, nPointMD - nPointYM -1);
	
	wTime[0] = atoi(strYear.GetBuffer(0));
	wTime[1] = atoi(strMonth.GetBuffer(0));
	wTime[2] = atoi(strDay.GetBuffer(0));
}

⌨️ 快捷键说明

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