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

📄 rainfunction.cpp

📁 用VISUAL C++设计的客户资源管理系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
			if(( i>= (unsigned short)'击'&& i<(unsigned short)'喀')|| i==(unsigned short)'科')
				value.Format("J");
			if( i>= (unsigned short)'喀'&& i<(unsigned short)'垃')
				value.Format("K");
			if( i>= (unsigned short)'垃'&& i<(unsigned short)'妈')
				value.Format("L");
			if( i>= (unsigned short)'妈'&& i<(unsigned short)'拿')
				value.Format("M");
			if( i>= (unsigned short)'拿'&& i<(unsigned short)'哦')
				value.Format("N");
			if( i>= (unsigned short)'哦'&& i<(unsigned short)'啪')
				value.Format("O");
			if( i>= (unsigned short)'啪'&& i<(unsigned short)'期')
				value.Format("P");
			if( i>= (unsigned short)'期'&& i<(unsigned short)'然')
				value.Format("Q");
			if( i>= (unsigned short)'然'&& i<(unsigned short)'撒')
				value.Format("R");
			if( i>= (unsigned short)'撒'&& i<(unsigned short)'塌')
				value.Format("S");
			if( i>= (unsigned short)'塌'&& i<(unsigned short)'挖')
				value.Format("T");
			if( i>= (unsigned short)'挖'&& i<(unsigned short)'昔')
				value.Format("W");
			if( i>= (unsigned short)'昔'&& i<(unsigned short)'压')
				value.Format("X");
			if( i>= (unsigned short)'压'&& i<(unsigned short)'匝')
				value.Format("Y");
			if( i>= (unsigned short)'匝' && i!=(unsigned short)'炜' && i!=(unsigned short)'馨' && i!=(unsigned short)'懿')
				value.Format("Z");
		}
	 ReturnValue=ReturnValue+value;
	}
	return ReturnValue;
}
/*主要功能:                                      
	设置当回车键时焦点移动的顺序。 
 参数:                                          
	ParentWnd:对象所在的父窗口指针 。       
	Msg:指定消息的指针。                           
	Wnd:需要操作的对象指针。
	NextWnd:焦点移动到的对象指针*/
MSG* CRainFunction::CMessage(CWnd* ParentWnd,MSG *Msg, CWnd *Wnd, CWnd *NextWnd)
{
	CString ClassString_Down,ClassString_Up;
	ClassString_Down=Wnd->GetRuntimeClass()->m_lpszClassName;
	ClassString_Up=NextWnd->GetRuntimeClass()->m_lpszClassName;
	if(ClassString_Down=="CComboBox")
	{
		if(Wnd->GetStyle()==1342243586)
		{
			if (ParentWnd->FromHandle(Msg->hwnd)->GetParent()->GetSafeHwnd()==Wnd->GetSafeHwnd() &&Msg->message==WM_KEYDOWN && (Msg->wParam==39||Msg->wParam==13))
			{
				NextWnd->SetFocus();
				Msg->wParam=0x1d;
			}
		}
		else
		{
			if(Msg->hwnd==Wnd->GetSafeHwnd() && Msg->message==WM_KEYDOWN && (Msg->wParam==13||Msg->wParam==39))
			{
				NextWnd->SetFocus();
				Msg->wParam=0x1d;
			}
		}
	}
	else
	{
		if(Msg->hwnd==Wnd->GetSafeHwnd() && Msg->message==WM_KEYDOWN && (Msg->wParam==13||Msg->wParam==40))
		{
		NextWnd->SetFocus();
		Msg->wParam=0x1d;
		}
	}
	if(ClassString_Up=="CComboBox")
	{
		if(Wnd->GetStyle()==1342243586)
		{
			if (ParentWnd->FromHandle(Msg->hwnd)->GetParent()->GetSafeHwnd()==NextWnd->GetSafeHwnd() &&Msg->message==WM_KEYDOWN && (Msg->wParam==37))
			{
				Wnd->SetFocus();
				Msg->wParam=0x1d;
			}
		}
		else
		{
			if(Msg->hwnd==NextWnd->GetSafeHwnd() && Msg->message==WM_KEYDOWN && Msg->wParam==37)
			{
				Wnd->SetFocus();
				Msg->wParam=0x1d;
			}
		}
	}
	else
	{
		if(Msg->hwnd==NextWnd->GetSafeHwnd() && Msg->message==WM_KEYDOWN && Msg->wParam==38)
		{
		Wnd->SetFocus();
		Msg->wParam=0x1d;
		}
	}
	return Msg;
}
/*主要功能:                                      
	自动生成数值型编号。 
 参数:
	nflg:未用,设置为0                                                 
	TableName:需要操作的数据表的名称。*/
int CRainFunction::AutoNumber(int nflg,CString TableName)
{
	_RecordsetPtr AutoNumber_Rst2;
	AutoNumber_Rst2.CreateInstance(__uuidof(Recordset));
	
	CString sSQL;
	_variant_t value;
	int nNumber=1;
	sSQL.Format("SELECT MAX(编号) as 最大编号 FROM %s",TableName);
	AutoNumber_Rst2 = cnn->Execute((_bstr_t)sSQL,NULL,adCmdText);		
	value=AutoNumber_Rst2->GetCollect("最大编号");
	if(value.vt==VT_NULL)
	{
		nNumber=1;
	}
	else
	{
		nNumber=atoi((char*)(_bstr_t)value)+1;
	}
	AutoNumber_Rst2->Close();

	return nNumber;
}
/*主要功能:                                      
	返回指定记录集中记录的个数。 
 参数:                                          
	rRecord:指定数据集 。*/
int CRainFunction::RecordCount(_RecordsetPtr rRecord)
{
	int recordcount=0;
	try{
	rRecord->MoveFirst();
	}
	catch(...)
	{
		return 0;
	}
	if(rRecord->_EOF)
		return 0;
	while (!rRecord->_EOF)
	{
		rRecord->MoveNext();
		recordcount=recordcount+1;	
	}
	return recordcount;
}	
/*主要功能:                                      
	在字符中前添加指定个数的字符。 
 参数:                                          
	String:源字符串 。       
	digit:字符串的长度。                           
	fill: 添充的字符串*/
CString CRainFunction::Padl(CString String, int digit, CString Fill,int Way)
{
	int Padl_n;
	CString Padl_string;
	Padl_string.Empty();
	for(Padl_n=1;Padl_n<=digit-String.GetLength();Padl_n++)
	{
	Padl_string=Padl_string+Fill;
	}
	if(Way==1)
		return Padl_string+String;
	else
		return String+Padl_string;
}

/*主要功能:                                      
	将时间字符串转换成CTime类型。 
 参数:                                          
	cDate:指定字符型字符串 。       
  注意:
	cDate是YYYY-MM-DD型式。*/
CTime CRainFunction::CStringTOCTime(CString cDate)
{
	int nYear,nMonth,nDay,iFChar,iSChar;
	CString cYear,cMonth,cDay;
	CTime tDate;
	//取出“-”的位置
	iFChar=cDate.Find("-",0);	
	iSChar=cDate.Find("-",iFChar+1);
	cYear=cDate.Left(4);
	cMonth=cDate.Mid(iFChar+1,iSChar-(iFChar+1));
	cDay=cDate.Mid(iSChar+1);
	
	
	
	nYear=atoi(cYear);
	nMonth=atoi(cMonth);
	nDay=atoi(cDay);
	
	tDate=CTime::CTime(nYear,nMonth,nDay,0,0,0);
	return tDate;
}
/*主要功能:                                      
	将CTime类型数据转换在时间字符串。 
 参数:                                          
	date:CTime类型数据 。 */
CString CRainFunction::CTimeToCString(CTime date)
{
	int nYear,nMonth,nDay;
	CString sDate;
	nYear=date.GetYear();
	nMonth=date.GetMonth();
	nDay=date.GetDay();
	sDate.Format("%d-%d-%d",nYear,nMonth,nDay);
	return sDate;
}
/*主要功能:                                      
	设置某一Wnd对象中允许输入数字或小数点。
	如果为1,则可以输入小数点
 参数:                                          
	Wnd:需要设置的对象指针 。       
	Msg:消息指针。*/
void CRainFunction::InPutFormat(int Type,CWnd* Wnd,MSG *Msg)
{
	if(Type==1)
	{
		if(Msg->hwnd==Wnd->GetSafeHwnd() && Msg->message==WM_KEYDOWN 
			&& (Msg->wParam<48 || Msg->wParam>57)&&(Msg->wParam<96 || Msg->wParam>105)&& Msg->wParam!=110  && Msg->wParam!=190  && Msg->wParam!=8 && Msg->wParam!=13 )
		{
			Msg->wParam=0x1d;//将响应更改为按下Ctrl键
		}

	}
}
/*主要功能:                                      
	测试ADO错误
*/
void CRainFunction::ADOError(_RecordsetPtr ADORecordset)
{
	ErrorsPtr pErrors=cnn->GetErrors();
	for (int i=0;i<pErrors->GetCount();i++)
	{
		_bstr_t desc=pErrors->GetItem((long)i)->GetDescription();
		AfxMessageBox(desc);
	}
}


int CRainFunction::GetRecno(_RecordsetPtr rst, CString FieldName, CString FieldValue)
{
	CString value;
	int Recno;
	if(this->RecordCount(rst)<=0)
		Recno=-1;
	else
	{
		for(int i=0;i<this->RecordCount(rst);i++)
		{
			rst->MoveFirst();
			rst->Move(i);
			value=(char*)(_bstr_t)rst->GetCollect((_bstr_t)FieldName);
			if(value==FieldValue)
			{
				Recno=i+1;
				goto ret;
			}	
		}
	}
ret: return Recno;
}

⌨️ 快捷键说明

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