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

📄 fenjicableset.cpp

📁 电缆故障监控系统
💻 CPP
字号:
// FenjiCableSet.cpp : implementation file
//

#include "stdafx.h"
#include "remotemonitor.h"
#include "FenjiCableSet.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CFenjiCableSet dialog


CFenjiCableSet::CFenjiCableSet(CWnd* pParent /*=NULL*/)
	: CDialog(CFenjiCableSet::IDD, pParent)
{
	//{{AFX_DATA_INIT(CFenjiCableSet)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CFenjiCableSet::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CFenjiCableSet)
	DDX_Control(pDX, IDC_DELETE2, m_delete2);
	DDX_Control(pDX, IDC_DELETE1, m_delete1);
	DDX_Control(pDX, IDC_CHANGE2, m_change2);
	DDX_Control(pDX, IDC_CHANGE1, m_change1);
	DDX_Control(pDX, IDC_CABLELIST, m_list2);
	DDX_Control(pDX, IDC_FENJILIST, m_list1);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CFenjiCableSet, CDialog)
	//{{AFX_MSG_MAP(CFenjiCableSet)
	ON_BN_CLICKED(IDC_ADD1, OnAdd1)
	ON_BN_CLICKED(IDC_CHANGE1, OnChange1)
	ON_BN_CLICKED(IDC_DELETE1, OnDelete1)
	ON_BN_CLICKED(IDC_ADD2, OnAdd2)
	ON_BN_CLICKED(IDC_CHANGE2, OnChange2)
	ON_BN_CLICKED(IDC_DELETE2, OnDelete2)
	ON_NOTIFY(NM_CLICK, IDC_CABLELIST, OnClickCablelist)
	ON_NOTIFY(NM_CLICK, IDC_FENJILIST, OnClickFenjilist)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CFenjiCableSet message handlers

BOOL CFenjiCableSet::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	CString str;

	m_list1.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
	m_list2.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);

	m_list1.InsertColumn( 0, "分机号", LVCFMT_LEFT,60, 0 );
    m_list1.InsertColumn( 1, "分机名", LVCFMT_LEFT,70, 0 );
    m_list1.InsertColumn( 2, "分机电话", LVCFMT_LEFT,100, 0 );
	m_list1.InsertColumn( 3, "用户1", LVCFMT_LEFT,70, 0 );
    m_list1.InsertColumn( 4, "用户电话1", LVCFMT_LEFT,100, 0 );
	m_list1.InsertColumn( 5, "用户2", LVCFMT_LEFT,70, 0 );
    m_list1.InsertColumn( 6, "用户电话2", LVCFMT_LEFT,100, 0 );
	m_list1.InsertColumn( 7, "用户3", LVCFMT_LEFT,70, 0 );
    m_list1.InsertColumn( 8, "用户电话3", LVCFMT_LEFT,100, 0 );
	m_list1.InsertColumn( 9, "用户4", LVCFMT_LEFT,70, 0 );
    m_list1.InsertColumn( 10, "用户电话4", LVCFMT_LEFT,100, 0 );
	m_list1.InsertColumn( 11, "用户5", LVCFMT_LEFT,70, 0 );
    m_list1.InsertColumn( 12, "用户电话5", LVCFMT_LEFT,100, 0 );
	m_list1.InsertColumn( 13, "用户6", LVCFMT_LEFT,70, 0 );
    m_list1.InsertColumn( 14, "用户电话6", LVCFMT_LEFT,100, 0 );
	m_list1.InsertColumn( 15, "维护1", LVCFMT_LEFT,70,0);
    m_list1.InsertColumn( 16, "维护电话1",   LVCFMT_LEFT,100,0);
	m_list1.InsertColumn( 17, "维护2", LVCFMT_LEFT,70,0);
    m_list1.InsertColumn( 18, "维护电话2",   LVCFMT_LEFT,100,0);
	m_list1.InsertColumn( 19, "维护3", LVCFMT_LEFT,70,0);
    m_list1.InsertColumn( 20, "维护电话3",   LVCFMT_LEFT,100,0);
	m_list1.InsertColumn( 21, "维护4", LVCFMT_LEFT,70,0);
    m_list1.InsertColumn( 22, "维护电话4",   LVCFMT_LEFT,100,0);
	m_list1.InsertColumn( 23, "维护5", LVCFMT_LEFT,70,0);
    m_list1.InsertColumn( 24, "维护电话5",   LVCFMT_LEFT,100,0);
	m_list1.InsertColumn( 25, "维护6", LVCFMT_LEFT,70,0);
    m_list1.InsertColumn( 26, "维护电话6",   LVCFMT_LEFT,100,0);
    m_list1.InsertColumn( 27, "无应答等待时间",   LVCFMT_LEFT,100,0);
    m_list1.InsertColumn( 28, "灵敏度",   LVCFMT_LEFT,100,0);
    m_list1.InsertColumn( 29, "循环拨打次数",   LVCFMT_LEFT,100,0);
    m_list1.InsertColumn( 30, "布防等待时间",   LVCFMT_LEFT,100,0);
    m_list1.InsertColumn( 31, "电压转折点",   LVCFMT_LEFT,100,0);
    m_list1.InsertColumn( 32, "本机模式",   LVCFMT_LEFT,100,0);
    m_list1.InsertColumn( 33, "测距系数",   LVCFMT_LEFT,100,0);

	m_list2.InsertColumn( 0, "分机号", LVCFMT_LEFT,60, 0 );
    m_list2.InsertColumn( 1, "电缆号", LVCFMT_LEFT,100, 0 );
    m_list2.InsertColumn( 2, "电缆起点", LVCFMT_LEFT,100, 0 );
	m_list2.InsertColumn( 3, "电缆终点", LVCFMT_LEFT,100, 0 );
    m_list2.InsertColumn( 4, "功能设置", LVCFMT_LEFT,100, 0 );


	m_table1.m_strSort=_T("[Id]");
	if(!m_table1.IsOpen())
       m_table1.Open();
    InSertList1();

	m_table2.m_strSort=_T("[Id]");
	if(!m_table2.IsOpen())
       m_table2.Open();
	InSertList2();

    m_change1.EnableWindow(FALSE);
    m_delete1.EnableWindow(FALSE);
    m_change2.EnableWindow(FALSE);
    m_delete2.EnableWindow(FALSE);

	UpdateData(FALSE);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
void CFenjiCableSet::InSertList2()
{
	int ntotalItem;
	CString str;
    while (!m_table2.IsEOF())
	{
		ntotalItem = m_list2.GetItemCount();
		str.Format("%3.3d",m_table2.m_Id/100);
		m_list2.InsertItem(ntotalItem,str);
		str.Format("%3.3d",m_table2.m_Id%100);
		m_list2.SetItem(ntotalItem,1,LVIF_TEXT,_T(str),0,0,0,NULL);
		m_list2.SetItem(ntotalItem,2,LVIF_TEXT,_T(m_table2.m_startname),0,0,0,NULL);
		m_list2.SetItem(ntotalItem,3,LVIF_TEXT,_T(m_table2.m_endname),0,0,0,NULL);
		if(m_table2.m_Id%100<=8)
		{
			if(m_table2.m_state==0)
				str="撤防";
			else
				str="布防";
		}
		else
		{
			switch(m_table2.m_state)
			{
			case 0:
				str="布防";
				break;
			case 1:
				str="温度告警";
				break;
			case 2:
				str="湿度告警";
				break;
			case 3:
				str="红外告警";
				break;
			case 4:
				str="门禁告警";
				break;
			case 5:
				str="烟雾告警";
				break;
			case 6:
				str="浸水告警";
				break;
			case 7:
				str="有害气体告警";
			case 8:
				str="撤防";
				break;
			default:
				break;
				
			}
		}
		m_list2.SetItem(ntotalItem,4,LVIF_TEXT,_T(str),0,0,0,NULL);
		m_table2.MoveNext();
	}
}

void CFenjiCableSet::InSertList1()
{
	int i,ntotalItem;
	CString str;

	while (!m_table1.IsEOF())
	{
		ntotalItem = m_list1.GetItemCount();
		str.Format("%3.3d",m_table1.m_Id);
		m_list1.InsertItem(ntotalItem,str);
		m_list1.SetItem(ntotalItem,1,LVIF_TEXT,_T(m_table1.m_Name),0,0,0,NULL);
		m_list1.SetItem(ntotalItem,2,LVIF_TEXT,_T(m_table1.m_telephone),0,0,0,NULL);
		for(i=0;i<6;i++)
		{
			m_list1.SetItem(ntotalItem,i*2+3,LVIF_TEXT,_T(m_table1.m_username[i]),0,0,0,NULL);
			m_list1.SetItem(ntotalItem,i*2+4,LVIF_TEXT,_T(m_table1.m_usertel[i]),0,0,0,NULL);
			m_list1.SetItem(ntotalItem,i*2+15,LVIF_TEXT,_T(m_table1.m_maintenance[i]),0,0,0,NULL);
			m_list1.SetItem(ntotalItem,i*2+16,LVIF_TEXT,_T(m_table1.m_maintenancetel[i]),0,0,0,NULL);
		}
		str.Format("%d",m_table1.m_ackwaittime);
		m_list1.SetItem(ntotalItem,27,LVIF_TEXT,_T(str),0,0,0,NULL);
		str.Format("%d",m_table1.m_sensitive);
		m_list1.SetItem(ntotalItem,28,LVIF_TEXT,_T(str),0,0,0,NULL);
		str.Format("%d",m_table1.m_callnumber);
		m_list1.SetItem(ntotalItem,29,LVIF_TEXT,_T(str),0,0,0,NULL);
		str.Format("%d",m_table1.m_waittime);
		m_list1.SetItem(ntotalItem,30,LVIF_TEXT,_T(str),0,0,0,NULL);
		str.Format("%2.1f",m_table1.m_xudianchi);
		m_list1.SetItem(ntotalItem,31,LVIF_TEXT,_T(str),0,0,0,NULL);
		if(m_table1.m_mode==1)
		   str="单机模式";
		else 
		   str="联网模式";
		m_list1.SetItem(ntotalItem,32,LVIF_TEXT,_T(str),0,0,0,NULL);
		str.Format("%d",m_table1.m_zejuxisu);
		m_list1.SetItem(ntotalItem,33,LVIF_TEXT,_T(str),0,0,0,NULL);

        m_table1.MoveNext();
	}
}
void CFenjiCableSet::OnOK() 
{
	// TODO: Add extra validation here
	if(m_table1.IsOpen())
       m_table1.Close();
	if(m_table2.IsOpen())
       m_table2.Close();
	CDialog::OnOK();
}
#include "AddorChangeFenjiInfo.h"
void CFenjiCableSet::OnAdd1() 
{
	// TODO: Add your control notification handler code here
	CAddorChangeFenjiInfo dlg;
	dlg.m_flag=0;//加
    dlg.m_pSet=&m_table1;
	if(dlg.DoModal()==IDOK)
	{
       m_list1.DeleteAllItems();
       m_table1.m_strSort=_T("[Id]");
       m_table1.m_strFilter=_T("");
       m_table1.Requery();
       InSertList1();
	}

}

void CFenjiCableSet::OnChange1() 
{
	// TODO: Add your control notification handler code here
	int index;
    CString str;

	index=m_list1.GetNextItem(-1,LVNI_SELECTED);
	if(index==-1)
	{
        m_change1.EnableWindow(FALSE);
        m_delete1.EnableWindow(FALSE);	
		return;
	}

	str=m_list1.GetItemText(index,0);
	m_table1.m_strFilter=_T("[Id]= ");
    m_table1.m_strFilter+=str;
    m_table1.Requery();
	CAddorChangeFenjiInfo dlg;
	dlg.m_flag=1;//
    dlg.m_pSet=&m_table1;
	if(dlg.DoModal()==IDOK)
	{
       m_list1.DeleteAllItems();
       m_table1.m_strSort=_T("[Id]");
       m_table1.m_strFilter=_T("");
       m_table1.Requery();
       InSertList1();
	}
    m_change1.EnableWindow(FALSE);
    m_delete1.EnableWindow(FALSE);	
}

void CFenjiCableSet::OnDelete1() 
{
	// TODO: Add your control notification handler code here
	int index;
    CString str;

	index=m_list1.GetNextItem(-1,LVNI_SELECTED);
	if(index==-1)
	{
        m_change1.EnableWindow(FALSE);
        m_delete1.EnableWindow(FALSE);	
		return;
	}
	str=m_list1.GetItemText(index,0);
	m_table1.m_strFilter=_T("[Id]= ");
    m_table1.m_strFilter+=str;
    m_table1.Requery();
    m_table1.Delete();
    m_table1.MoveNext();
	m_list1.DeleteItem(index);
    m_change1.EnableWindow(FALSE);
    m_delete1.EnableWindow(FALSE);		
}
#include "CableInfoSet.h"
void CFenjiCableSet::OnAdd2() 
{
	// TODO: Add your control notification handler code here
	CCableInfoSet dlg;
	dlg.m_flag=0;//加
    dlg.m_pSet=&m_table2;
	if(dlg.DoModal()==IDOK)
	{
       m_list2.DeleteAllItems();
       m_table2.m_strSort=_T("[Id]");
       m_table2.m_strFilter=_T("");
       m_table2.Requery();
       InSertList2();
	}	
}

void CFenjiCableSet::OnChange2() 
{
	// TODO: Add your control notification handler code here

	int index;
	int fenjinum,cablenum;
    CString str;

	index=m_list2.GetNextItem(-1,LVNI_SELECTED);
	if(index==-1)
	{
        m_change2.EnableWindow(FALSE);
        m_delete2.EnableWindow(FALSE);	
		return;
	}

	str=m_list2.GetItemText(index,0);
	fenjinum=atoi(str);
	str=m_list2.GetItemText(index,1);
	cablenum=atoi(str);
	str.Format("%d",fenjinum*100+cablenum);
	m_table2.m_strFilter=_T("[Id]= ");
    m_table2.m_strFilter+=str;
    m_table2.Requery();

	CCableInfoSet dlg;
	dlg.m_flag=1;
    dlg.m_pSet=&m_table2;
	dlg.m_fenjinum=fenjinum;
	dlg.m_cablenum=cablenum;
	if(dlg.DoModal()==IDOK)
	{
       m_list2.DeleteAllItems();
       m_table2.m_strSort=_T("[Id]");
       m_table2.m_strFilter=_T("");
       m_table2.Requery();
       InSertList2();
	}

    m_change2.EnableWindow(FALSE);
    m_delete2.EnableWindow(FALSE);	

}

void CFenjiCableSet::OnDelete2() 
{
	// TODO: Add your control notification handler code here
	int index,fenjinum,cablenum;
    CString str;

	index=m_list2.GetNextItem(-1,LVNI_SELECTED);
	if(index==-1)
	{
        m_change2.EnableWindow(FALSE);
        m_delete2.EnableWindow(FALSE);	
		return;
	}
	str=m_list2.GetItemText(index,0);
    fenjinum=atoi(str);
	str=m_list2.GetItemText(index,1);
    cablenum=atoi(str);
	str.Format("%d",fenjinum*100+cablenum);
	m_table2.m_strFilter=_T("[Id]= ");
    m_table2.m_strFilter+=str;
    m_table2.Requery();
    m_table2.Delete();
    m_table2.MoveNext();
	m_list2.DeleteItem(index);
    m_change2.EnableWindow(FALSE);
    m_delete2.EnableWindow(FALSE);			
}

void CFenjiCableSet::OnClickCablelist(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	int index=m_list2.GetNextItem(-1,LVNI_SELECTED);
	if(index!=-1)
	{
       m_change2.EnableWindow(TRUE);
       m_delete2.EnableWindow(TRUE);
	}
	else
	{
       m_change2.EnableWindow(FALSE);
       m_delete2.EnableWindow(FALSE);
	}		
	*pResult = 0;
}

void CFenjiCableSet::OnClickFenjilist(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	int nIndex;

	nIndex=m_list1.GetNextItem(-1,LVNI_SELECTED);
	if(nIndex!=-1)
	{
		m_change1.EnableWindow(TRUE);
		m_delete1.EnableWindow(TRUE);
	}
	else
	{
       m_change1.EnableWindow(FALSE);
       m_delete1.EnableWindow(FALSE);
	}	
	*pResult = 0;
}

⌨️ 快捷键说明

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