123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455 |
- #include "stdafx.h"
- #include "HCstruct.h"
- #include "HCNetSDK.h"
- extern IP_INFO selipinfo[MAXNUMBER];
- extern IP_INFO allipinfo[MAXIPNUMBER][MAXCHANNUM];
- extern SERVER_INFO serverinfo[MAXIPNUMBER];
- extern int iSurveillanceNumber;
- extern CLIENTPARAM ClientParam;
- extern char cWorkDir[256];
- ////////////////////////////////////////////////////////////////////
- void ReadSurveillanceConfig()
- {
- int i, j;
- char buf[256];
- DWORD dtemp;
- CStdioFile myFile;
- CString csFilename;
- csFilename.Format("%s\\ChannelCfg.dat", cWorkDir);
- if(myFile.Open(csFilename, CFile::modeRead) == FALSE)
- {
- myFile.Open(csFilename, CFile::modeCreate);
- return;
- }
- iSurveillanceNumber=0;
- while(myFile.ReadString(buf,256))
- {
- if(buf[1]==0x53)
- {
- myFile.ReadString(buf,256);//数组下标
- i=atoi(buf);
-
- myFile.ReadString(buf,256);
- serverinfo[i].m_csServerAdminName.Format("%s",buf);//用户名
- serverinfo[i].m_csServerAdminName.Format("%s",serverinfo[i].m_csServerAdminName.Left(serverinfo[i].m_csServerAdminName.GetLength()-2));
-
- myFile.ReadString(buf,256);
- serverinfo[i].m_csServerAdminPasswd.Format("%s",buf);//密码
- serverinfo[i].m_csServerAdminPasswd.Format("%s",serverinfo[i].m_csServerAdminPasswd.Left(serverinfo[i].m_csServerAdminPasswd.GetLength()-2));
- myFile.ReadString(buf,256);
- serverinfo[i].m_iServerChannelNumber=atoi(buf);//通道数
- myFile.ReadString(buf,256);
- serverinfo[i].m_csServerIP.Format("%s",buf);//ip地址
- serverinfo[i].m_csServerIP.Format("%s",serverinfo[i].m_csServerIP.Left(serverinfo[i].m_csServerIP.GetLength()-2));
-
- myFile.ReadString(buf,256);
- dtemp = atoi(buf) << 16;
- myFile.ReadString(buf,256);
- dtemp += atoi(buf);
- serverinfo[i].m_dwServerIPvalue=dtemp;
- myFile.ReadString(buf,256);
- serverinfo[i].m_csServerMultiIP.Format("%s",buf);//多播组地址
- serverinfo[i].m_csServerMultiIP.Format("%s",serverinfo[i].m_csServerMultiIP.Left(serverinfo[i].m_csServerMultiIP.GetLength()-2));
- myFile.ReadString(buf,256);
- dtemp = atoi(buf) << 16;
- myFile.ReadString(buf,256);
- dtemp += atoi(buf);
- serverinfo[i].m_dwServerMultiIPvalue=dtemp;
- myFile.ReadString(buf,256);
- serverinfo[i].m_csServerName.Format("%s",buf);//服务器名称
- serverinfo[i].m_csServerName.Format("%s",serverinfo[i].m_csServerName.Left(serverinfo[i].m_csServerName.GetLength()-2));
-
- myFile.ReadString(buf,256);
- serverinfo[i].m_wServerPort = atoi(buf); //端口号
- myFile.ReadString(buf,256);
- serverinfo[i].m_dwDevSoftVersion = atoi(buf); //设备软件版本
- }
- else
- {
- myFile.ReadString(buf,256);//数组下标
- i=atoi(buf);
- myFile.ReadString(buf,256);//数组下标
- j=atoi(buf);
- myFile.ReadString(buf,256);
- allipinfo[i][j].m_bChoosed=atoi(buf);
- myFile.ReadString(buf,256);
- allipinfo[i][j].m_dwAddress=atoi(buf);//解码器地址
- myFile.ReadString(buf,256);
- allipinfo[i][j].m_dwAlarmlevel=atoi(buf);//报警级别
- myFile.ReadString(buf,256);
- allipinfo[i][j].m_iChannel=atoi(buf);//通道号
- myFile.ReadString(buf,256);
- allipinfo[i][j].m_csIP.Format("%s",buf);//ip地址
- allipinfo[i][j].m_csIP.Format("%s",allipinfo[i][j].m_csIP.Left(allipinfo[i][j].m_csIP.GetLength()-2));
- myFile.ReadString(buf,256);
- dtemp = atoi(buf) << 16;
- myFile.ReadString(buf,256);
- dtemp += atoi(buf);
- allipinfo[i][j].m_dwIPvalue=dtemp;
- myFile.ReadString(buf,256);
- allipinfo[i][j].m_wJMQtype=atoi(buf);//解码器类型
- myFile.ReadString(buf,256);
- allipinfo[i][j].m_csMultiIP.Format("%s",buf);//多播组地址
- allipinfo[i][j].m_csMultiIP.Format("%s",allipinfo[i][j].m_csMultiIP.Left(allipinfo[i][j].m_csMultiIP.GetLength()-2));
- myFile.ReadString(buf,256);
- dtemp = atoi(buf) << 16;
- myFile.ReadString(buf,256);
- dtemp += atoi(buf);
- allipinfo[i][j].m_dwMultiIPvalue=dtemp;
- myFile.ReadString(buf,256);
- allipinfo[i][j].m_csChanName.Format("%s",buf);//通道名称
- allipinfo[i][j].m_csChanName.Format("%s",allipinfo[i][j].m_csChanName.Left(allipinfo[i][j].m_csChanName.GetLength()-2));
- myFile.ReadString(buf,256);
- allipinfo[i][j].m_dwProtocol=atoi(buf);//协议
- myFile.ReadString(buf,256);
- allipinfo[i][j].m_csPassword.Format("%s",buf);//通道密码
- allipinfo[i][j].m_csPassword.Format("%s",allipinfo[i][j].m_csPassword.Left(allipinfo[i][j].m_csPassword.GetLength()-2));
- myFile.ReadString(buf,256);
- allipinfo[i][j].m_csUser.Format("%s",buf);//通道用户
- allipinfo[i][j].m_csUser.Format("%s",allipinfo[i][j].m_csUser.Left(allipinfo[i][j].m_csUser.GetLength()-2));
-
- myFile.ReadString(buf,256);
- allipinfo[i][j].m_wServerport = atoi(buf);//端口号
- myFile.ReadString(buf, 256);
- allipinfo[i][j].m_iSequence = atoi(buf);
- /*
- if( (allipinfo[i][j].m_bChoosed) && (allipinfo[i][j].m_iSequence != -1) )
- {
- memcpy(&selipinfo[allipinfo[i][j].m_iSequence],&allipinfo[i][j],sizeof(IP_INFO));
- selipinfo[iSurveillanceNumber].m_iServerNum=i;
- selipinfo[iSurveillanceNumber].m_iChannelNum=j;
- iSurveillanceNumber++;
- }*/
- }
- }
- myFile.Close();
- }
- void WriteSurveillanceConfig()
- {
- int i, j;
- char buf[256];
- DWORD dtemp;
- CStdioFile myFile;
- CString csFilename;
- csFilename.Format("%s\\ChannelCfg.dat", cWorkDir);
- if(myFile.Open(csFilename, CFile::modeCreate|CFile::modeWrite) == FALSE)
- {
- return;
- }
- for(i = 0; i < MAXIPNUMBER; i++)
- {
- if (serverinfo[i].m_iServerChannelNumber != -1)
- {
- sprintf(buf,"$S\r\n");
- myFile.WriteString(buf);
- sprintf(buf,"%d\r\n",i);
- myFile.WriteString(buf);
- sprintf(buf,"%s\r\n",serverinfo[i].m_csServerAdminName); //用户名
- myFile.WriteString(buf);
- sprintf(buf,"%s\r\n",serverinfo[i].m_csServerAdminPasswd); //密码
- myFile.WriteString(buf);
- sprintf(buf,"%d\r\n",serverinfo[i].m_iServerChannelNumber); //通道数
- myFile.WriteString(buf);
- sprintf(buf,"%s\r\n",serverinfo[i].m_csServerIP); //ip地址
- myFile.WriteString(buf);
- dtemp=serverinfo[i].m_dwServerIPvalue;
- sprintf(buf,"%d\r\n",((dtemp >> 16) & 0xffff));
- myFile.WriteString(buf);
- sprintf(buf,"%d\r\n",(dtemp& 0xffff));
- myFile.WriteString(buf);
- sprintf(buf,"%s\r\n",serverinfo[i].m_csServerMultiIP); //多播地址
- myFile.WriteString(buf);
- dtemp=serverinfo[i].m_dwServerMultiIPvalue;
- sprintf(buf,"%d\r\n",((dtemp >> 16) & 0xffff));
- myFile.WriteString(buf);
- sprintf(buf,"%d\r\n",(dtemp& 0xffff));
- myFile.WriteString(buf);
- sprintf(buf,"%s\r\n",serverinfo[i].m_csServerName); //服务器名称
- myFile.WriteString(buf);
- sprintf(buf,"%d\r\n",serverinfo[i].m_wServerPort); //端口号
- myFile.WriteString(buf);
- sprintf(buf,"%d\r\n",serverinfo[i].m_dwDevSoftVersion); //设备软件版本
- myFile.WriteString(buf);
- for(j=0; j< MAXCHANNUM; j++)
- {
- if(allipinfo[i][j].m_iChannel != -1)
- {
- sprintf(buf,"$C\r\n");
- myFile.WriteString(buf);
- sprintf(buf,"%d\r\n",i);
- myFile.WriteString(buf);
- sprintf(buf,"%d\r\n",j);
- myFile.WriteString(buf);
- sprintf(buf,"%d\r\n",allipinfo[i][j].m_bChoosed); //选中监控标志
- myFile.WriteString(buf);
- sprintf(buf,"%d\r\n",allipinfo[i][j].m_dwAddress); //解码器地址
- myFile.WriteString(buf);
- sprintf(buf,"%d\r\n",allipinfo[i][j].m_dwAlarmlevel); //报警级别
- myFile.WriteString(buf);
- sprintf(buf,"%d\r\n",allipinfo[i][j].m_iChannel); //通道号
- myFile.WriteString(buf);
- sprintf(buf,"%s\r\n",allipinfo[i][j].m_csIP); //ip地址
- myFile.WriteString(buf);
- dtemp=allipinfo[i][j].m_dwIPvalue;
- sprintf(buf,"%d\r\n",((dtemp >> 16) & 0xffff));
- myFile.WriteString(buf);
- sprintf(buf,"%d\r\n",(dtemp& 0xffff));
- myFile.WriteString(buf);
- sprintf(buf,"%d\r\n",allipinfo[i][j].m_wJMQtype); //解码器类型
- myFile.WriteString(buf);
- sprintf(buf,"%s\r\n",allipinfo[i][j].m_csMultiIP); //多播组地址
- myFile.WriteString(buf);
- dtemp=allipinfo[i][j].m_dwMultiIPvalue;
- sprintf(buf,"%d\r\n",((dtemp >> 16) & 0xffff));
- myFile.WriteString(buf);
- sprintf(buf,"%d\r\n",(dtemp& 0xffff));
- myFile.WriteString(buf);
- sprintf(buf,"%s\r\n",allipinfo[i][j].m_csChanName); //监控点名称
- myFile.WriteString(buf);
- sprintf(buf,"%d\r\n",allipinfo[i][j].m_dwProtocol); //协议
- myFile.WriteString(buf);
- sprintf(buf,"%s\r\n",allipinfo[i][j].m_csPassword); //通道密码
- myFile.WriteString(buf);
- sprintf(buf,"%s\r\n",allipinfo[i][j].m_csUser); //通道用户
- myFile.WriteString(buf);
- sprintf(buf,"%d\r\n",allipinfo[i][j].m_wServerport); //端口号
- myFile.WriteString(buf);
- sprintf(buf,"%d\r\n",allipinfo[i][j].m_iSequence); //播放顺序
- myFile.WriteString(buf);
- }
- }
- }
- }
- myFile.Close();
- }
- void ReadClientConfig()
- {
- int iTemp, iDay = 0, i, j;
- char buf[256];
- CStdioFile myFile;
- CString csFilename;
- csFilename.Format("%s\\ClientCfg.dat", cWorkDir);
- if(myFile.Open(csFilename, CFile::modeRead) == FALSE)
- {
- myFile.Open(csFilename, CFile::modeCreate);
- return;
- }
- if(!myFile.ReadString(buf,256))
- {
- myFile.Close();
- return;
- }
- iTemp = atoi(buf);
- if(iTemp < 5)
- ClientParam.m_iCycleTime = 5; //循环播放时间
- else
- ClientParam.m_iCycleTime = iTemp;
- myFile.ReadString(buf,256);
- iTemp = atoi(buf);
- if(iTemp == 1)
- ClientParam.m_bCyclePlay = TRUE; //是否循环播放
- else
- ClientParam.m_bCyclePlay = FALSE;
-
- myFile.ReadString(buf,256);
- iTemp = atoi(buf);
- if(iTemp == 1)
- ClientParam.m_bUseCard = TRUE; //是否使用解码卡
- else
- ClientParam.m_bUseCard = FALSE;
- myFile.ReadString(buf,256);
- iTemp = atoi(buf);
- if(iTemp == 1)
- ClientParam.m_bNTSC = TRUE; //解码卡视频制式
- else
- ClientParam.m_bNTSC = FALSE;
- myFile.ReadString(buf,256);
- iTemp = atoi(buf);
- if (iTemp > 60)
- ClientParam.m_iRecordFileInterval = 60; //录像文件打包时间
- else
- ClientParam.m_iRecordFileInterval = iTemp;
- myFile.ReadString(buf,256);
- iTemp = atoi(buf);
- if(iTemp == 1)
- ClientParam.m_bAutoRecord = TRUE; //是否自动录像
- else
- ClientParam.m_bAutoRecord = FALSE;
- myFile.ReadString(buf,256);
- iTemp = atoi(buf);
- if(iTemp == 1)
- ClientParam.m_bCycleRecord = TRUE; //是否循环录像
- else
- ClientParam.m_bCycleRecord = FALSE;
- myFile.ReadString(buf, 256);
- ClientParam.m_iStartRecordDriver = atoi(buf); //起始盘符
- myFile.ReadString(buf, 256);
- ClientParam.m_iEndRecordDriver = atoi(buf); //终止盘符
- myFile.ReadString(buf,256);
- ClientParam.m_csDownLoadPath.Format("%s", buf); //远程文件下载路径
- ClientParam.m_csDownLoadPath.Format("%s", ClientParam.m_csDownLoadPath.Left(ClientParam.m_csDownLoadPath.GetLength() - 2));
- myFile.ReadString(buf,256);
- ClientParam.m_csPictureSavePath.Format("%s", buf); //抓图文件保存路径
- ClientParam.m_csPictureSavePath.Format("%s", ClientParam.m_csPictureSavePath.Left(ClientParam.m_csPictureSavePath.GetLength() - 2));
- myFile.ReadString(buf,256);
- ClientParam.m_csLogSavePath.Format("%s", buf); //日志文件保存路径
- ClientParam.m_csLogSavePath.Format("%s", ClientParam.m_csLogSavePath.Left(ClientParam.m_csLogSavePath.GetLength() - 2));
- myFile.ReadString(buf,256);
- iTemp = atoi(buf);
- if(iTemp == 1)
- ClientParam.m_bCheckServerTime = TRUE; //是否启动硬盘录像机校时
- else
- ClientParam.m_bCheckServerTime = FALSE;
- long lTemp;
- myFile.ReadString(buf,256);
- lTemp = atol(buf);
- if(lTemp < 0)
- ClientParam.m_iCheckServerTime = 0; //硬盘录像机校时时间
- else
- ClientParam.m_iCheckServerTime = lTemp;
- while(myFile.ReadString(buf, 256))
- {
- ClientParam.m_ClientRecordTime[iDay][0].m_iStartTime = atoi(buf);
- myFile.ReadString(buf, 256);
- ClientParam.m_ClientRecordTime[iDay][0].m_iStopTime = atoi(buf);
- myFile.ReadString(buf, 256);
- ClientParam.m_ClientRecordTime[iDay][1].m_iStartTime = atoi(buf);
- myFile.ReadString(buf, 256);
- ClientParam.m_ClientRecordTime[iDay][1].m_iStopTime = atoi(buf);
- myFile.ReadString(buf, 256);
- ClientParam.m_ClientRecordTime[iDay][2].m_iStartTime = atoi(buf);
- myFile.ReadString(buf, 256);
- ClientParam.m_ClientRecordTime[iDay][2].m_iStopTime = atoi(buf);
- myFile.ReadString(buf, 256);
- ClientParam.m_ClientRecordTime[iDay][3].m_iStartTime = atoi(buf);
- myFile.ReadString(buf, 256);
- ClientParam.m_ClientRecordTime[iDay][3].m_iStopTime = atoi(buf);
- iDay++;
- }
- for(i = 0; i < 7; i++)
- {
- for(j = 0; j < 4; j++)
- {
- ClientParam.m_ClientRecordTime[i][j].m_iStartHour = ClientParam.m_ClientRecordTime[i][j].m_iStartTime / 100;
- ClientParam.m_ClientRecordTime[i][j].m_iStartMinute = ClientParam.m_ClientRecordTime[i][j].m_iStartTime % 100;
- ClientParam.m_ClientRecordTime[i][j].m_iStopHour = ClientParam.m_ClientRecordTime[i][j].m_iStopTime / 100;
- ClientParam.m_ClientRecordTime[i][j].m_iStopMinute = ClientParam.m_ClientRecordTime[i][j].m_iStopTime % 100;
- }
- }
- myFile.Close();
- }
- void WriteClientConfig()
- {
- int i, j;
- char buf[256];
- CStdioFile myFile;
- CString csFilename;
- csFilename.Format("%s\\ClientCfg.dat", cWorkDir);
- if (myFile.Open(csFilename, CFile::modeCreate|CFile::modeWrite) == FALSE)
- {
- return;
- }
- sprintf(buf,"%d\r\n",ClientParam.m_iCycleTime);
- myFile.WriteString(buf);
- if(ClientParam.m_bCyclePlay)
- sprintf(buf,"1\r\n");
- else
- sprintf(buf,"0\r\n");
- myFile.WriteString(buf);
-
- if(ClientParam.m_bUseCard)
- sprintf(buf,"1\r\n");
- else
- sprintf(buf,"0\r\n");
- myFile.WriteString(buf);
- if(ClientParam.m_bNTSC)
- sprintf(buf,"1\r\n");
- else
- sprintf(buf,"0\r\n");
- myFile.WriteString(buf);
- sprintf(buf, "%d\r\n", ClientParam.m_iRecordFileInterval);
- myFile.WriteString(buf);
- if(ClientParam.m_bAutoRecord)
- sprintf(buf,"1\r\n");
- else
- sprintf(buf,"0\r\n");
- myFile.WriteString(buf);
- if(ClientParam.m_bCycleRecord)
- sprintf(buf,"1\r\n");
- else
- sprintf(buf,"0\r\n");
- myFile.WriteString(buf);
- sprintf(buf, "%d\r\n", ClientParam.m_iStartRecordDriver);
- myFile.WriteString(buf);
- sprintf(buf, "%d\r\n", ClientParam.m_iEndRecordDriver);
- myFile.WriteString(buf);
- sprintf(buf, "%s\r\n", ClientParam.m_csDownLoadPath);
- myFile.WriteString(buf);
- sprintf(buf, "%s\r\n", ClientParam.m_csPictureSavePath);
- myFile.WriteString(buf);
- sprintf(buf, "%s\r\n", ClientParam.m_csLogSavePath);
- myFile.WriteString(buf);
- if(ClientParam.m_bCheckServerTime)
- sprintf(buf,"1\r\n");
- else
- sprintf(buf,"0\r\n");
- myFile.WriteString(buf);
- sprintf(buf,"%ld\r\n",ClientParam.m_iCheckServerTime);
- myFile.WriteString(buf);
- for(i = 0; i < 7; i++)
- {
- for(j = 0; j < 4; j++)
- {
- sprintf(buf, "%d\r\n", ClientParam.m_ClientRecordTime[i][j].m_iStartTime);
- myFile.WriteString(buf);
- sprintf(buf, "%d\r\n", ClientParam.m_ClientRecordTime[i][j].m_iStopTime);
- myFile.WriteString(buf);
- }
- }
- myFile.Close();
- }
|