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

📄 deldialog.cpp

📁 VC环境下电力系统故障录波数据管理系统
💻 CPP
字号:
// DelDialog.cpp : implementation file
//

#include "stdafx.h"
#include "wgl_32.h"
#include "DelDialog.h"
#include "ZhxSet.h"

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

/////////////////////////////////////////////////////////////////////////////
// CDelDialog dialog


CDelDialog::CDelDialog(CWnd* pParent /*=NULL*/)
	: CDialog(CDelDialog::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDelDialog)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	m_num=0;
	m_select=FALSE;
}


void CDelDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDelDialog)
	DDX_Control(pDX, IDOK, m_delete);
	DDX_Control(pDX, IDC_LIST2, m_list2);
	DDX_Control(pDX, IDC_LIST1, m_list1);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDelDialog, CDialog)
	//{{AFX_MSG_MAP(CDelDialog)
	ON_LBN_DBLCLK(IDC_LIST2, OnDblclkList2)
	ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDelDialog message handlers

BOOL CDelDialog::OnInitDialog()
{
	CDialog::OnInitDialog();
	InitRecord();
	return TRUE;
}

void CDelDialog::InitRecord()
{
	//m_list2.RemoveAll();//ClistBox
	if(m_list2.GetCount()!=0){
		for(int i=0;i<=m_list2.GetCount();i++)
			m_list2.DeleteString(i);
	}
	

	for(int j=0;j<7;j++)
	m_list1.DeleteColumn(j);
	m_list1.DeleteAllItems();
	m_list1.EnableWindow(FALSE);
	CZhxSet set;
	if(set.IsOpen())
		set.Close();
	set.Open();
	if(set.GetRecordCount()==0)
		AfxMessageBox("Error",MB_OK);
	else{
	set.MoveFirst();
	char* zhx;
	CStringArray pArray;
	zhx=(char *)LPCTSTR(set.m_recordid);
	pArray.SetAtGrow(0,set.m_recordid);
	m_list2.AddString(zhx);
	int i=1;
	BOOL u=TRUE;
	set.MoveNext();
	while(!set.IsEOF())
	{
		int j;
		u=TRUE;
		zhx=(char *)LPCTSTR(set.m_recordid);
        pArray.SetAtGrow(i,set.m_recordid);
		for(j=0;j<i;j++)
		{
			if(pArray[i]==pArray[j])
				u=FALSE;
		}
		if(u){
			m_list2.AddString(zhx);
			i++;
		}
		set.MoveNext();
	}
	}
	set.Close();
}

char* zhx[8];

void CDelDialog::OnDblclkList2() 
{
	// TODO: Add your control notification handler code here CListBox GetItem
	char zhx1[300];
	CZhxSet set;
	BOOL mode=FALSE;
	int i=m_list2.GetCurSel();
	int j=m_list2.GetText(i,zhx1);
	mode=TRUE;
	if(mode){		
		if(set.IsOpen())
			set.Close();
		CString ss;
		ss=_T(zhx1);
		set.m_strFilter="recordid='"+ss+"'";
		set.Open();
		m_list1.EnableWindow(TRUE);
		m_list1.DeleteAllItems();	
		m_list1.InsertColumn(0,"记录号",LVCFMT_LEFT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH,60,0);
		m_list1.InsertColumn(1,"起始日期时间",LVCFMT_LEFT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH,180,1);
	    m_list1.InsertColumn(2,"故障类型",LVCFMT_LEFT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH,90,2);
	    m_list1.InsertColumn(3,"故障延续时间",LVCFMT_LEFT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH,120,3);
	    m_list1.InsertColumn(4,"录波器ID",LVCFMT_LEFT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH,80,4);
	    m_list1.InsertColumn(5,"故障线路名",LVCFMT_LEFT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH,100,5);
	    m_list1.InsertColumn(6,"故障文件名",LVCFMT_LEFT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH,100,6);	
	    //int y=m_list1.GetColumnWidth(6);
	    //m_list1.SetColumnWidth(6,1220);
	    set.MoveLast();
  	    while(!set.IsBOF())
		{
			int inewritem,i;
	        LV_ITEM lvitem;
	        zhx[0]=(char *)LPCTSTR(set.m_recordno);
	        zhx[1]=(char *)LPCTSTR(set.m_startdatet);
	        zhx[2]=(char *)LPCTSTR(set.m_faulttype);
	        zhx[3]=(char *)LPCTSTR(set.m_delaytime);
	        zhx[4]=(char *)LPCTSTR(set.m_recordid);
	        zhx[5]=(char *)LPCTSTR(set.m_linename);
	        zhx[6]=(char *)LPCTSTR(set.m_filename);
	        lvitem.mask=LVIF_TEXT;// LVIF_DI_SETITEM;
	        lvitem.iItem=0;
	        lvitem.iSubItem=0;
	        lvitem.pszText=zhx[0];//(char *)LPCTSTR(z);//zhx[0];
	        inewritem=m_list1.InsertItem(&lvitem);
	        for(i=1;i<7;i++)
			{
				lvitem.mask=LVIF_TEXT;
				lvitem.iItem=0;
				lvitem.iSubItem=i;
				lvitem.pszText=zhx[i];
				m_list1.SetItem(&lvitem);
			}
			set.MovePrev();
		}
	}
	set.Close();
} 
	

	    



void CDelDialog::Add()
{

}

void CDelDialog::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here CListCtrl   
	m_delete.EnableWindow(TRUE);
	*pResult = 0;
}

void CDelDialog::OnOK() 
{
	// TODO: Add extra validation here
	CString m_Name;
	if(AfxMessageBox("请确认删除本记录!",MB_OKCANCEL) != IDOK)return;
	total();	
	int	nCount = m_list1.GetItemCount();
	//UINT n=m_list1.GetItemState(0,LVIS_SELECTED);
	int y=m_list1.GetTopIndex();
	for (int i = 0; i < nCount; i++)
	{
		if (m_list1.GetItemState(i,LVIS_SELECTED))
			break;
	}
	if (i < nCount)
	{		
		m_Name = m_list1.GetItemText(i,0);
	}
	char* zhx=(char *)LPCTSTR(m_Name);
	int yy=atoi(zhx);
	char wyy[300];
	sprintf(wyy,"recordno=%s",zhx);
	CString z=_T(wyy);
	CZhxSet set;
	if(set.IsOpen())
		set.Close();
	set.m_strFilter=z;
	set.Open();
	set.MoveFirst();
	set.Delete();
	//if(set.GetRecordCount()!=0)
	//set.MoveLast();
	set.m_strFilter="\0";
	set.Close();
	if(yy<m_num){
	if(set.IsOpen())
		set.Close();
	char wyy1[200];	
	sprintf(wyy1,"recordno>%d",yy);
    CString s=_T(wyy1);
	set.m_strFilter=s;
	set.Open();
	if(set.GetRecordCount()!=0){
	set.MoveFirst();
    while(!set.IsEOF())
	{

		char zhx[200];
		sprintf(zhx,"%d",yy);
		CString d=_T(zhx);
		set.Edit();
		set.m_recordno=d;
		set.Update();
		set.MoveNext();
		yy++;
	}
	//InitRecord();
	}
	set.m_strFilter="\0";
	set.Close();
	}
	InitRecord();

	//CDialog::OnOK();
}

void CDelDialog::total()
{
	CZhxSet set;
	if(set.IsOpen())
		set.Close();
	set.Open();
	set.MoveFirst();
	while(!set.IsEOF())
	{
		m_num++;
		set.MoveNext();
	}
	set.Close();
}

⌨️ 快捷键说明

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