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

📄 table1dialog.cpp

📁 VC6开发的用于进行色谱分析的示例
💻 CPP
字号:
// table1Dialog.cpp : implementation file
//

#include "stdafx.h"
#include "MyWork.h"
#include "table1Dialog.h"
#include "Set1.h"
#include "picDialog.h"
#include "delDialog.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// Ctable1Dialog dialog


Ctable1Dialog::Ctable1Dialog(CWnd* pParent /*=NULL*/)
	: CDialog(Ctable1Dialog::IDD, pParent)
{
	//{{AFX_DATA_INIT(Ctable1Dialog)
	m_bname = _T("");
	m_cname = _T("");
	m_cz = _T("");
	m_ename = _T("");
	m_fz = _T("");
	m_gnzz = _T("");
	m_hxcf = _T("");
	m_jname = _T("");
	m_ly = _T("");
	m_pathname = _T("");
	m_xw = _T("");
	m_xz = _T("");
	m_zwxt = _T("");
	m_set1=NULL;
	m_count1 = 0;
	//}}AFX_DATA_INIT
}


void Ctable1Dialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(Ctable1Dialog)
	DDX_Control(pDX, IDC_COMBO_JNAME, m_comboj);
	DDX_Control(pDX, IDC_COMBO_ENAME, m_comboe);
	DDX_Control(pDX, IDC_COMBO_CNAME, m_comboc);
	DDX_Control(pDX, IDC_COMBO_BNAME, m_combob);
	DDX_Control(pDX, IDC_COMBO_HXCF, m_combo4);
	DDX_Control(pDX, IDC_COMBO_CZ, m_combo3);
	DDX_Control(pDX, IDC_COMBO_XW, m_combo2);
	DDX_Control(pDX, IDC_COMBO_GNZZ, m_combo1);
	DDX_Control(pDX, IDC_CHECK_HXCF, m_concheck4);
	DDX_Control(pDX, IDC_CHECK_CZ, m_concheck3);
	DDX_Control(pDX, IDC_CHECK_XW, m_concheck2);
	DDX_Control(pDX, IDC_CHECK_GNZZ, m_concheck1);
	DDX_Text(pDX, IDC_EDIT_BNAME, m_bname);
	DDX_Text(pDX, IDC_EDIT_CNAME, m_cname);
	DDX_Text(pDX, IDC_EDIT_CZ, m_cz);
	DDX_Text(pDX, IDC_EDIT_ENAME, m_ename);
	DDX_Text(pDX, IDC_EDIT_FZ, m_fz);
	DDX_Text(pDX, IDC_EDIT_GNZZ, m_gnzz);
	DDX_Text(pDX, IDC_EDIT_HXCF, m_hxcf);
	DDX_Text(pDX, IDC_EDIT_JNAME, m_jname);
	DDX_Text(pDX, IDC_EDIT_LY, m_ly);
	DDX_Text(pDX, IDC_EDIT_PATHNAME, m_pathname);
	DDX_Text(pDX, IDC_EDIT_XW, m_xw);
	DDX_Text(pDX, IDC_EDIT_XZ, m_xz);
	DDX_Text(pDX, IDC_EDIT_ZWXT, m_zwxt);
	DDX_Text(pDX, IDC_COUNT, m_count1);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(Ctable1Dialog, CDialog)
	//{{AFX_MSG_MAP(Ctable1Dialog)
	ON_BN_CLICKED(IDC_CAXUN, OnCaxun)
	ON_BN_CLICKED(IDC_PICXIANSI, OnPicxiansi)
	ON_BN_CLICKED(IDC_LIULAN, OnLiulan)
	ON_COMMAND(ID_ATTRI_ALTER, OnAttriAlter)
	ON_COMMAND(ID_ATTRI_DELETE, OnAttriDelete)
	ON_COMMAND(ID_ATTRI_MOVEFIRST, OnAttriMovefirst)
	ON_COMMAND(ID_ATTRI_MOVELAST, OnAttriMovelast)
	ON_COMMAND(ID_ATTRI_MOVENEXT, OnAttriMovenext)
	ON_COMMAND(ID_ATTRI_MOVEPRE, OnAttriMovepre)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// Ctable1Dialog message handlers

BOOL Ctable1Dialog::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	btn[0].iBitmap=0;
	btn[0].idCommand=ID_ATTRI_MOVEFIRST;
	btn[0].fsState=TBSTATE_ENABLED;
	btn[0].fsStyle=TBSTYLE_BUTTON;
	btn[0].dwData=0;
	btn[0].iString=0;
	
	btn[1].iBitmap=1;
	btn[1].idCommand=ID_ATTRI_MOVEPRE;
	btn[1].fsState=TBSTATE_ENABLED;
	btn[1].fsStyle=TBSTYLE_BUTTON;
	btn[1].dwData=0;
	btn[1].iString=1;

	btn[2].iBitmap=2;
	btn[2].idCommand=ID_ATTRI_MOVENEXT;
	btn[2].fsState=TBSTATE_ENABLED;
	btn[2].fsStyle=TBSTYLE_BUTTON;
	btn[2].dwData=0;
	btn[2].iString=2;

	btn[3].iBitmap=3;
	btn[3].idCommand=ID_ATTRI_MOVELAST;
	btn[3].fsState=TBSTATE_ENABLED;
	btn[3].fsStyle=TBSTYLE_BUTTON;
	btn[3].dwData=0;
	btn[3].iString=3;

	btn[4].iBitmap=4;
	btn[4].idCommand=ID_ATTRI_ALTER;
	btn[4].fsState=TBSTATE_ENABLED;
	btn[4].fsStyle=TBSTYLE_BUTTON;
	btn[4].dwData=0;
	btn[4].iString=4;

	btn[5].iBitmap=5;
	btn[5].idCommand=ID_ATTRI_DELETE;
	btn[5].fsState=TBSTATE_ENABLED;
	btn[5].fsStyle=TBSTYLE_BUTTON;
	btn[5].dwData=0;
	btn[5].iString=5;
	
	btn[6].iBitmap=6;
	btn[6].idCommand=ID_ATTRI_CLOSE;
	btn[6].fsState=TBSTATE_ENABLED;
	btn[6].fsStyle=TBSTYLE_BUTTON;
	btn[6].dwData=0;
	btn[6].iString=6;

  


    m_toolbarCtrl=NULL;
	VERIFY(m_toolbarCtrl==NULL);
	m_toolbarCtrl=new CToolBarCtrl();

	CRect wndRect;
	GetWindowRect(&wndRect);

	CRect rc(40,10,220,40);
	m_toolbarCtrl->Create(TBSTYLE_TOOLTIPS |WS_CHILD | WS_VISIBLE | CCS_TOP| CCS_NORESIZE|CCS_NODIVIDER,rc,this,5);
	m_toolbarCtrl->AddButtons(7,btn);
	m_toolbarCtrl->AddBitmap(1,IDR_MYTOOLBAR);
    m_toolbarCtrl->AutoSize();
	//m_toolbarCtrl->ShowWindow(false);*/
	flag=false;
	CEdit  *ptr=((CEdit*)GetDlgItem(IDC_EDIT_CNAME));
	ptr->SetReadOnly(true);
	

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void Ctable1Dialog::OnCaxun() 
{
	// TODO: Add your control notification handler code here
	//查询条件
	 int n1,n2,n3,n4;
	 n1=0;
	 n2=0;
	 n3=0;
	 n4=0;
     CString str;
	 CString temp;
	 CString lg;
     //判断查询类型:
	 UINT nradio1=GetCheckedRadioButton(IDC_RADIO_GUANJIANGZI,IDC_RADIO_FUHE);
switch (nradio1)
 {
	 //如果是复合查询:
  case  IDC_RADIO_FUHE:
	{
	 UINT nradio=GetCheckedRadioButton(IDC_RADIO_YU,IDC_RADIO_HUO);
	//判断选择了什么运算符
	     switch (nradio)
		 {
	       case IDC_RADIO_YU: lg="and"; break;
	       case IDC_RADIO_HUO: lg="or"; break;
           default:
			   {
                 n1=m_concheck1.GetCheck();			 
				 n2=m_concheck2.GetCheck();	
				 n3=m_concheck3.GetCheck();	
				 n4=m_concheck4.GetCheck();	
				   if ((n1+n2+n3+n4)>=2)
				   {
					   MessageBox("你没有选择运算关系,请选择逻辑关系!","错误操作!",MB_ICONINFORMATION);
			           goto label;
				   }
				   else
					   if ((n1+n2+n3+n4)==0)
					   {
						   MessageBox("你没有选择运算关系和查询条件,请选择逻辑关系!","错误操作!",MB_ICONINFORMATION);
						   goto label;
					   }		
			   }
		 }    //end switch (nradio)
	     //MessageBox(lg);

		 n1=m_concheck1.GetCheck();			 
				 n2=m_concheck2.GetCheck();	
				 n3=m_concheck3.GetCheck();	
				 n4=m_concheck4.GetCheck();	
      if ((n1+n2+n3+n4)==0)
	  {
	     MessageBox("你没有选择查询条件,请选择逻辑关系!","错误操作!");
	     goto label;
	   }	
	  // 判断复合选项
	      if (m_concheck1.GetCheck())
		  {
		   m_combo1.GetWindowText(temp);
		   str+=" herbal_gnzz like'%"+temp+"%'";
		   str+=lg;
		  }
	      if (m_concheck2.GetCheck())
		  {
		   m_combo2.GetWindowText(temp);
		   str+=" herbal_xw like'%"+temp+"%'";
		   str+=lg;
		  }
	     if (m_concheck3.GetCheck())
		 {
		   m_combo3.GetWindowText(temp);
		   str+=" herbal_cz like'%"+temp+"%'";
		   str+=lg;
		 }
	     if (m_concheck4.GetCheck())
		 {
		   m_combo4.GetWindowText(temp);
		   str+=" herbal_hxcf like'%"+temp+"%'";
		   str+=lg;
		 }
	    if (lg=="and") 
		   str=str.Left(str.GetLength()-3);
	     else if (lg=="or")
		   str=str.Left(str.GetLength()-2);
	 //  str="select * from herbal_sun where "+str;
     //    MessageBox(str);      //测试查询条件
	    break;

	}  //  end case fuhe
 case IDC_RADIO_GUANJIANGZI:
	 {
		//判断选择中药材名称
	  UINT nradio2=GetCheckedRadioButton(IDC_RADIO_CNAME,IDC_RADIO_ENAME);
       switch (nradio2)
	   {
	     case IDC_RADIO_CNAME: 
			 {
			   m_comboc.GetWindowText(temp);
			   str="name_c='"+temp+"'";
			 //  MessageBox(str); // str+=lg;
			   break;
			 }
	     case IDC_RADIO_ENAME: 
			 {
			   m_comboe.GetWindowText(temp);
		       str="name_e='"+temp+"'";
             //  MessageBox(str);
			   break;
			 }
         default : //break;
	  //111111 }     
			 {         /////111111111
	           UINT nradio3=GetCheckedRadioButton(IDC_RADIO_JNAME,IDC_RADIO_BNAME);
	      switch (nradio3)
		   {
	       case IDC_RADIO_JNAME: 
			   {
			   m_comboj.GetWindowText(temp);
		       str="name_j='"+temp+"'";
             //  MessageBox(str);
			   break;
			 }
	       case IDC_RADIO_BNAME: 
			 {
			   m_combob.GetWindowText(temp);
		       str="name_b like'%"+temp+"%'";
            //  MessageBox(str);// str+=lg;
			   break;
			 }
		  default:  MessageBox("你没有选择关键字,请重新选择!","操作失败!",MB_ICONINFORMATION); goto label;//break;
		  }   //  end switch(nradio3)
			 }///111111       end switch(nradio2)  default:
	   }////11111   end switch(nradio2)
	break;
	 }  //  end  case guanjianzi 
         default: 
			 MessageBox("你没有输入查询条件,将查询所有记录,请等待!","查询操作!",MB_ICONINFORMATION); break;
}  //end switch(nradio1)
   	 //记录操作:
    
	 m_set1=new Set1(&db);
	
	 m_set1->m_strFilter=str;

	 m_set1->Open();
	 flag=true;
	 if (!m_set1->IsBOF())
		 m_set1->MoveFirst();
	 while (!m_set1->IsEOF())
		 m_set1->MoveNext();
	 nCnt1=m_set1->GetRecordCount();
	 m_count1=nCnt1;
	 m_set1->MoveFirst();
	 m_cname=m_set1->m_name_c;
	 m_ename=m_set1->m_name_e;
	 m_jname=m_set1->m_name_j;
	 m_bname=m_set1->m_name_b;
	 m_ly=m_set1->m_herbal_ly;
	 m_cz=m_set1->m_herbal_cz;
	 m_gnzz=m_set1->m_herbal_gnzz;
	 m_hxcf=m_set1->m_herbal_hxcf;
	 m_xz=m_set1->m_herbal_xz;
	 m_xw=m_set1->m_herbal_xw;
	 m_fz=m_set1->m_herbal_fz;
     m_pathname=m_set1->m_herbal_pathname;
	 m_zwxt=m_set1->m_herbal_zwxt;
	 UpdateData(false);
label: n1=n1;    

}





void Ctable1Dialog::OnOK() 
{
	// TODO: Add extra validation here
  if (flag)
  {
	if (m_set1->IsOpen())	
	{
      //MessageBox("记录集此时打开");	
		m_set1->Close();
		delete m_set1;
		
	}
  }
	
	CDialog::OnOK();
}

void Ctable1Dialog::OnPicxiansi() 
{
	// TODO: Add your control notification handler code here
	CpicDialog dlg;
	dlg.Getpath(m_pathname);
	dlg.DoModal();
}



void Ctable1Dialog::OnLiulan() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);  //////保存之前修改的记录
	CFileDialog dlg(TRUE,_T("BMP"),_T("*.BMP"),OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,_T("文本文件(*.BMP)|*.BMP|"));
	if(IDOK==dlg.DoModal())
	{
       	
		Bmpname.Format("%s",dlg.GetPathName());
		m_pathname=Bmpname;
		UpdateData(false);
	}
	
}

void Ctable1Dialog::OnAttriAlter() 
{
	// TODO: Add your command handler code here
		if (flag)
	{
   
    m_set1->Edit();
	UpdateData(true);
	m_set1->m_name_b=m_bname;
	m_set1->m_name_c=m_cname;
	m_set1->m_name_j=m_jname;
	m_set1->m_name_e=m_ename;
	m_set1->m_herbal_ly=m_ly;
	m_set1->m_herbal_zwxt=m_zwxt;
	m_set1->m_herbal_hxcf=m_hxcf;
	m_set1->m_herbal_gnzz=m_gnzz;
	m_set1->m_herbal_xw=m_xw;
    m_set1->m_herbal_fz=m_fz;
	m_set1->m_herbal_pathname=m_pathname;
    m_set1->m_herbal_cz=m_cz;
	m_set1->m_herbal_xz=m_xz;
	m_set1->Update();
///	m_set1->Requery();///////////后添加
	MessageBox("edit a record!");
	}
	else MessageBox("此前记录没有,请先选择打开记录!","操作失败!",MB_ICONQUESTION);
}

void Ctable1Dialog::OnAttriDelete() 
{
	// TODO: Add your command handler code here
	CdelDialog dlg;
  if (flag)
  {
    if(dlg.DoModal()==IDOK)
	{

	m_set1->Delete();
    m_set1->MoveNext();
	m_set1->Requery();
    m_bname=m_set1->m_name_b;
	m_cname=m_set1->m_name_c;
	m_jname=m_set1->m_name_j;
	m_ename=m_set1->m_name_e;
	m_ly=m_set1->m_herbal_ly;
	m_zwxt=m_set1->m_herbal_zwxt;
	m_gnzz=m_set1->m_herbal_gnzz;
	m_hxcf=m_set1->m_herbal_hxcf;
	m_xw=m_set1->m_herbal_xw;
	m_fz=m_set1->m_herbal_fz;
	m_pathname=m_set1->m_herbal_pathname;
    m_cz=m_set1->m_herbal_cz;
	m_xz=m_set1->m_herbal_xz;
	nCnt1=nCnt1-1;
	m_count1=nCnt1;
	UpdateData(false);
	}
  }
   else MessageBox("此前没有记录,请先选择打开记录!","操作失败!",MB_ICONQUESTION);
}

void Ctable1Dialog::OnAttriMovefirst() 
{
	// TODO: Add your command handler code here
	 if (flag)
	 {
	
     m_set1->MoveFirst();
	 m_cname=m_set1->m_name_c;
	 m_ename=m_set1->m_name_e;
	 m_jname=m_set1->m_name_j;
	 m_bname=m_set1->m_name_b;
	 m_ly=m_set1->m_herbal_ly;
	 m_cz=m_set1->m_herbal_cz;
	 m_gnzz=m_set1->m_herbal_gnzz;
	 m_hxcf=m_set1->m_herbal_hxcf;
	 m_xz=m_set1->m_herbal_xz;
	 m_xw=m_set1->m_herbal_xw;
	 m_fz=m_set1->m_herbal_fz;
     m_pathname=m_set1->m_herbal_pathname;
	 m_zwxt=m_set1->m_herbal_zwxt;
	 UpdateData(false);
	}
	else
	    MessageBox("此前没有记录,请选择打开记录!","操作失败!",MB_ICONQUESTION);
}

void Ctable1Dialog::OnAttriMovelast() 
{
	// TODO: Add your command handler code here
	if (flag) 
	{
	
     m_set1->MoveLast();
	 m_cname=m_set1->m_name_c;
	 m_ename=m_set1->m_name_e;
	 m_jname=m_set1->m_name_j;
	 m_bname=m_set1->m_name_b;
	 m_ly=m_set1->m_herbal_ly;
	 m_cz=m_set1->m_herbal_cz;
	 m_gnzz=m_set1->m_herbal_gnzz;
	 m_hxcf=m_set1->m_herbal_hxcf;
	 m_xz=m_set1->m_herbal_xz;
	 m_xw=m_set1->m_herbal_xw;
	 m_fz=m_set1->m_herbal_fz;
     m_pathname=m_set1->m_herbal_pathname;
	 m_zwxt=m_set1->m_herbal_zwxt;
	 UpdateData(false);
	}
		else
		MessageBox("此前没有记录,请选择打开记录!","操作失败!",MB_ICONQUESTION);	
}

void Ctable1Dialog::OnAttriMovenext() 
{
	// TODO: Add your command handler code here
	if (flag)
	{

     m_set1->MoveNext();
	 if (m_set1->IsEOF())
	 {
		 m_set1->MoveLast();
		 MessageBox("记录移到最后!","移动记录!",MB_ICONINFORMATION);
	 }
	 m_cname=m_set1->m_name_c;
	 m_ename=m_set1->m_name_e;
	 m_jname=m_set1->m_name_j;
	 m_bname=m_set1->m_name_b;
	 m_ly=m_set1->m_herbal_ly;
	 m_cz=m_set1->m_herbal_cz;
	 m_gnzz=m_set1->m_herbal_gnzz;
	 m_hxcf=m_set1->m_herbal_hxcf;
	 m_xz=m_set1->m_herbal_xz;
	 m_xw=m_set1->m_herbal_xw;
	 m_fz=m_set1->m_herbal_fz;
     m_pathname=m_set1->m_herbal_pathname;
	 m_zwxt=m_set1->m_herbal_zwxt;
	 UpdateData(false);
	}
	else
		MessageBox("此前没有记录,请选择打开记录!","操作失败!",MB_ICONQUESTION);	
}

void Ctable1Dialog::OnAttriMovepre() 
{
	// TODO: Add your command handler code here
 if (flag)
  {

     m_set1->MovePrev();
	 if (m_set1->IsBOF())
	 {
		 m_set1->MoveFirst();
		 MessageBox("记录移到最前!","移动记录!",MB_ICONINFORMATION);
	 }
	 m_cname=m_set1->m_name_c;
	 m_ename=m_set1->m_name_e;
	 m_jname=m_set1->m_name_j;
	 m_bname=m_set1->m_name_b;
	 m_ly=m_set1->m_herbal_ly;
	 m_cz=m_set1->m_herbal_cz;
	 m_gnzz=m_set1->m_herbal_gnzz;
	 m_hxcf=m_set1->m_herbal_hxcf;
	 m_xz=m_set1->m_herbal_xz;
	 m_xw=m_set1->m_herbal_xw;
	 m_fz=m_set1->m_herbal_fz;
     m_pathname=m_set1->m_herbal_pathname;
	 m_zwxt=m_set1->m_herbal_zwxt;
	 UpdateData(false);
   }
   	else
		MessageBox("此前没有记录,请选择打开记录!","操作失败!",MB_ICONQUESTION);	
}

⌨️ 快捷键说明

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