////////////////////////////////////////////////////////////////////////////// ////// ////// ////// 文 件: Global.cpp ////// ////// 作 者: sailing ////// ////// 创建时间: 2008-08-20 ////// ////// 说 明: 定义全局变量,全局函数 ////// ////// ////// ////// 修改时间: ////// ////// 修改说明: ////// ////// ////// ////////////////////////////////////////////////////////////////////////////// #pragma once #include "stdafx.h" //版本信息 CString g_strVersion = "3.0.3.2"; //程序退出事件 HANDLE g_hRunObject = NULL; //Server CHAR g_strServerIP[MAX_EQUIP_IP + 1] = {0}; CHAR g_strServerPort[MAX_PORT + 1] = {0}; //Database CHAR g_strConnectString[MAX_PATH + 1] = ""; // 数据连接字符串 CHAR g_strDBType[MAX_SERVER_LENGTH + 1] = ""; // 数据库连接类型(如: SQL SERVER 、Access ) CHAR g_strAccessFile[MAX_PATH_LENGTH + 1] = ""; // 如果是用Access数据库:Access文件名称 // 如用其它数据库:为空 CHAR g_strServerName[MAX_SERVER_LENGTH + 1] = ""; // 数据库服务器名称或IP CHAR g_strDataBaseName[MAX_DATABASE_LENGTH + 1] = ""; // 数据库名称 CHAR g_strUserName[MAX_USER_LENGTH + 1] = ""; // 数据库用户名 CHAR g_strPassword[MAX_PASSWORD_LENGTH + 1] = ""; // 数据库密码 DWORD g_dwDataBasePort = 0; //用户信息 CHAR g_strLoginUserID[MAX_USER_LENGTH + 1] = ""; // 当前使用该软件的用户名 CHAR g_strLoginPwd[MAX_PASSWORD_LENGTH + 1] = ""; // 当前使用该软件的密码 CHAR g_strDefaultUserID[MAX_USER_LENGTH + 1] = {0}; CHAR g_strDefaultUserPwd[MAX_PASSWORD_LENGTH + 1] = {0}; INT g_nIsDemo = 0; CString g_strCommunity = "public"; bool g_bHaveControlPwd = true; DWORD g_nRunEditVarTick;//在运行状态编辑变量的TICK bool g_bRunEditVar;//是否在运行状态编辑变量 //RunParam INT g_nIsPoll = 0; INT g_nPollInterval = 0; INT g_nPollCount = 0; CHAR g_strPollPath[MAX_VIEW_NUM][MAX_PATH] = {0}; CHAR g_strPollDesc[MAX_VIEW_NUM][MAX_DESC] = {0}; INT g_nPollIndex = 0; DWORD g_dwTick = 0; //AlarmMode INT g_nAlarmModeIsDlg = 0; INT g_nAlarmModeIsSound = 0; INT g_nAlarmModeSoundPlayNum = 0; INT g_nAlarmToView = 0; //Comm INT g_nCommDlgLevel = 0; INT g_nCommWavLevel = 0; //TTS参数配置 INT g_nTTSType = 5; // TTS格式类型 //Toolbar显示选项 INT g_nToolbarTop = 0; INT g_nToolbarLeft = 0; INT g_nToolbarRun = 0; INT g_nToolBarStatus = 0; //用户权限 vector g_vtUserGroupID; vector g_vtUserRoomID; vector<__USEREQUIPINFO> g_vtUserEquipInfo; vector<__USERROLEINFO> g_vtUserRoleInfo; vector<__USERTELINFO> g_vtUserTelInfo; bool g_bPurviewAddEquip = FALSE; bool g_bPurviewAddMobusEquip = FALSE; bool g_bPurviewSetIP = FALSE; bool g_bPurviewEquipTypeInfoManager = FALSE; bool g_bPurviewEquipTypeInfoRead = FALSE; bool g_bPurviewAreaInfoManager = FALSE; bool g_bPurviewAreaInfoRead = FALSE; bool g_bPurviewRoomInfoManager = FALSE; bool g_bPurviewRoomInfoRead = FALSE; bool g_bPurviewUserInfoManager = FALSE; bool g_bPurviewUserInfoRead = FALSE; bool g_bPurviewUserGroupInfoManager = FALSE; bool g_bPurviewUserGroupInfoRead = FALSE; bool g_bPurviewUserGroupPurviewManager = FALSE; bool g_bPurviewUserPurviewManager = FALSE; bool g_bPurviewUserDatePlan = FALSE; bool g_bPurviewPurviewInfoManager = FALSE; bool g_bPurviewPurviewInfoRead = FALSE; bool g_bPurviewSPEquipManager = FALSE; bool g_bPurviewSPEquipRead = FALSE; bool g_bPurviewSensorManager = FALSE; bool g_bPurviewSensorRead = FALSE; bool g_bPurviewRelayControl = FALSE; bool g_bPurviewVideoContorl = FALSE; bool g_bPurviewEquipDatePlan = FALSE; bool g_bPurviewRouterEquipManager = FALSE; bool g_bPurviewRouterEquipRead = FALSE; bool g_bPurviewUpsManager = FALSE; bool g_bPurviewUpsRead = FALSE; bool g_bPurviewVideoEquipManager = FALSE; bool g_bPurviewVideoEquipRead = FALSE; bool g_bPurviewTEPWManager = FALSE; bool g_bPurviewTEPWRead = FALSE; bool g_bPurviewUpsMGEManager = FALSE; bool g_bPurviewUpsMGERead = FALSE; bool g_bPurviewMcQuayManager = FALSE; bool g_bPurviewMcQuayRead = FALSE; bool g_bPurviewHGManager = FALSE; bool g_bPurviewHGRead = FALSE; bool g_bPurviewLeakageManager = FALSE; bool g_bPurviewLeakageRead = FALSE; bool g_bPurviewAirConditionManager = FALSE; bool g_bPurviewAirConditionRead = FALSE; bool g_bPurviewAirConditionOpen = FALSE; bool g_bPurviewAirConditionClose = FALSE; bool g_bPurviewCFIManager = FALSE; bool g_bPurviewCFIRead = FALSE; bool g_bPurviewEquipAlloc = FALSE; //Dog HANDLE g_hSemDogRead = NULL; char g_szDogData[10] = {0}; //日志 CHAR g_strDirectory[MAX_PATH_LENGTH + 1]; // 软件所在路径 CHAR g_strAppName[MAX_PATH_LENGTH + 1] = {0}; // 软件名称 //视频采集卡 INT g_nCardCount = 0; // 板卡个数 INT g_nDspsCount = 0; // 正确编码的通道个数 INT g_nStartingCapture[64] = {0}; // 录像状态 CHAR g_strVideoCapPath[MAX_PATH + 1] = {0}; // 视频录像保存路径 //系统设置 BOOL g_bEnableTimeLimited = FALSE; // TRUE:时间限制 FALSE:正式版 INT g_iAutoRunSystem = 0; // 是否开机自启动该系统 CHAR g_strLanguage[MAX_LANG_LENGTH + 1]={0}; // 默认语言 //视频卡 //视频选项卡标题 CString g_strVideoTabMonitorTitle; CString g_strVideoTabPlaybackTitle; //界面语言 CString g_strEquipExist; CString g_strLogTypeEvent; CString g_strLogTypeData; CString g_strLogTypeError; CString g_strLogTypeWarning; CString g_strLogModMainThread; CString g_strLogModDB; CString g_strLogModEmail; CString g_strLogModSms; CString g_strLogModPing; CString g_strLogModTrap; CString g_strLogModSnmp; CString g_strLogModDog; CString g_strLogModNotice; CString g_strLogModContents; CString g_strLogModTime; BOOL g_bRun; //运行否 BOOL g_bEdit; //编辑否 int g_nElementNo; //选中的元件编号 CString g_strViewName; CString g_sCurrentPageName; int g_nUserID; //当前用户的ID // 系统参数 BOOL g_bAlarmVoice; BOOL g_bHideTask; CString g_strStartPic; CString g_strStartPath; BOOL g_bStartRun = TRUE; BOOL g_bEventAlarm; BOOL g_bFullScreen; // 事件参数 BOOL g_bControlEvent; CString g_strYkWave; BOOL g_bLoginEvent; CString g_strLoginWave; BOOL g_bReguEvent; CString g_strReguWave; BOOL g_bSetEvent; CString g_strSetWave; BOOL g_bYcEvent; CString g_strYcWave; BOOL g_bYxChangeEve; CString g_strYxChangeWave; //错误代码,提示 CHAR g_strErrorExecSql[MAX_ERROR_LEN + 1] = {0}; CHAR g_strErrorDBDisConnection[MAX_ERROR_LEN + 1] = {0}; //告警提示 CHAR g_strMsgSelectDel[MAX_ERROR_LEN + 1] = {0}; CHAR g_strMsgConfirmDel[MAX_ERROR_LEN + 1] = {0}; CHAR g_strMsgEditSuccess[MAX_ERROR_LEN + 1] = {0}; CHAR g_strMsgSelectEdit[MAX_ERROR_LEN + 1] = {0}; CHAR g_strMsgUserNotNULL[MAX_ERROR_LEN + 1] = {0}; CHAR g_strMsgPwdNotNULL[MAX_ERROR_LEN + 1] = {0}; CHAR g_strMsgUserInvalid[MAX_ERROR_LEN + 1] = {0}; CHAR g_strMsgConfirmDelRecord[MAX_ERROR_LEN + 1] = {0}; CHAR g_strMsgPrompt[MAX_ERROR_LEN + 1] = {0}; CHAR g_strMsgUserDisable[MAX_ERROR_LEN + 1] = {0}; CHAR g_strMsgDBConnectionSuccess[MAX_ERROR_LEN + 1] = {0}; CHAR g_strMsgDBConnectionFail[MAX_ERROR_LEN + 1] = {0}; //资源字符串 CString g_strSet; CString g_strAdjust; CString g_strTestAlarm; CString g_strExit; CString g_strExLink; CString g_strPictureLink; CString g_strAlarmRed; CString g_strNoticeRed; CString g_strDeviceLog; CString g_strSystemLog; CString g_strVarManage; CString g_strUserManage; CString g_strPwdManage; CString g_strFirstPage; CString g_strNativageTree; CString g_strVarTypeID; CString g_strSelLine; CString g_strVarID; CString g_strVarUid1; CString g_strVarName1; CString g_strVarDesc; CString g_strVarDataLen; CString g_strOnDesc; CString g_strOffDesc; CString g_strMaxValues; CString g_strMinValues; CString g_strMaxScale; CString g_strMinScale; CString g_strLowerLimit; CString g_strUpperLimit; CString g_strNormalState; CString g_strSetValue; CString g_strRearm; CString g_strOffset; CString g_strUint; CString g_strCollectFreq; CString g_strCoef; CString g_strAlarmLevel; CString g_strReadWrite; CString g_strSaveData; CString g_strCollectThreadData; CString g_strSaveCurve; CString g_strIsDDE; CString g_strRegNum; CString g_strFuncID; CString g_strChildID; CString g_strItemID; CString g_strSnmpOid; CString g_strSnmpPublic; CString g_strDevTypeID; CString g_strVarStartAddr; CString g_strRs232Cmd; CString g_strRs232Type; CString g_strRs232Index; CString g_strIndentifyTime; CString g_strRedectTime; CString g_strReturnNormalAlarm; CString g_strShowCurrValue; CString g_strAlarmVarName; CString g_strVarUidIsBlank; CString g_strVarNameIsBlank; CString g_strVarNameExist; CString g_strVarName2; CString g_strSelDev; CString g_strStoneuTech; CString g_strPictureFile1; CString g_strCannotLoseAllForm; CString g_strStartBit; CString g_strEndBit; CString g_strVarBitExist; CString g_strSelDevice; CString g_strOldPasswordCannotBlank; CString g_strOldpasswordInCorrect; CString g_strpasswordInCorrect; CString g_strPasswordNotMatch1; CString g_strAll; CString g_strDevName; CString g_strHappentTime1; CString g_strEventArea; CString g_strCurrValue; CString g_strDateTime; CString g_strHappenTime2; CString g_strWarnContent; CString g_strAllDev; CString g_strEthernet; CString g_strMywizard; CString g_strDevNameInUse; CString g_strUserID; CString g_strHintUserName; CString g_strTel; CString g_strMobile; CString g_strFax; CString g_strMail; CString g_strStatus; CString g_strUserPwd; CString g_strUserNameCannotEmpty; CString g_strPasswordNotMatch2; CString g_strUserNameExit; CString g_strID; CString g_strDevUid2; CString g_strAlarmStatus; CString g_strAlarmStatusDesc; CString g_strNormalStatusID; CString g_strAlarmStatusIDCannotEmpty; CString g_strAlarmStatusDescCannotEmpty; CString g_strNormalStatusIDCannotBlank; CString g_strAlarmStatusInfoExist; CString g_strTimesNewRoman; CString g_strEntityProperty; CString g_strParamSet; CString g_strHour; CString g_strDate; CString g_strMean; CString g_strControl; CString g_strTRACE0; CString g_strAppwizardCreateApp; CString g_strPictureFile2; CString g_strSaveModify; CString g_strStoneuIspcms; CString g_strUnSelectEntity; CString g_strIsNotPrimitive; CString g_strSelect; CString g_strTrace2; CString g_strTline; CString g_strText; CString g_strRect; CString g_strOval; CString g_strButton; CString g_strData; CString g_strLed; CString g_strBar; CString g_strCurve; CString g_strLine; CString g_strBreaker; CString g_strSwitch; CString g_strGrid; CString g_strBitmap; CString g_strGif; CString g_strTransfer; CString g_strArc; CString g_strArrow; CString g_strPoly; CString g_strMLine; CString g_strPipe; CString g_strZhePipe; CString g_strYPipe; CString g_strWatch; CString g_strSingleBar; CString g_strRoundRect; CString g_strPie; CString g_strFan; CString g_strHisCurve; CString g_strTable; CString g_strComposite; CString g_strConnectionFailed; CString g_strMoniterSite; CString g_strDevice; CString g_strSerial; CString g_strDataDict; CString g_strVarSet; CString g_strScriptManage; CString g_strActionWithAlarm; CString g_strNoticeList; CString g_strSysParam; CString g_strExitConfirm; CString g_strIPComoccupy; CString g_strDevNumCannotBlank; CString g_strDevUidExist; CString g_strDevNameExist; CString g_strSerialPortInUse; CString g_strIPNotBlank; CString g_strComcanNot0; CString g_strNetDev; CString g_strIPConflict; CString g_strCannotCreateDirecitory; CString g_strDelDev; CString g_strDelView; CString g_strConfirm; CString g_strEventType; CString g_strEventInfo; CString g_strLowAlarm; CString g_strHighAlarm; CString g_strReturnNormal1; CString g_strReturnNormal2; CString g_strAlarm; CString g_strTime; CString g_strVarName3; CString g_strColumnName; CString g_strHeader; CString g_strFormat; CString g_strScriptPass; CString g_strScriptNameCannotEmpty; CString g_strStrVar; CString g_strDes; CString g_strOne; CString g_strTwo; CString g_strThree; CString g_strFour; CString g_strFine; CString g_strSix; CString g_strSeven; CString g_strEight; CString g_strNine; CString g_strTen; CString g_strHandred; CString g_strBilion; CString g_strWan; CString g_strThousand; CString g_strYuan1; CString g_strCent; CString g_strZero; CString g_strMinute; CString g_strYuan2; CString g_strDevDataLog; CString g_strOverWriteError; CString g_strSaveas; CString g_strTip; CString g_strScriptError; CString g_strLogicDoorinate; CString g_strFontNameCHT; CString g_strCharacter; CString g_strNormal; CString g_strIsNotice; CString g_strIsModify; CString g_strParamInit; CString g_strParamMin; CString g_strParamMax; CString g_strOCX; CString g_strGIF; CString g_strFlash; CString g_strRadio; CString g_strCheck; CString g_strLogType; CString g_strModbusType; CString g_strLogContent; CString g_strLogHappenTime; CString g_strNoPermit; CString g_strModifyPwdOK; CString g_strMonitorNameIsBlank; CString g_strMonitorNameCannotDel; CString g_strInputIsBlank; CString g_strPastDue; CString g_strEditMoreVarOK; CString g_strGroup; CString g_strDClickFirstOperate; CString g_strDelGroup; CString g_strNormalData; CString g_strAlarmData; CString g_strDealStatus; CString g_strAC_WaitConfig; CString g_strAC_ConfigSuccess; CString g_strAC_WaitOut; CString g_strAC_ConfigAllEvent; CString g_strAC_ConfigChooseEvent; CString g_strAC_DelAllEvent; CString g_strAC_DelChooseEvent; CString g_strAdd; CString g_strEdit; CString g_strDel; CString g_strDevice1; CString g_strVariant; CString g_strUser; CString g_strPwd; CString g_strTimePlan; CString g_strRegiserOCX; HINSTANCE g_hLangDLL; //视频采集卡动态库输出函数 HINSTANCE g_hVideoLibModule = NULL; MySTONEU_DLLCreateVideoView pStoneUDllCreateVideoView = NULL; MySTONEU_DLLGetTotalBoardCount pStoneUDllGetTotalBoardCount = NULL; MySTONEU_DLLGetTotalDSPCount pStoneUDllGetTotalDSPCount = NULL; MySTONEU_DLLGetDspCount pStoneUDllGetDSPCount = NULL; MySTONEU_DLLInitHCCard pStoneUDllInitHCCard = NULL; MySTONEU_DLLUnInitHCCard pStoneUDllUnInitHCCard = NULL; MySTONEU_DLLDestroyVideoView pStoneUDllDestroyVideoView = NULL; MySTONEU_DLLChannelDblClk pStoneUDllChannelDblClk = NULL; MySTONEU_DLLStartCap pStoneUDllStartCap = NULL; MySTONEU_DLLStopCap pStoneUDllStopCap = NULL; MySTONEU_DLLStartMotionDetection pStoneUDllStartMotionDetection = NULL; MySTONEU_DLLStopMotionDetection pStoneUDllStopMotionDetection = NULL; MySTONEU_DLLVideoCapCallBack pStoneUDllVideoCapCallBack = NULL; MySTONEU_DLLSetCapPath pSetCapPath = NULL; // TTS输出函数 HINSTANCE g_hTTSModule = NULL; MySTONEU_DLLRegisterTTS pStoneUDllRegisterTTS = NULL; MySTONEU_DLLUnRegisterTTS pStoneUDllUnRegisterTTS = NULL; MySTONEU_DLLTxtToWav pStoneUDLLTxtToWav = NULL; /////////////////////////////////////////////////////////////////////////////////////////////// ////// 函数名称:GetTokens /////// ////// 函数说明:根据sDelimiter变量的拆分规则,把sSource源字符串拆分成多个 /////// ////// 字符串,并传入pTokens变量 /////// ////// 参数列表:pTokens -- 目标字符串存放指针 /////// ////// sSource -- 源字符串 /////// ////// sDelimiter -- 指定的拆分字符 /////// ////// 作 者:sailing /////// ////// 创者时间:2008-11-24 /////// /////////////////////////////////////////////////////////////////////////////////////////////// void GetTokens(CStringArray * pTokens, CString sSource, CString sDelimiter) { pTokens->RemoveAll(); //开始解析 int nStart = 0; int nLen = sDelimiter.GetLength(); while(true) { int i = sSource.Find(sDelimiter, nStart); if(i < 0) break; if(i >= nStart) { CString s = sSource.Mid(nStart, i - nStart); pTokens->Add(s); } nStart = i + nLen; } //剩下的字符串 if(nStart <= sSource.GetLength()) pTokens->Add(sSource.Mid(nStart)); } BOOL UserRoomHasPurview( int nRoomID ) { int i, nSize; BOOL bFind = FALSE; nSize = g_vtUserRoomID.size(); for( i = 0; i < nSize; i++ ) { if( g_vtUserRoomID[i] == nRoomID ) { bFind = TRUE; } } return bFind; } void g_Login() { // 1.获取set.ini文件信息; CHAR strFile[MAX_FILE_LENGTH + 1] = ""; wsprintf(strFile, "%s\\set.ini", g_strDirectory); // 1.1.获取用户名; GetPrivateProfileString("User", "UserID","", g_strLoginUserID,sizeof(g_strLoginUserID), strFile ); memset(g_strDefaultUserID, 0, sizeof(g_strDefaultUserID) ); strcpy(g_strDefaultUserID, g_strLoginUserID); // 1.2.获取用户密码; GetPrivateProfileString("User", "UserPwd","", g_strLoginPwd,sizeof(g_strLoginPwd), strFile ); memset(g_strDefaultUserPwd, 0, sizeof(g_strDefaultUserPwd) ); strcpy(g_strDefaultUserPwd, g_strLoginPwd); // 1.3.获取程序运行模式,以及是否全屏; char Path[_MAX_PATH] = {0}; strcat(Path, g_strDirectory); strcat(Path,"\\"); strcat(Path, _PROJECTDIR); strcat(Path,"\\"); strcat(Path, "runpara.ini"); char RUN[MAX_PATH] = {0}; memset(RUN, 0, sizeof(RUN)); if ( GetPrivateProfileString("RUNPARA", "STARTRUN","",RUN, 10, Path) != 0) { g_bStartRun = (RUN[0] == '1' ? true:false); } if ( GetPrivateProfileString("RUNPARA", "FULLSCREEN","",RUN, 10, Path) != 0) { g_bFullScreen = RUN[0] == '1' ? true:false; } }