📄 rainfunction.cpp
字号:
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 + -