⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 configfile.cpp

📁 SDK DVR/DVS HIKVISION
💻 CPP
字号:
#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);//array index
			i=atoi(buf);
			
			myFile.ReadString(buf,256);
			serverinfo[i].m_csServerAdminName.Format("%s",buf);//Username
			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);//Password
			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);//Channel number

			myFile.ReadString(buf,256);
			serverinfo[i].m_csServerIP.Format("%s",buf);//ip address
			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);//multi-cast ip
			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);//DVRDVS name
			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);//Port number

			myFile.ReadString(buf,256);
			serverinfo[i].m_dwDevSoftVersion = atoi(buf);	//firmware version
		}else
		{
			myFile.ReadString(buf,256);//array index
			i=atoi(buf);
			myFile.ReadString(buf,256);//array index
			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);//PTZ adderss

			myFile.ReadString(buf,256);
			allipinfo[i][j].m_dwAlarmlevel=atoi(buf);//alarm level

			myFile.ReadString(buf,256);
			allipinfo[i][j].m_iChannel=atoi(buf);//channel No.

			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);//PTZ type

			myFile.ReadString(buf,256);
			allipinfo[i][j].m_csMultiIP.Format("%s",buf);//multi-cast ip
			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);//channel name
			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);//protocol

			myFile.ReadString(buf,256);
			allipinfo[i][j].m_csPassword.Format("%s",buf);//password
			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);//username
			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);//port

			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);		//username
			myFile.WriteString(buf);
			sprintf(buf,"%s\r\n",serverinfo[i].m_csServerAdminPasswd);		//password
			myFile.WriteString(buf);
			sprintf(buf,"%d\r\n",serverinfo[i].m_iServerChannelNumber);		//channel number
			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);			//multi-cast 
			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);				//DVRDVS name
			myFile.WriteString(buf);
			sprintf(buf,"%d\r\n",serverinfo[i].m_wServerPort);				//port number
			myFile.WriteString(buf);
			sprintf(buf,"%d\r\n",serverinfo[i].m_dwDevSoftVersion);			//firmware version
			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);		//choose
					myFile.WriteString(buf);
					sprintf(buf,"%d\r\n",allipinfo[i][j].m_dwAddress);		//PTZ address
					myFile.WriteString(buf);
					sprintf(buf,"%d\r\n",allipinfo[i][j].m_dwAlarmlevel);	//alarm level
					myFile.WriteString(buf);
					sprintf(buf,"%d\r\n",allipinfo[i][j].m_iChannel);		//channel No.
					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);		//PTZ type
					myFile.WriteString(buf);
					sprintf(buf,"%s\r\n",allipinfo[i][j].m_csMultiIP);		//multi-cast IP
					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);			//channel name
					myFile.WriteString(buf);
					sprintf(buf,"%d\r\n",allipinfo[i][j].m_dwProtocol);		//protocol
					myFile.WriteString(buf);
					sprintf(buf,"%s\r\n",allipinfo[i][j].m_csPassword);		//channel password
					myFile.WriteString(buf);
					sprintf(buf,"%s\r\n",allipinfo[i][j].m_csUser);			//channel username
					myFile.WriteString(buf);
					sprintf(buf,"%d\r\n",allipinfo[i][j].m_wServerport);	//port number
					myFile.WriteString(buf);
					sprintf(buf,"%d\r\n",allipinfo[i][j].m_iSequence);		//preview sequence
					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)
		ClientParam.m_iCycleTime = 20;				//cycle time
	else
		ClientParam.m_iCycleTime = iTemp;
	myFile.ReadString(buf,256);
	iTemp = atoi(buf);
	if(iTemp == 1)
		ClientParam.m_bCyclePlay = TRUE;				//cycle or not
	else
		ClientParam.m_bCyclePlay = FALSE;
	myFile.ReadString(buf,256);
	iTemp = atoi(buf);
	if(iTemp == 1)
		ClientParam.m_bUseCard = TRUE;				//use decode card
	else
		ClientParam.m_bUseCard = FALSE;

	myFile.ReadString(buf,256);
	iTemp = atoi(buf);
	if(iTemp == 1)
		ClientParam.m_bNTSC = TRUE;				//0-PAL 1-NTSC
	else
		ClientParam.m_bNTSC = FALSE;

	myFile.ReadString(buf,256);
	iTemp = atoi(buf);
	if (iTemp > 60)
		ClientParam.m_iRecordFileInterval = 60;		//client record file interval
	else
		ClientParam.m_iRecordFileInterval = iTemp;
	myFile.ReadString(buf,256);
	iTemp = atoi(buf);
	if(iTemp == 1)
		ClientParam.m_bAutoRecord = TRUE;			//client auto record
	else
		ClientParam.m_bAutoRecord = FALSE;
	myFile.ReadString(buf,256);
	iTemp = atoi(buf);
	if(iTemp == 1)
		ClientParam.m_bCycleRecord = TRUE;			//client record overwrite
	else
		ClientParam.m_bCycleRecord = FALSE;
	myFile.ReadString(buf, 256);
	ClientParam.m_iStartRecordDriver = atoi(buf);	//client record start HDD
	myFile.ReadString(buf, 256);
	ClientParam.m_iEndRecordDriver = atoi(buf);		//client record end HDD

	myFile.ReadString(buf,256);
	ClientParam.m_csDownLoadPath.Format("%s", buf);	//Download file save path
	ClientParam.m_csDownLoadPath.Format("%s", ClientParam.m_csDownLoadPath.Left(ClientParam.m_csDownLoadPath.GetLength() - 2));
	myFile.ReadString(buf,256);
	ClientParam.m_csPictureSavePath.Format("%s", buf);	//Capture picture save path
	ClientParam.m_csPictureSavePath.Format("%s", ClientParam.m_csPictureSavePath.Left(ClientParam.m_csPictureSavePath.GetLength() - 2));
	myFile.ReadString(buf,256);
	ClientParam.m_csLogSavePath.Format("%s", buf);		//log save path
	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;				//check DVRDVS system time
	else
		ClientParam.m_bCheckServerTime = FALSE;
	long lTemp;
	myFile.ReadString(buf,256);
	lTemp = atol(buf);
	if(lTemp < 0)
		ClientParam.m_iCheckServerTime = 0;					//when start to check DVRDVS system time
	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();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -