📄 deldialog.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 + -