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

📄 userchangei.cpp

📁 实时监控
💻 CPP
📖 第 1 页 / 共 4 页
字号:
	m_alarmout2 = FALSE;
	m_alarmout3 = FALSE;
	m_alarmout4 = FALSE;
	
	//{{AFX_DATA_INIT(CSetUp)
		// NOTE: the ClassWizard will add member initialization here
	m_brush.CreateSolidBrush(RGB(117, 200, 146));
	//}}AFX_DATA_INIT
}

CAlarmServerLink::~CAlarmServerLink()
{
}

void CAlarmServerLink::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAlarmServerSet)
    DDX_Control(pDX, IDC_del, m_del);
	DDX_Control(pDX, IDC_add, m_add);
	DDX_Control(pDX, IDC_updatealarm, m_update);
	DDX_Control(pDX, IDC_MSFLEXGRID1, m_dbgrid);

	DDX_Control(pDX, IDC_lable1, m_lable1);
	DDX_Control(pDX, IDC_lable2, m_lable2);
	DDX_Control(pDX, IDC_lable3, m_lable3);
	DDX_Control(pDX, IDC_lable4, m_lable4);
	DDX_Control(pDX, IDC_lable5, m_lable5);
	DDX_Control(pDX, IDC_lable6, m_lable6);
	DDX_Control(pDX, ID_GROUP1,  m_group);

	DDX_Control(pDX, IDC_dvrname, m_dvrnamectl);
	DDX_Control(pDX, IDC_channel, m_channelctl);

	DDX_Text(pDX, IDC_dvrname, m_dvrname);
	DDX_Text(pDX, IDC_stationid, m_stid);
	DDX_Text(pDX, IDC_alarmsid, m_sigid);
	DDX_CBIndex(pDX, IDC_channel, m_channel);
	DDX_Text(pDX, IDC_alarmname, m_alarmname);
	DDX_Text(pDX, IDC_alarmtype, m_alarmtype);

	DDX_Check(pDX, IDC_OUPUT1, m_alarmout1);
	DDX_Check(pDX, IDC_OUPUT2, m_alarmout2);
	DDX_Check(pDX, IDC_OUPUT3, m_alarmout3);
	DDX_Check(pDX, IDC_OUPUT4, m_alarmout4);

	DDX_Control(pDX, IDC_OUPUT1, m_alarmout1ctl);
	DDX_Control(pDX, IDC_OUPUT2, m_alarmout2ctl);
	DDX_Control(pDX, IDC_OUPUT3, m_alarmout3ctl);
	DDX_Control(pDX, IDC_OUPUT4, m_alarmout4ctl);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAlarmServerLink, CPropertyPage)
	//{{AFX_MSG_MAP(CAlarmServerSet)
	ON_BN_CLICKED(IDC_add, Onadd)
	ON_BN_CLICKED(IDC_del, Ondel)
	ON_BN_CLICKED(IDC_updatealarm, Onupdate)

	ON_CBN_SETFOCUS(IDC_dvrname, OnSetfocusname)
	ON_CBN_SELCHANGE(IDC_dvrname, OnSelchangename)
	ON_WM_CTLCOLOR()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()


BEGIN_EVENTSINK_MAP(CAlarmServerLink, CPropertyPage)
    //{{AFX_EVENTSINK_MAP(CChannelMap)
	ON_EVENT(CSetUp, IDC_MSFLEXGRID1, -600 /* DblClick */, OnClickMsflexgrid1, VTS_NONE)
	//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()

void CAlarmServerLink::OnClickMsflexgrid1() 
{
	long m_row=m_dbgrid.GetRowSel();

	m_stid = m_dbgrid.GetTextMatrix(m_row,1);
	m_dvrname = m_dbgrid.GetTextMatrix(m_row,2);
	m_sigid = m_dbgrid.GetTextMatrix(m_row,3);
	m_channel = atoi(m_dbgrid.GetTextMatrix(m_row,4)) - 1;
	m_alarmname = m_dbgrid.GetTextMatrix(m_row, 5);
	m_alarmtype = m_dbgrid.GetTextMatrix(m_row, 6);

	int index = find_alarmserver(m_sigid, m_stid) ;
	if(index == -1)
		return;

	int output = m_link[index].output;
	m_alarmout1 = output & 0x01;
	m_alarmout2 = (output & 0x02) >> 1;
	m_alarmout3 = (output & 0x04) >> 2;
	m_alarmout4 = (output & 0x08) >> 3;

	UpdateData(FALSE);
	
}
HBRUSH CAlarmServerLink::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CPropertyPage::OnCtlColor(pDC, pWnd, nCtlColor);
	if (nCtlColor==CTLCOLOR_DLG) 
	return (HBRUSH)m_brush .GetSafeHandle( ) ;
	return hbr;
}
void CAlarmServerLink::openfile()
{
	Cfileoperation <Alarm_Server_Linking> *m_fileoperation;
    m_file_length = m_fileoperation->openfile(m_alarm_server_link_directory,"ab+",m_link, 300);
}

bool CAlarmServerLink::check_para()
{
	UpdateData(true);
	if(m_dvrname.IsEmpty())
		return false;

	if(m_stid.IsEmpty())
		return false;

	if(m_sigid.IsEmpty())
		return false;

	return true;
}

int CAlarmServerLink::find_alarmserver(CString m_gid, CString m_sid)
{
	for(int i=0; i< m_file_length; i++)
	{
		if(strcmp(m_link[i].name, m_login_client_name)) 
		  continue;

		if(!strcmp(m_link[i].alarmid, m_gid) && !strcmp(m_link[i].id, m_sid))
			return i;
	}

	return -1;
}

void CAlarmServerLink::Onadd()
{
	if(!check_para())
		return ;

	if(find_alarmserver(m_sigid, m_stid) != -1)
	{
		AfxMessageBox(IDS_SAME_VALUE);
		return;
	}

	if(m_file_length >=300) 
	{
		AfxMessageBox(ID_ADD_SCENE_OVER);
		return;
	}

	openfile();
	
	m_link[m_file_length].channel= m_channel;
	strcpy(m_link[m_file_length].dvrname, m_dvrname);

	strcpy(m_link[m_file_length].id, m_stid);
	strcpy(m_link[m_file_length].alarmid, m_sigid);

	strcpy(m_link[m_file_length].name, m_login_client_name);
	strcpy(m_link[m_file_length].m_alarmname, m_alarmname);
	strcpy(m_link[m_file_length].m_alarmtype, m_alarmtype);

	int output = 0;

	if(m_alarmout1)
		output |= 0x01;

	if(m_alarmout2)
		output |= 0x02;

	if(m_alarmout3)
		output |= 0x04;

	if(m_alarmout4)
		output |= 0x08;

	m_link[m_file_length].output = output;

	m_file_length++;
	savefile();
}
void CAlarmServerLink::Ondel()
{
	if(!check_para())
		return ;
	
	int index = find_alarmserver(m_sigid, m_stid) ;
	if(index == -1)
		return;

	strcpy(m_link[index].name, "");
	savefile();
}

void CAlarmServerLink::Onupdate()
{
	if(!check_para())
		return ;

	int index = find_alarmserver(m_sigid, m_stid) ;
	if(index == -1)
		return;

	m_link[index].channel= m_channel;
	strcpy(m_link[index].m_alarmname, m_alarmname);
	strcpy(m_link[index].m_alarmtype, m_alarmtype);

	int output = 0;

	if(m_alarmout1)
		output |= 0x01;

	if(m_alarmout2)
		output |= 0x02;

	if(m_alarmout3)
		output |= 0x04;

	if(m_alarmout4)
		output |= 0x08;

	m_link[index].output = output;

	savefile();
}

void CAlarmServerLink::savefile()
{
	Cfileoperation <Alarm_Server_Linking> *m_fileoperation;
    m_fileoperation->savefilename(m_alarm_server_link_directory,"wb+",m_link, m_file_length);
	dbgrid();
}

void CAlarmServerLink::dbgrid()
{
	openfile();

    CString m_temstr;
	m_dbgrid.Clear();
    m_dbgrid.SetRow(0);
	m_dbgrid.SetCol(0);
	m_dbgrid.SetColAlignment(0 , 4);
	m_temstr.Format(IDS_NUMBER);
	m_dbgrid.SetText(m_temstr);

	m_dbgrid.SetCol(1);
	m_dbgrid.SetColAlignment(1 , 4);
	m_temstr.Format(IDS_ALARM_SERVER_ID);
	m_dbgrid.SetText(m_temstr);

	m_dbgrid.SetCol(2);
	m_dbgrid.SetColAlignment(2 , 4);
	m_temstr.Format(IDS_ALARM_LINK_STATION);
	m_dbgrid.SetText(m_temstr);

	m_dbgrid.SetCol(3);
	m_dbgrid.SetColAlignment(3 , 4);
	m_temstr.Format(IDS_ALARM_SIGNAL_ID);
	m_dbgrid.SetText(m_temstr);

	m_dbgrid.SetCol(4);
	m_dbgrid.SetColAlignment(4 , 4);
	m_temstr.Format(IDS_ALARM_LINK_CHANNEL);
	m_dbgrid.SetText(m_temstr);
	
	m_dbgrid.SetCol(5);
	m_dbgrid.SetColAlignment(5 , 4);
	m_temstr.Format(IDS_ALARM_SERVER_IP);
	m_dbgrid.SetText(m_temstr);

	m_dbgrid.SetCol(6);
	m_dbgrid.SetColAlignment(6 , 4);
	m_temstr.Format(IDS_ALARM_SERVER_TYPE);
	m_dbgrid.SetText(m_temstr);
	
	long m_row=1;
	for(int m=0;m<m_file_length;m++)
	{
	  if(strcmp(m_link[m].name, m_login_client_name)) 
		  continue;
	  
	  char m_dc[10];
	  m_dbgrid.SetRows(m_row+1);
	  m_dbgrid.SetRow(m_row++);

	  m_dbgrid.SetCol(0);
      m_dbgrid.SetText(itoa(m_row-1,m_dc,10));

	  m_dbgrid.SetCol(1);
      m_dbgrid.SetText(m_link[m].id);

	  m_dbgrid.SetCol(2);
      m_dbgrid.SetText(m_link[m].dvrname);

      m_dbgrid.SetCol(3);
      m_dbgrid.SetText(m_link[m].alarmid);

	  m_dbgrid.SetCol(4);
      m_dbgrid.SetText(itoa(m_link[m].channel+1, m_dc, 10));

	  m_dbgrid.SetCol(5);
      m_dbgrid.SetText(m_link[m].m_alarmname);

	  m_dbgrid.SetCol(6);
      m_dbgrid.SetText(m_link[m].m_alarmtype);
	}
}

BOOL CAlarmServerLink::OnSetActive()
{
	dbgrid();
	return CPropertyPage::OnSetActive();
}


BOOL CAlarmServerLink::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();
	dbgrid();
	init_label(m_lable1);
	init_label(m_lable2);
	init_label(m_lable3);
	init_label(m_lable4);
	init_label(m_lable5);
	init_label(m_lable6);

	CString m_str;
	m_channelctl.ResetContent();

	for(int i=0; i<16; i++)
	{
		m_str.Format("%d", i+1);
		m_channelctl.InsertString(i, m_str);
	}

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CAlarmServerLink::OnSelchangename()
{
	UpdateData(true);
    int index = m_dvrnamectl.GetCurSel();
	if (index!=CB_ERR)
	{
    	m_dvrnamectl.GetLBText(index, m_dvrname);
	}
	else
		return;

	Remote_Station_setting m_station[120];
	Cfileoperation <Remote_Station_setting> *m_fileoperation;
    int m_length=m_fileoperation->openfile(m_remote_station_directory,"ab+",m_station);
	
	for(int i=0; i<m_length; i++)
	{
		if(strcmp(m_station[i].name, m_login_client_name))
			continue;
		if(!strcmp(m_station[i].dvrname, m_dvrname))
		{
			m_stid.Format("%d", m_station[i].stid);
		}
	}
	UpdateData(FALSE);
}

void CAlarmServerLink::OnSetfocusname()
{
	Remote_Station_setting m_station[120];
	Cfileoperation <Remote_Station_setting> *m_fileoperation;
    int m_length=m_fileoperation->openfile(m_remote_station_directory,"ab+",m_station);
	
	char dc[20];
	m_dvrnamectl.ResetContent();
	for(int i=0; i<m_length; i++)
	{
		if(!strcmp(m_station[i].name, m_login_client_name))
		{
			m_dvrnamectl.AddString(m_station[i].dvrname);
		}
	}
}



////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////

LPCTSTR rvNetAlarmsetup = _T("NetAlarmsetup");
LPCTSTR rvNetAlarmtime = _T("NetAlarmtime");
LPCTSTR rvNetAlarmopenchan = _T("NetAlarmopenchan");
LPCTSTR rvNetAlarmclosechan = _T("NetAlarmclosechan");
LPCTSTR rvNetAlarmopenlight = _T("NetAlarmopenlight");
LPCTSTR rvNetAlarmcloselight = _T("NetAlarmcloselight");
LPCTSTR rvNetAlarmopenptz = _T("NetAlarmopenptz");

CParatSet::CParatSet() : CPropertyPage(CParatSet::IDD)
{
	m_time = read_dword(rvNetAlarmsetup, rvNetAlarmtime, 30);
	
	m_openchan = read_dword(rvNetAlarmsetup, rvNetAlarmopenchan);
	m_closechan = read_dword(rvNetAlarmsetup, rvNetAlarmclosechan);
	m_openlight = read_dword(rvNetAlarmsetup, rvNetAlarmopenlight);
	m_closelight = read_dword(rvNetAlarmsetup, rvNetAlarmcloselight);
	m_openptz = read_dword(rvNetAlarmsetup, rvNetAlarmopenptz);
	m_closeptz = TRUE;

	//{{AFX_DATA_INIT(CParatSet)
		// NOTE: the ClassWizard will add member initialization here
	m_brush.CreateSolidBrush(RGB(117, 200, 146));
	//}}AFX_DATA_INIT
}

CParatSet::~CParatSet()
{

}

void CParatSet::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CParatSet)
	DDX_Control(pDX, IDC_CHECK_OPENPTZ, m_openptzctl);
	DDX_Control(pDX, IDC_CHECK_OPENLIGHT, m_openlightctl);
	DDX_Control(pDX, IDC_CHECK_OPENCHAN, m_openchanctl);
	DDX_Control(pDX, IDC_CHECK_CLOSEPTZ, m_closeptzctl);
	DDX_Control(pDX, IDC_CHECK_CLOSELIGHT, m_closelightctl);
	DDX_Control(pDX, IDC_CHECK_CLOSECHAN, m_closechanctl);
	DDX_Control(pDX, IDC_SETPARA, m_set);
	DDX_Control(pDX, IDC_STATIC_LB, m_static);
	DDX_Control(pDX, IDC_STATIC_SEC, m_staticsec);
	DDX_Text(pDX, IDC_ALARM_TIME, m_time);
	DDX_Check(pDX, IDC_CHECK_CLOSECHAN, m_closechan);
	DDX_Check(pDX, IDC_CHECK_CLOSELIGHT, m_closelight);
	DDX_Check(pDX, IDC_CHECK_CLOSEPTZ, m_closeptz);
	DDX_Check(pDX, IDC_CHECK_OPENCHAN, m_openchan);
	DDX_Check(pDX, IDC_CHECK_OPENLIGHT, m_openlight);
	DDX_Check(pDX, IDC_CHECK_OPENPTZ, m_openptz);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CParatSet, CPropertyPage)
	//{{AFX_MSG_MAP(CAlarmServerSet)
	ON_WM_CTLCOLOR()
	ON_BN_CLICKED(IDC_SETPARA, OnSetpara)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

HBRUSH CParatSet::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CPropertyPage::OnCtlColor(pDC, pWnd, nCtlColor);
	if (nCtlColor==CTLCOLOR_DLG) 
	return (HBRUSH)m_brush .GetSafeHandle( ) ;
	return hbr;
}

BOOL CParatSet::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();
	init_label(m_static);
	init_label(m_staticsec);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CParatSet::OnSetpara() 
{
	UpdateData(TRUE);
	write_dword(rvNetAlarmsetup, rvNetAlarmtime, m_time);
	
	write_dword(rvNetAlarmsetup, rvNetAlarmopenchan, m_openchan);
	write_dword(rvNetAlarmsetup, rvNetAlarmclosechan, m_closechan);
	write_dword(rvNetAlarmsetup, rvNetAlarmopenlight, m_openlight);
	write_dword(rvNetAlarmsetup, rvNetAlarmcloselight, m_closelight);

	write_dword(rvNetAlarmsetup, rvNetAlarmopenptz, m_openptz);

}

⌨️ 快捷键说明

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