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

📄 selectdialg.cpp

📁 车友管理系统 密码我也不知道 不过可以在源代码里改了 先蒋登陆设为1
💻 CPP
字号:
// SelectDialg.cpp : implementation file
//

#include "stdafx.h"
#include "车友.h"
#include "SelectDialg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CSelectDialg dialog
#include "SelectXC.h"
#include "SelectRQ.h"

CSelectDialg::CSelectDialg(CWnd* pParent /*=NULL*/)
	: CDialog(CSelectDialg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSelectDialg)
	m_strcllx = _T("所有...");
	m_strclys = _T("所有...");
	m_strczxm = _T("所有...");
	m_strcphm = _T("所有...");
	m_strczdh = _T("所有...");
	m_strczdz = _T("所有...");
	m_strbznr = _T("所有...");
	m_strFilter = _T("所有...");
	m_strSort	= _T("所有...");
	m_strgjcx = _T("Select * from CarsDataBase Where ...");
	//}}AFX_DATA_INIT
}


void CSelectDialg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSelectDialg)
	DDX_Control(pDX, IDC_SC_DIZD, m_cdyzd);
	DDX_Control(pDX, IDC_SC_DEZD, m_cdezd);
	DDX_Control(pDX, IDC_SC_CLXC, m_cclcx);
	DDX_Control(pDX, IDC_SC_SCZK, m_csczd);
	DDX_Control(pDX, IDC_SC_CCRQ, m_cccrq);
	DDX_Control(pDX, IDC_SC_GSYC, m_cgsyc);
	DDX_Control(pDX, IDC_SR_JQPP, m_rjqpp);
	DDX_Control(pDX, IDC_SR_MHPP, m_rmhpp);
	DDX_Control(pDX, IDC_SR_HZZH, m_rhzzh);
	DDX_Control(pDX, IDC_SR_BQZH, m_rbqzh);
	DDX_CBString(pDX, IDC_SC_CLLX, m_strcllx);
	DDX_CBString(pDX, IDC_SC_CLYS, m_strclys);
	DDX_CBString(pDX, IDC_SC_CZXM, m_strczxm);
	DDX_CBString(pDX, IDC_SC_CPHM, m_strcphm);
	DDX_CBString(pDX, IDC_SC_CZDH, m_strczdh);
	DDX_CBString(pDX, IDC_SC_CZDZ, m_strczdz);
	DDX_CBString(pDX, IDC_SC_BZNR, m_strbznr);
	DDX_Text(pDX, IDC_E_GJCX, m_strgjcx);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSelectDialg, CDialog)
	//{{AFX_MSG_MAP(CSelectDialg)
	ON_BN_CLICKED(IDC_B_MRXX, OnBMrxx)
	ON_BN_CLICKED(IDC_SCK_GJCX, OnSckGjcx)
	ON_CBN_SELCHANGE(IDC_SC_CCRQ, OnSelchangeScCcrq)
	ON_CBN_SELCHANGE(IDC_SC_CLXC, OnSelchangeScCllx)
	ON_BN_CLICKED(IDC_SR_BQZH, OnSrBqzh)
	ON_BN_CLICKED(IDC_SR_HZZH, OnSrHzzh)
	ON_BN_CLICKED(IDC_SR_JQPP, OnSrJqpp)
	ON_BN_CLICKED(IDC_SR_MHPP, OnSrMhpp)
	ON_CBN_SELCHANGE(IDC_SC_DIZD, OnSelchangeScDizd)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

void CSelectDialg::GetSelectInfo(CString& strFilter, CString& strSort)
{
	strFilter	= m_strFilter;
	strSort		= m_strSort;
}
/////////////////////////////////////////////////////////////////////////////
// CSelectDialg message handlers

void CSelectDialg::OnOK() 
{
	CString strppms;
	CString strzhms;
	CString strtemp = _T("");
	BOOL	bflag	= FALSE;


	UpdateData(TRUE);

	if(CheckString(m_strcllx) || CheckString(m_strclys) || CheckString(m_strczxm) || CheckString(m_strczdh) || CheckString(m_strczdz) || CheckString(m_strbznr) || CheckString(m_strcphm))
	{
		AfxMessageBox("输入的查询信息中包涵非法字符,请重新输入。\n非法字符包括:[ ] ' % # \" ",MB_OK|MB_ICONSTOP);
		return;
	}
	
	m_strFilter = _T("");
	m_strSort	= _T("");

	if(m_rmhpp.GetCheck())
	{
		strppms		= _T(" LIKE ");
		m_strcllx	= "'%%"+m_strcllx+"%%'";
		m_strclys	= "'%%"+m_strclys+"%%'";
		m_strczxm	= "'%%"+m_strczxm+"%%'";
		m_strczdh	= "'%%"+m_strczdh+"%%'";
		m_strczdz	= "'%%"+m_strczdz+"%%'";
		m_strbznr	= "'%%"+m_strbznr+"%%'";
		m_strcphm	= "'%%"+m_strcphm+"%%'";
	}
	else
	{
		strppms = _T(" = ");
		m_strcllx	= "'"+m_strcllx+"'";
		m_strclys	= "'"+m_strclys+"'";
		m_strczxm	= "'"+m_strczxm+"'";
		m_strczdh	= "'"+m_strczdh+"'";
		m_strczdz	= "'"+m_strczdz+"'";
		m_strbznr	= "'"+m_strbznr+"'";
		m_strcphm	= "'"+m_strcphm+"'";
	}
	strzhms = (m_rbqzh.GetCheck())?(_T(" AND ")):(_T(" OR "));

	if((((CComboBox *)GetDlgItem(IDC_SC_CLLX))->GetCurSel() != 0) && (!m_strcllx.IsEmpty()))
	{
		strtemp = "strtype"+strppms+m_strcllx;
		m_strFilter = strtemp;
		bflag = TRUE;
	}
	if(m_cgsyc.GetCurSel() != 0)
	{
		strtemp.Format("bgs = %s",((m_cgsyc.GetCurSel()==1)?_T("true"):_T("false")));
		m_strFilter += bflag?(strzhms+strtemp):strtemp;
		bflag = TRUE;
	}
	if(m_csczd.GetCurSel() != 0)
	{
		strtemp.Format("bsc = %s",((m_csczd.GetCurSel()==1)?_T("true"):_T("false")));
		m_strFilter += bflag?(strzhms+strtemp):strtemp;
		bflag = TRUE;
	}
	if((((CComboBox *)GetDlgItem(IDC_SC_CLYS))->GetCurSel() != 0) && (!m_strclys.IsEmpty()))
	{
		strtemp = "strcolor"+strppms+m_strclys;
		m_strFilter += bflag?(strzhms+strtemp):strtemp;
		bflag = TRUE;
	}
	if((((CComboBox *)GetDlgItem(IDC_SC_CZXM))->GetCurSel() != 0) && (!m_strczxm.IsEmpty()))
	{
		strtemp = "strczname"+strppms+m_strczxm;
		m_strFilter += bflag?(strzhms+strtemp):strtemp;
		bflag = TRUE;
	}
	if((((CComboBox *)GetDlgItem(IDC_SC_CPHM))->GetCurSel() != 0) && (!m_strcphm.IsEmpty()))
	{
		strtemp = "strnumber"+strppms+m_strcphm;
		m_strFilter += bflag?(strzhms+strtemp):strtemp;
		bflag = TRUE;
	}
	if((((CComboBox *)GetDlgItem(IDC_SC_CZDH))->GetCurSel() != 0) && (!m_strczdh.IsEmpty()))
	{
		strtemp = "strcztel"+strppms+m_strczdh;
		m_strFilter += bflag?(strzhms+strtemp):strtemp;
		bflag = TRUE;
	}
	if((((CComboBox *)GetDlgItem(IDC_SC_BZNR))->GetCurSel() != 0) && (!m_strbznr.IsEmpty()))
	{
		strtemp = "strbz"+strppms+m_strbznr;
		m_strFilter += bflag?(strzhms+strtemp):strtemp;
		bflag = TRUE;
	}
	if((((CComboBox *)GetDlgItem(IDC_SC_CZDZ))->GetCurSel() != 0) && (!m_strczdz.IsEmpty()))
	{
		strtemp = "strczdz"+strppms+m_strczdz;
		m_strFilter += bflag?(strzhms+strtemp):strtemp;
		bflag = TRUE;
	}
	if(m_cclcx.GetCurSel() != 0)
	{
		m_strFilter += bflag?(strzhms+m_strxc):m_strxc;
	}
	if(m_cccrq.GetCurSel() != 0)
	{
		m_strFilter += bflag?(strzhms+m_strtime):m_strtime;
	}
	if(m_cdyzd.GetCurSel() != 0)
	{
		TCHAR * strzd[] = { _T(""),_T("[strnumber]"),_T("[strtype]"),_T("[bgs]"),_T("[strcolor]"),_T("[strczname]"),_T("[strcztel]"),_T("[strczdz]"),_T("[ixc]") };
		m_strSort  = strzd[m_cdyzd.GetCurSel()];
		m_strSort += (m_cdezd.GetCurSel())?_T(" DESC"):_T(" ASC");
	}
	CDialog::OnOK();
}

void CSelectDialg::OnBMrxx() 
{
	m_strFilter = _T("");
	m_strSort	= _T("");
	((CComboBox*)GetDlgItem(IDC_SC_CLLX))->SetCurSel(0);
	((CComboBox*)GetDlgItem(IDC_SC_CLYS))->SetCurSel(0);
	((CComboBox*)GetDlgItem(IDC_SC_CZXM))->SetCurSel(0);
	((CComboBox*)GetDlgItem(IDC_SC_CPHM))->SetCurSel(0);
	((CComboBox*)GetDlgItem(IDC_SC_CZDH))->SetCurSel(0);
	((CComboBox*)GetDlgItem(IDC_SC_CZDZ))->SetCurSel(0);
	((CComboBox*)GetDlgItem(IDC_SC_BZNR))->SetCurSel(0);
	m_cccrq.SetCurSel(0);
	m_cclcx.SetCurSel(0);
	m_cdezd.SetCurSel(0);
	m_cdyzd.SetCurSel(0);
	m_cgsyc.SetCurSel(0);
	m_csczd.SetCurSel(0);
	m_rmhpp.SetCheck(TRUE);
	m_rjqpp.SetCheck(FALSE);
	m_rbqzh.SetCheck(TRUE);
	m_rhzzh.SetCheck(FALSE);
	GetDlgItem(IDC_SC_DEZD)->EnableWindow(FALSE);
}
void CSelectDialg::OnSckGjcx() 
{
	AfxMessageBox("对不起,本软件在免费版本中未提供该功能。",MB_OK|MB_ICONINFORMATION);
}
void CSelectDialg::OnSelchangeScCcrq() 
{
	int s = m_cccrq.GetCurSel();
	switch(s)
	{
	case 0:
		m_strtime.Empty();
		break;
	case 1:
		{
			CSelectRQ dlg;
			if(dlg.DoModal() == IDOK)
			{
				dlg.GetTimeInfo(m_strtime);
			}
			else
			{
				m_strxc.Empty();
				m_cccrq.SetCurSel(0);
			}
		}
		break;
	}
}
void CSelectDialg::OnSelchangeScCllx()
{
	int s = m_cclcx.GetCurSel();
	switch(s)
	{
	case 0:
		m_strxc.Empty();
		break;
	case 1:
		m_strxc = _T("ixc < 10000.00");
		break;
	case 2:
		m_strxc = _T("ixc > 10000.00 AND ixc < 20000.00");
		break;
	case 3:
		m_strxc = _T("ixc > 20000.00");
		break;
	case 4:
		{
			CSelectXC dlg;
			if(dlg.DoModal() == IDOK)
			{
				dlg.GetSelectInfo(m_strxc);
			}
			else
			{
				m_strxc.Empty();
				m_cclcx.SetCurSel(0);
			}
		}
		break;
	}
}
BOOL CSelectDialg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	m_cccrq.SetCurSel(0);
	m_cclcx.SetCurSel(0);
	m_cdezd.SetCurSel(0);
	m_cdyzd.SetCurSel(0);
	m_cgsyc.SetCurSel(0);
	m_csczd.SetCurSel(0);
	m_rmhpp.SetCheck(TRUE);
	m_rjqpp.SetCheck(FALSE);
	m_rbqzh.SetCheck(TRUE);
	m_rhzzh.SetCheck(FALSE);
	GetDlgItem(IDC_SC_DEZD)->EnableWindow(FALSE);
	return TRUE;
}

void CSelectDialg::OnSrBqzh() 
{
	m_rhzzh.SetCheck(FALSE);
	m_rbqzh.SetCheck(TRUE);
}

void CSelectDialg::OnSrHzzh() 
{
	m_rbqzh.SetCheck(FALSE);
	m_rhzzh.SetCheck(TRUE);
}

void CSelectDialg::OnSrJqpp() 
{
	m_rmhpp.SetCheck(FALSE);
	m_rjqpp.SetCheck(TRUE);
}

void CSelectDialg::OnSrMhpp() 
{
	m_rjqpp.SetCheck(FALSE);
	m_rmhpp.SetCheck(TRUE);
}

void CSelectDialg::OnSelchangeScDizd() 
{
	GetDlgItem(IDC_SC_DEZD)->EnableWindow(m_cdyzd.GetCurSel());
}
BOOL CSelectDialg::CheckString(CString& str)
{
	char badchar[] = "[]'\"#%";
	int i;
	for(i=0;i<6;i++)
	{
		if(str.Find(badchar[i]) != -1)
			return TRUE;
	}
	return FALSE;
}

⌨️ 快捷键说明

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