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

📄 searchdlg.cpp

📁 一个真正实用的应用程序
💻 CPP
字号:
// SearchDlg.cpp : implementation file
//

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

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

/////////////////////////////////////////////////////////////////////////////
// CSearchDlg dialog


CSearchDlg::CSearchDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSearchDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSearchDlg)
	m_check1=FALSE;
	m_check2=FALSE;
	m_check3=FALSE;
	m_check4=FALSE;
	m_check5=FALSE;
	m_Recordid2 = _T("");
	m_Linename2 = _T("");
	m_Cityname2 = _T("");
	m_check10=FALSE;
	m_check6=FALSE;
	m_check7=FALSE;
	m_check8=FALSE;
	m_check9=FALSE;
	m_month2 = _T("");
	m_day = _T("");
	m_day2 = _T("");
	m_hour = _T("");
	m_hour2 = _T("");
	m_year1=0;
	m_year21=0;
	m_month1=0;
    m_month21=0;
	m_day1=0;
	m_day21=0;
	m_hour1=0;
	m_hour21=0;
	m_month = _T("");
	m_year2 = _T("");
	//}}AFX_DATA_INIT
}


void CSearchDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSearchDlg)
	DDX_Control(pDX, IDC_COMBO6, m_ctlyear2);
	DDX_Control(pDX, IDC_COMBO5, m_ctlmonth);
	DDX_Control(pDX, IDC_COMBO7, m_ctlmonth2);
	DDX_Control(pDX, IDC_COMBO11, m_ctlhour2);
	DDX_Control(pDX, IDC_COMBO10, m_ctlhour);
	DDX_Control(pDX, IDC_COMBO9, m_ctlday2);
	DDX_Control(pDX, IDC_COMBO8, m_ctlday);
	DDX_Control(pDX, IDC_COMBO4, m_ctlyear);
	DDX_Control(pDX, IDC_CHECK5, m_ctlcheck5);
	DDX_Control(pDX, IDC_CHECK4, m_ctlcheck4);
	DDX_Control(pDX, IDC_CHECK3, m_ctlcheck3);
	DDX_Control(pDX, IDC_CHECK2, m_ctlcheck2);
	DDX_Control(pDX, IDC_CHECK1, m_ctlcheck1);
	DDX_Control(pDX, IDC_CHECK9, m_ctlcheck9);
	DDX_Control(pDX, IDC_CHECK8, m_ctlcheck8);
	DDX_Control(pDX, IDC_CHECK7, m_ctlcheck7);
	DDX_Control(pDX, IDC_CHECK6, m_ctlcheck6);
	DDX_Control(pDX, IDC_CHECK10, m_ctlcheck10);
	DDX_Control(pDX, IDC_COMBO1, m_combox1);
	DDX_Control(pDX, IDC_COMBO2, m_combox2);
	DDX_Control(pDX, IDC_COMBO3, m_combox3);
	DDX_Check(pDX, IDC_CHECK1, m_check1);
	DDX_Check(pDX, IDC_CHECK2, m_check2);
	DDX_Check(pDX, IDC_CHECK3, m_check3);
	DDX_Check(pDX, IDC_CHECK4, m_check4);
	DDX_Check(pDX, IDC_CHECK5, m_check5);
	DDX_CBString(pDX, IDC_COMBO1, m_Recordid2);
	DDX_CBString(pDX, IDC_COMBO2, m_Linename2);
	DDX_CBString(pDX, IDC_COMBO3, m_Cityname2);
	DDX_Check(pDX, IDC_CHECK10, m_check10);
	DDX_Check(pDX, IDC_CHECK6, m_check6);
	DDX_Check(pDX, IDC_CHECK7, m_check7);
	DDX_Check(pDX, IDC_CHECK8, m_check8);
	DDX_Check(pDX, IDC_CHECK9, m_check9);
	DDX_CBString(pDX, IDC_COMBO4, m_year);
	DDX_CBString(pDX, IDC_COMBO7, m_month2);
	DDX_CBString(pDX, IDC_COMBO8, m_day);
	DDX_CBString(pDX, IDC_COMBO9, m_day2);
	DDX_CBString(pDX, IDC_COMBO10, m_hour);
	DDX_CBString(pDX, IDC_COMBO11, m_hour2);
	DDX_CBString(pDX, IDC_COMBO5, m_month);
	DDX_CBString(pDX, IDC_COMBO6, m_year2);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSearchDlg, CDialog)
	//{{AFX_MSG_MAP(CSearchDlg)
	ON_BN_CLICKED(IDC_CHECK1, OnCheck1)
	ON_BN_CLICKED(IDC_CHECK2, OnCheck2)
	ON_BN_CLICKED(IDC_CHECK3, OnCheck3)
	ON_BN_CLICKED(IDC_CHECK4, OnCheck4)
	ON_BN_CLICKED(IDC_CHECK5, OnCheck5)
	ON_BN_CLICKED(IDC_CHECK10, OnCheck10)
	ON_BN_CLICKED(IDC_CHECK6, OnCheck6)
	ON_BN_CLICKED(IDC_CHECK7, OnCheck7)
	ON_BN_CLICKED(IDC_CHECK8, OnCheck8)
	ON_BN_CLICKED(IDC_CHECK9, OnCheck9)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSearchDlg message handlers

BOOL CSearchDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	m_Cityname2="\0";
	m_Linename2="\0";
	m_Recordid2="\0";	
	m_year="\0";
	m_month="\0";
	m_day="\0";
	m_hour="\0";
	m_year2="\0";
	m_month2="\0";
	m_day2="\0";
	m_hour2="\0";
    m_check1 = FALSE;
	m_check2 = FALSE;
	m_check3 = FALSE;
	m_check4 = FALSE;
	m_check5 = FALSE; 
	m_check10 = FALSE;
	m_check6 = FALSE;
	m_check7 = FALSE;
	m_check8 = FALSE;
	m_check9 = FALSE;
	m_ctlyear.EnableWindow(FALSE);
    m_ctlyear2.EnableWindow(FALSE);
	m_ctlmonth.EnableWindow(FALSE);
	m_ctlmonth2.EnableWindow(FALSE);
	m_ctlday.EnableWindow(FALSE);
	m_ctlday2.EnableWindow(FALSE);
	m_ctlhour.EnableWindow(FALSE);
	m_ctlhour2.EnableWindow(FALSE);
	m_combox3.SetWindowText("\0");
	//m_combox3.AddString("");
	InitRecord();
	m_combox2.SetWindowText("\0");
	m_combox1.SetWindowText("\0");
	m_combox1.EnableWindow(FALSE);
	m_combox2.EnableWindow(FALSE);
	m_combox3.EnableWindow(FALSE);	
	m_ctlyear.SetWindowText("\0");
	m_ctlyear.EnableWindow(FALSE);		
	m_ctlmonth.SetCurSel(-1);
	m_ctlmonth.EnableWindow(FALSE);//CComboBox	
	m_ctlday.SetCurSel(-1);
	m_ctlday.EnableWindow(FALSE);    	
	m_ctlhour.SetCurSel(-1);
	m_ctlhour.EnableWindow(FALSE);	
	m_ctlyear2.SetWindowText("\0");
	m_ctlyear2.EnableWindow(FALSE);
	m_ctlmonth2.SetCurSel(-1);
	m_ctlmonth2.EnableWindow(FALSE);
	m_ctlday2.SetCurSel(-1);
	m_ctlday2.EnableWindow(FALSE);
    m_ctlhour2.SetCurSel(-1);
	m_ctlhour2.EnableWindow(FALSE);
	m_ctlcheck1.SetCheck(0);
	m_ctlcheck2.SetCheck(0);
	m_ctlcheck3.SetCheck(0);
	m_ctlcheck4.SetCheck(0);
	m_ctlcheck5.SetCheck(0);
	m_ctlcheck6.SetCheck(0);
	m_ctlcheck7.SetCheck(0);
	m_ctlcheck8.SetCheck(0);
	m_ctlcheck9.SetCheck(0);
	m_ctlcheck10.SetCheck(0);
	return TRUE;
}


void CSearchDlg::OnCheck1() 
{
	// TODO: Add your control notification handler code here
	m_check1=!m_check1;
	if(m_check1){
		m_ctlyear.EnableWindow(TRUE);		
		m_ctlyear2.EnableWindow(TRUE);		
		m_ctlmonth.EnableWindow(TRUE);		
		m_ctlmonth2.EnableWindow(TRUE);		
		m_ctlday.EnableWindow(TRUE);		
		m_ctlday2.EnableWindow(TRUE);		
		m_ctlhour.EnableWindow(TRUE);		
		m_ctlhour2.EnableWindow(TRUE);			
	}
	else{	
		m_ctlyear.EnableWindow(FALSE);		
		m_ctlyear2.EnableWindow(FALSE);		
		m_ctlmonth.EnableWindow(FALSE);		
		m_ctlmonth2.EnableWindow(FALSE);	
		m_ctlday.EnableWindow(FALSE);		
		m_ctlday2.EnableWindow(FALSE);		
		m_ctlhour.EnableWindow(FALSE);		
		m_ctlhour2.EnableWindow(FALSE);
	}
}

void CSearchDlg::OnCheck2() 
{
	// TODO: Add your control notification handler code here
	m_check2=!m_check2;
	if(m_check2){
		m_combox3.EnableWindow(TRUE);		
	}
	else{
		m_combox3.EnableWindow(FALSE);
		m_combox3.SetCurSel(-1);
	}
}

void CSearchDlg::OnCheck3() 
{
	// TODO: Add your control notification handler code here
	m_check3=!m_check3;
	if(m_check3){
		m_ctlcheck6.EnableWindow(TRUE);
		m_ctlcheck7.EnableWindow(TRUE);
		m_ctlcheck8.EnableWindow(TRUE);
		m_ctlcheck9.EnableWindow(TRUE);
		m_ctlcheck10.EnableWindow(TRUE);		
	}
	else{
		m_ctlcheck6.EnableWindow(FALSE);
		m_ctlcheck6.SetCheck(0);
		m_ctlcheck7.EnableWindow(FALSE);
		m_ctlcheck7.SetCheck(0);
		m_ctlcheck8.EnableWindow(FALSE);
		m_ctlcheck8.SetCheck(0);
		m_ctlcheck9.EnableWindow(FALSE);
		m_ctlcheck9.SetCheck(0);
		m_ctlcheck10.EnableWindow(FALSE);
		m_ctlcheck10.SetCheck(0);
	}
	
}

void CSearchDlg::OnCheck4() 
{
	// TODO: Add your control notification handler code here
    m_check4=!m_check4;
	if(m_check4){
		m_combox2.EnableWindow(TRUE);		
	}
	else{
		m_combox2.EnableWindow(FALSE);
        m_combox2.SetCurSel(-1);
	}
	
}

void CSearchDlg::OnCheck5() 
{
	// TODO: Add your control notification handler code here
	m_check5=!m_check5;
	if(m_check5){
		m_combox1.EnableWindow(TRUE);		
	}
	else{
		m_combox1.EnableWindow(FALSE);
		m_combox1.SetCurSel(-1);
	}
} 

void CSearchDlg::OnCheck10() 
{
	// TODO: Add your control notification handler code here
	m_check10=!m_check10;
	if(m_check10)
		type[5]=5;
}

void CSearchDlg::OnCheck6() 
{
	// TODO: Add your control notification handler code here
	m_check6=!m_check6;
	if(m_check6)
		type[1]=1;
	
}

void CSearchDlg::OnCheck7() 
{
	// TODO: Add your control notification handler code here
	m_check7=!m_check7;
	if(m_check7)
		type[2]=2;
	
}

void CSearchDlg::OnCheck8() 
{
	// TODO: Add your control notification handler code here
	m_check8=!m_check8;
	if(m_check8)
		type[3]=3;
	
}

void CSearchDlg::OnCheck9() 
{
	// TODO: Add your control notification handler code here SetCurSel
	m_check9=!m_check9;
	if(m_check9)
		type[4]=4;
	
}

void CSearchDlg::OnOK() 
{
	UpdateData(TRUE);
	//int k=m_ctlmonth.SetCurSel(1);
	if(m_check1==TRUE){
		//if((m_year!="\0")&&(m_year2!="\0")&&(m_month!="\0")&&(m_month2!="\0")&&(m_day!="\0")&&(m_day2!="\0")&&(m_hour!="\0")&&(m_hour2!="\0"))
		if((m_year!="\0")&&(m_year2!="\0"))
			CDialog::OnOK();
		else
			AfxMessageBox("input",MB_OK);
	}
	else
		CDialog::OnOK();  
    //CDialog::OnOK();  
}

void CSearchDlg::convert()
{
	char* zhx[8];
	//UpdateData(TRUE);
	zhx[0]=(char *)LPCTSTR(m_year);
	m_year1=atoi(zhx[0]);
	zhx[1]=(char *)LPCTSTR(m_year2);
	m_year21=atoi(zhx[1]);
	zhx[2]=(char *)LPCTSTR(m_month);
	m_month1=atoi(zhx[2]);
	zhx[3]=(char *)LPCTSTR(m_month2);
	m_month21=atoi(zhx[3]);
	zhx[4]=(char *)LPCTSTR(m_day);
	m_day1=atoi(zhx[4]);
	zhx[5]=(char *)LPCTSTR(m_day2);
	m_day21=atoi(zhx[5]);
	zhx[6]=(char *)LPCTSTR(m_hour);
	m_hour1=atoi(zhx[6]);
	zhx[7]=(char *)LPCTSTR(m_hour2);
	m_hour21=atoi(zhx[7]);
}



void CSearchDlg::InitRecord()
{
	CZhxSet set;
    if(set.IsOpen())
		set.Close();
	//set.m_strSort="recordno";
	set.Open();
	if(set.GetRecordCount()<=0)
	{ 
		set.Close();
		return;
	}
    set.MoveFirst();
	//typedef char pArray1[100];	
	//pArray1 pArray[1000]; 
	CStringArray pArray;//=new CStringArray;
	CStringArray pArray1;
	CStringArray pArray2;
	//sprintf(pArray[0],"%s",set.m_cityname);	
	char* zhx;
	char* zhx1;
	char* zhx2;
	zhx=(char *)LPCTSTR(set.m_cityname);
	zhx1=(char *)LPCTSTR(set.m_linename);
	zhx2=(char *)LPCTSTR(set.m_recordid);
	pArray.SetAtGrow(0,set.m_cityname);
	pArray1.SetAtGrow(0,set.m_linename);
	pArray2.SetAtGrow(0,set.m_recordid);
	m_combox3.AddString(zhx);
	m_combox2.AddString(zhx1);
	m_combox1.AddString(zhx2);	
	set.MoveNext();
	int i=1,k=1,m=1;
	BOOL u=TRUE,u1=TRUE,u2=TRUE;	
	while(!set.IsEOF())
	{
		int j;				
		//sprintf(pArray[i],"%s",set.m_cityname);
		u=TRUE;
		u1=TRUE;
		u2=TRUE;
		zhx=(char *)LPCTSTR(set.m_cityname);
		pArray.SetAtGrow(i,set.m_cityname);
        zhx1=(char *)LPCTSTR(set.m_linename);
		pArray1.SetAtGrow(k,set.m_linename); 
		zhx2=(char *)LPCTSTR(set.m_recordid);
		pArray2.SetAtGrow(m,set.m_recordid);
		for(j=0;j<i;j++)
		{			
			if(pArray[i]==pArray[j])
				u=FALSE;						            						
		}
		for(j=0;j<k;j++)
		{			
			if(pArray1[k]==pArray1[j])
				u1=FALSE;						            						
		}
		for(j=0;j<m;j++)
		{			
			if(pArray2[m]==pArray2[j])
				u2=FALSE;						            						
		}
		if(u){			
			m_combox3.AddString(zhx);
			i++;
		}
		if(u1){			
			m_combox2.AddString(zhx1);
			k++;
		}
		if(u2){			
			m_combox1.AddString(zhx2);
			m++;
		}
		set.MoveNext();
	}
	set.Close();
}

	

⌨️ 快捷键说明

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