收藏 分销(赏)

塑胶瓶黑点检测软件.doc

上传人:pc****0 文档编号:7460072 上传时间:2025-01-05 格式:DOC 页数:60 大小:409.50KB 下载积分:10 金币
下载 相关 举报
塑胶瓶黑点检测软件.doc_第1页
第1页 / 共60页
塑胶瓶黑点检测软件.doc_第2页
第2页 / 共60页


点击查看更多>>
资源描述
60 海昌医用塑胶瓶黑点检测软件V1.0 #ifndef TaskHandleH #define TaskHandleH #include <SysUtils.hpp> #include "IACTSVC.h" #include "ISMSSVC.h" // class TTaskHandler { public: virtual fastcall ~TTaskHandler(){}; virtual int fastcall Run(char *pBuf){return ;} virtual int fastcall GetErrorCode(AnsiString RetCode, int &nErrCode); virtual int fastcall GetUserHead(const char *pBuf,int nCmd); //virtual int fastcall ParsePack(char *pPack, unsigned int nPackLen)= ; int m_nErrCode; char m_szIVRSerial[]; TACTUser *pUserInfo; TACTHead *pHeadInfo; int nDime; }; //- //enum {SelfSingel=, RandomSingle=, Multle=, Mixture=}; class TInvestHandler : public TTaskHandler { //virtual int fastcall GenerateNum(int nCount, char *pNum){return ;} //virtual int fastcall CheckNum(int nType, char *pNum, int &nCount){return ;} protected: fastcall TInvestHandler(){}; virtual fastcall ~TInvestHandler(){}; //virtual int fastcall Factorial(int nNum); //virtual int fastcall Permutation(int nUpNum, int nDownNum); / virtual int fastcall Combination(int nUpNum, int nDownNum); virtual int fastcall ParsePack(char *pPack, unsigned int nPackLen){return ;} virtual int CheckMultiNum(char *pNum, unsigned int nMin,unsigned int nMax, unsigned int nHigh, int &nCount); virtual int CheckSingleNum(char *pNum, unsigned int nMin, unsigned int nMax); virtual int CheckMixtureNum(char *pNum, unsigned int nMin, unsigned int nMax, unsigned int nHigh, int &nCount); virtual int CheckMixtureNumD(char *pNum, unsigned int nMin, unsigned int nMax, unsigned int nHigh, int &nCount,int Times); int CheckSingleDNum(char *pNum, unsigned int nDime); int CheckMultiSingleDNum(char *pNum, unsigned int nMin, unsigned int nMax); virtual int SortedNumber(char *pNum); TACTInvestInfo *pInvestInfo; int m_nMoney; AnsiString m_asIssue; int m_nPlay; int m_nSaleMode; int m_nInvestMode; public: _di_IACTSVC SOAPService; virtual int fastcall Run(char *pBuf){return ;} virtual int fastcall Invest(){return ;} class TQueryHandler : public TTaskHandler { virtual int Query(char *pBuf){return ;} protected: //virtual int fastcall GetErrorCode(AnsiString RetCode, int &pErrCode); public: //TACTUser *pUserInfo; //TACTHead *pHeadInfo; _di_IACTSVC SOAPService; fastcall TQueryHandler(){}; virtual fastcall ~TQueryHandler(){}; } class TMoneyTransHandler : public TTaskHandler { virtual int Transfer(char *pBuf){return ;} protected: //virtual int fastcall GetUserHead(const char *pBuf, int nCom); //virtual int fastcall GetErrorCode(AnsiString RetCode, char *pErrCode); public: //TACTUser *pUserInfo; //TACTHead *pHeadInfo; _di_IACTSVC SOAPService; fastcall TMoneyTransHandler(){}; virtual fastcall ~TMoneyTransHandler(){}; }; // class TCustomizeHandler : public TTaskHandler { virtual int Customize(char *pBuf); AnsiString m_asServ; int m_nRegType; int m_nSendLimit; public: TSMSUser *pSMUserInfo; TSMSHead *pSMHeadInfo; _di_ISMSSVC SOAPService; fastcall TCustomizeHandler(); virtual fastcall ~TCustomizeHandler(); virtual int fastcall GetUserHead(const char *pBuf,int nCmd); virtual int fastcall Run(char *pBuf); };class TRegisteHandler : public TTaskHandler { virtual int Registe(char *pBuf){return ;} public: //TACTUser *pUserInfo; //TACTHead *pHeadInfo; _di_IACTSVC SOAPService; fastcall TRegisteHandler(){}; virtual fastcall ~TRegisteHandler(){}; }; class TQueryAwardBulletin : TQueryHandler { virtual int Query(char *pBuf); AnsiString m_asPlay; AnsiString m_asIssue; int m_nBulletin; int m_nRespType; public: TSMSUser *pSMUserInfo; TSMSHead *pSMHeadInfo; _di_ISMSSVC SOAPService; fastcall TQueryAwardBulletin(); virtual fastcall ~TQueryAwardBulletin(); int fastcall GetUserHead(const char *pBuf,int nCmd); virtual int fastcall GetErrorCode(AnsiString RetCode, int &nErrCode); virtual int fastcall Run(char *pBuf); }; clase TInsertSMS { TSMSUser *pSMUserInfo; TSMSHead *pSMHeadInfo; _di_ISMSSVC SOAPService; public: fastcall TInsertSMS(); virtual fastcall ~TInsertSMS(); int fastcall Run(); */ #endif // // TaskHandle.cpp #pragma hdrstop #include <list.h> #include "TaskHandle.h" #include "DataModule.h" #include "LogInvoker.h" #include "IniInvoker.h" #include "SystemListener.h" #include "LotteryUtils.h" int fastcall TTaskHandler :: GetErrorCode(AnsiString RetCode, int &nErrCode) { if (RetCode.SubString(,) == "") { nErrCode = ; return ; } TOraStoredProc *pStoreProc = new TOraStoredProc(NULL); int nRes = ; if (!DataLib->CheckDB()) { nErrCode = ; delete pStoreProc; return ; } pStoreProc->Active = false; pStoreProc->Session = DataLib->Oracle; pStoreProc->StoredProcName = "Pr_Query_RetCode"; pStoreProc->Params->Clear(); pStoreProc->Params->Add(); pStoreProc->Params->Items[]->Name = "iTelNum"; pStoreProc->Params->Items[]->DataType = ftString; pStoreProc->Params->Items[]->ParamType = ptInput; pStoreProc->Params->Items[]->AsString = pUserInfo->Phone; pStoreProc->Params->Add(); pStoreProc->Params->Items[]->Name = "iErrCode"; pStoreProc->Params->Items[]->DataType = ftString; pStoreProc->Params->Items[]->ParamType = ptInput; pStoreProc->Params->Items[]->AsString = RetCode; pStoreProc->Params->Add(); pStoreProc->Params->Items[]->Name = "iCmd"; pStoreProc->Params->Items[]->DataType = ftInteger; pStoreProc->Params->Items[]->ParamType = ptInput; pStoreProc->Params->Items[]->AsInteger = pHeadInfo->Cmd; pStoreProc->Params->Add(); pStoreProc->Params->Items[]->Name = "iSerial"; pStoreProc->Params->Items[]->DataType = ftString; pStoreProc->Params->Items[]->ParamType = ptInput; pStoreProc->Params->Items[]->AsString = pHeadInfo->; pStoreProc->Params->Add(); pStoreProc->Params->Items[]->Name = "oResult"; pStoreProc->Params->Items[]->DataType = ftString; pStoreProc->Params->Items[]->ParamType = ptOutput; pStoreProc->Params->Add(); pStoreProc->Params->Items[]->Name = "oIvrCode"; pStoreProc->Params->Items[]->DataType = ftInteger; pStoreProc->Params->Items[]->ParamType = ptOutput; pStoreProc->Params->Add(); pStoreProc->Params->Items[]->Name = "oVoice"; pStoreProc->Params->Items[]->DataType = ftString; pStoreProc->Params->Items[]->ParamType = ptOutput; try { pStoreProc->ExecProc(); AnsiString asTmp = pStoreProc->Params->Items[]->AsString; if (asTmp == "") { nErrCode = pStoreProc->Params->Items[]->AsInteger; nRes = ; } } catch(...) { nRes = ; pLog->SysLog(IVRMOD,"TQueryHandler::GetErrorCode", "DataBase", "Error", "Oracle Exception Occurs When Exec Stored Proc"); } if (pStoreProc != NULL) delete pStoreProc; } if (nRes == ) { nErrCode = ; } return nRes; int fastcall TTaskHandler :: GetUserHead(const char *pBuf,int nCmd) { char szTel[]; char szArea[]; GetWord(pBuf, m_szIVRSerial, , '|'); GetWord(pBuf, szTel, , '|'); GetWord(pBuf, szArea, , '|'); pHeadInfo->Cmd = nCmd; pHeadInfo->Source = IVR; pHeadInfo-> = TSystemState::Instance()->Get(); pUserInfo->Area = szArea; pHeadInfo->Vender = VENDER; pUserInfo->Phone = szTel; return ; int fastcall TInvestHandler :: Combination(int nUpNum, int nDownNum) //组合 { int nRes = ; int j = ; if (nDownNum < nUpNum) return ; for (int i = nDownNum-nUpNum+; i <= nDownNum; i++) { nRes = nRes * i / (j++); } return nRes; } //- int TInvestHandler :: CheckSingleNum(char *pNum, unsigned int nMin, unsigned int nMax) { std::list<int> NumSerial; list<int>::iterator pos; NumSerial.clear(); unsigned int i, num, nLen = strlen(pNum); if ((nLen%) == ) return ; nLen = nLen / ; char szDigits[]; memset(szDigits, '\', sizeof(szDigits)); if (nLen != nMin) return ; for (i=; i<nLen; i++) { memcpy(szDigits, pNum+(i*), ); num = atoi(szDigits); if (num <= ) return ; if (num <= nMax) NumSerial.push_back(num); else return ; } NumSerial.sort(); NumSerial.unique(); if (NumSerial.size() != nLen) return ; i = ; for (pos=NumSerial.begin(); pos != NumSerial.end(); pos++) { sprintf(pNum+(i++)*, "%d", *pos); } sprintf(pNum+nLen*,"^"); return ; } int TInvestHandler :: CheckSingleDNum(char *pNum, unsigned int nDime) //CheckSingleDNum(pNum, ) { std::list<int> NumSerial; list<int>::iterator pos; NumSerial.clear(); unsigned int i, num, nLen = strlen(pNum); if (nLen != nDime) return ; for (i=; i<nLen; i++) { num = pNum[i] - ''; // if (num <= ) if (num < ) return ; if (num <= ) NumSerial.push_back(num); else return ; } NumSerial.sort(); //NumSerial.unique(); if (NumSerial.size() != nLen) return ; i = ; for (pos=NumSerial.begin(); pos != NumSerial.end(); pos++) { sprintf(pNum + i, "%d*", *pos); i = strlen( pNum ); } nLen = i - ; sprintf(pNum+nLen,"^"); return ; } // int TInvestHandler :: CheckMultiNum(char *pNum, unsigned int nMin, unsigned int nMax, unsigned int nHigh, int &nCount) { std::list<int> NumSerial; list<int>::iterator pos; NumSerial.clear(); unsigned int i, num, nLen = strlen(pNum); if ((nLen%) == ) return ; nLen = nLen / ; char szDigits[]; memset(szDigits, '\', sizeof(szDigits)); if ((nLen <= nMin ) || (nLen > nHigh)) return ; for (i=; i<nLen; i++) { memcpy(szDigits, pNum+(i*), ); num = atoi(szDigits); if (num <= ) return ; if (num <= nMax) { NumSerial.push_back(num); } else #ifdef _TRCLOG pTrcLogger->WriteLog("TBaseOperation::CheckDBSms","before send sms",aACTHead->, "","","","","",aACTHead->Cmd,"CheckDBSms"); #endif lp_HTTPRIO = new THTTPRIO(NULL); if(aACTCfg.SMSUseURL) { lp_HTTPRIO->URL = aACTCfg.SMSURL; } else { lp_HTTPRIO->WSDLLocation = aACTCfg.SMSWsdlLocation; lp_HTTPRIO->Service = aACTCfg.SMSService; lp_HTTPRIO->Port = aACTCfg.SMSPort; } _di_ISMSSVC iSMSSvc; OleCheck(lp_HTTPRIO->QueryInterface(iSMSSvc)); pSMSHead = new TSMSHead; pSMSUser = new TSMSUser; pSMSHead-> = aACTHead->; pSMSHead->Vender = aACTHead->Vender; pSMSHead->Cmd = SMSSUBMITCMD; pSMSHead->Source = aACTCfg.Module; pSMSHead->SubSys = aACTCfg.SMSSubSys; pQuery = new TOraQuery(NULL); pQuery->Session = DataLib->ACTDB; char strSQL[]; ZeroMemory(strSQL,); sprintf(strSQL,"select * from tb_sms_info where = : and send_flag = "); pQuery->SQL->Add(strSQL); pQuery->ParamByName("")->AsString = aACTHead->; pQuery->Open(); pQuery->First(); pUpdater= new TOraQuery(NULL); pUpdater->Session = DataLib->ACTDB; AnsiString aErrorCode = "",aServiceType = ""; int aFeeType = , aFeeValue = ,aReportFlag = ; while(!pQuery->Eof) { pSMSUser->Phone = pQuery->FieldByName("Phone")->AsString; pSMSUser->Area = pQuery->FieldByName("Area_")->AsString; iSMSSvc->SmsSubmit(pSMSHead, pSMSUser, aACTCfg.SMSAccessNo, aACTCfg.SMSInvestServ,, aFeeType, aFeeValue, aReportFlag, pQuery->FieldByName("SMS")->AsString, aErrorCode); #ifdef _TRCLOG pTrcLogger->WriteLog("TBaseOperation::CheckDBSms","send sms result",aACTHead->, "","","","","",aACTHead->Cmd,aErrorCode); #endif sprintf(strSQL,"update tb_sms_info set SEND_FLAG = where =: and send_order = :Send_order"); pUpdater->SQL->Clear(); pUpdater->SQL->Add(strSQL); pUpdater->ParamByName("")->AsString = aACTHead->; pUpdater->ParamByName("Send_order")->AsInteger = pQuery->FieldByName("Send_order")->AsInteger; pUpdater->ExecSQL(); pQuery->Next(); } #ifdef _TRCLOG pTrcLogger->WriteLog("TBaseOperation::CheckDBSms","after send sms",aACTHead->, "","","","","",aACTHead->Cmd,aErrorCode); #endif } catch(Exception &e) { pErrLogger->WriteLog("TBaseOperation","CheckDBSms",aACTHead->, "","","","","",SMSSUBMITCMD,e.Message); } if(lp_HTTPRIO != NULL) { lp_HTTPRIO = NULL; } if(pSMSHead != NULL) { delete pSMSHead; pSMSHead = NULL; } if(pSMSUser != NULL) { delete pSMSUser; pSMSUser = NULL; } if(pQuery != NULL) { delete pQuery; pQuery = NULL; } if(pUpdater != NULL) { delete pUpdater;
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服