📄 configfile.cpp
字号:
#include "stdafx.h"
#include "hikstruct.h"
#include "HCNetSDK.h"
extern IP_INFO selipinfo[MAXNUMBER];
extern IP_INFO allipinfo[MAXIPNUMBER][MAXCHANNUM];
extern SERVER_INFO serverinfo[MAXIPNUMBER];
extern int iSurveillanceNumber;
extern HIKCLIENTPARAM hikClientParam;
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);//端口号
}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);
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 < 20)
hikClientParam.m_iCycleTime = 20; //循环播放时间
else
hikClientParam.m_iCycleTime = iTemp;
myFile.ReadString(buf,256);
iTemp = atoi(buf);
if(iTemp == 1)
hikClientParam.m_bCyclePlay = TRUE; //是否循环播放
else
hikClientParam.m_bCyclePlay = FALSE;
myFile.ReadString(buf,256);
iTemp = atoi(buf);
if(iTemp == 1)
hikClientParam.m_bUseCard = TRUE; //是否使用解码卡
else
hikClientParam.m_bUseCard = FALSE;
myFile.ReadString(buf,256);
iTemp = atoi(buf);
if (iTemp > 60)
hikClientParam.m_iRecordFileInterval = 60; //录像文件打包时间
else
hikClientParam.m_iRecordFileInterval = iTemp;
myFile.ReadString(buf,256);
iTemp = atoi(buf);
if(iTemp == 1)
hikClientParam.m_bAutoRecord = TRUE; //是否自动录像
else
hikClientParam.m_bAutoRecord = FALSE;
myFile.ReadString(buf,256);
iTemp = atoi(buf);
if(iTemp == 1)
hikClientParam.m_bCycleRecord = TRUE; //是否循环录像
else
hikClientParam.m_bCycleRecord = FALSE;
myFile.ReadString(buf, 256);
hikClientParam.m_iStartRecordDriver = atoi(buf); //起始盘符
myFile.ReadString(buf, 256);
hikClientParam.m_iEndRecordDriver = atoi(buf); //终止盘符
myFile.ReadString(buf,256);
hikClientParam.m_csDownLoadPath.Format("%s", buf); //远程文件下载路径
hikClientParam.m_csDownLoadPath.Format("%s", hikClientParam.m_csDownLoadPath.Left(hikClientParam.m_csDownLoadPath.GetLength() - 2));
myFile.ReadString(buf,256);
hikClientParam.m_csPictureSavePath.Format("%s", buf); //抓图文件保存路径
hikClientParam.m_csPictureSavePath.Format("%s", hikClientParam.m_csPictureSavePath.Left(hikClientParam.m_csPictureSavePath.GetLength() - 2));
myFile.ReadString(buf,256);
hikClientParam.m_csLogSavePath.Format("%s", buf); //日志文件保存路径
hikClientParam.m_csLogSavePath.Format("%s", hikClientParam.m_csLogSavePath.Left(hikClientParam.m_csLogSavePath.GetLength() - 2));
myFile.ReadString(buf,256);
iTemp = atoi(buf);
if(iTemp == 1)
hikClientParam.m_bCheckServerTime = TRUE; //是否启动硬盘录像机校时
else
hikClientParam.m_bCheckServerTime = FALSE;
long lTemp;
myFile.ReadString(buf,256);
lTemp = atol(buf);
if(lTemp < 0)
hikClientParam.m_iCheckServerTime = 0; //硬盘录像机校时时间
else
hikClientParam.m_iCheckServerTime = lTemp;
while(myFile.ReadString(buf, 256))
{
hikClientParam.m_ClientRecordTime[iDay][0].m_iStartTime = atoi(buf);
myFile.ReadString(buf, 256);
hikClientParam.m_ClientRecordTime[iDay][0].m_iStopTime = atoi(buf);
myFile.ReadString(buf, 256);
hikClientParam.m_ClientRecordTime[iDay][1].m_iStartTime = atoi(buf);
myFile.ReadString(buf, 256);
hikClientParam.m_ClientRecordTime[iDay][1].m_iStopTime = atoi(buf);
myFile.ReadString(buf, 256);
hikClientParam.m_ClientRecordTime[iDay][2].m_iStartTime = atoi(buf);
myFile.ReadString(buf, 256);
hikClientParam.m_ClientRecordTime[iDay][2].m_iStopTime = atoi(buf);
myFile.ReadString(buf, 256);
hikClientParam.m_ClientRecordTime[iDay][3].m_iStartTime = atoi(buf);
myFile.ReadString(buf, 256);
hikClientParam.m_ClientRecordTime[iDay][3].m_iStopTime = atoi(buf);
iDay++;
}
for(i = 0; i < 7; i++)
{
for(j = 0; j < 4; j++)
{
hikClientParam.m_ClientRecordTime[i][j].m_iStartHour = hikClientParam.m_ClientRecordTime[i][j].m_iStartTime / 100;
hikClientParam.m_ClientRecordTime[i][j].m_iStartMinute = hikClientParam.m_ClientRecordTime[i][j].m_iStartTime % 100;
hikClientParam.m_ClientRecordTime[i][j].m_iStopHour = hikClientParam.m_ClientRecordTime[i][j].m_iStopTime / 100;
hikClientParam.m_ClientRecordTime[i][j].m_iStopMinute = hikClientParam.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",hikClientParam.m_iCycleTime);
myFile.WriteString(buf);
if(hikClientParam.m_bCyclePlay)
sprintf(buf,"1\r\n");
else
sprintf(buf,"0\r\n");
myFile.WriteString(buf);
if(hikClientParam.m_bUseCard)
sprintf(buf,"1\r\n");
else
sprintf(buf,"0\r\n");
myFile.WriteString(buf);
sprintf(buf, "%d\r\n", hikClientParam.m_iRecordFileInterval);
myFile.WriteString(buf);
if(hikClientParam.m_bAutoRecord)
sprintf(buf,"1\r\n");
else
sprintf(buf,"0\r\n");
myFile.WriteString(buf);
if(hikClientParam.m_bCycleRecord)
sprintf(buf,"1\r\n");
else
sprintf(buf,"0\r\n");
myFile.WriteString(buf);
sprintf(buf, "%d\r\n", hikClientParam.m_iStartRecordDriver);
myFile.WriteString(buf);
sprintf(buf, "%d\r\n", hikClientParam.m_iEndRecordDriver);
myFile.WriteString(buf);
sprintf(buf, "%s\r\n", hikClientParam.m_csDownLoadPath);
myFile.WriteString(buf);
sprintf(buf, "%s\r\n", hikClientParam.m_csPictureSavePath);
myFile.WriteString(buf);
sprintf(buf, "%s\r\n", hikClientParam.m_csLogSavePath);
myFile.WriteString(buf);
if(hikClientParam.m_bCheckServerTime)
sprintf(buf,"1\r\n");
else
sprintf(buf,"0\r\n");
myFile.WriteString(buf);
sprintf(buf,"%ld\r\n",hikClientParam.m_iCheckServerTime);
myFile.WriteString(buf);
for(i = 0; i < 7; i++)
{
for(j = 0; j < 4; j++)
{
sprintf(buf, "%d\r\n", hikClientParam.m_ClientRecordTime[i][j].m_iStartTime);
myFile.WriteString(buf);
sprintf(buf, "%d\r\n", hikClientParam.m_ClientRecordTime[i][j].m_iStopTime);
myFile.WriteString(buf);
}
}
myFile.Close();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -