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

📄 page5.cpp

📁 UG调用的动态链接数据库
💻 CPP
字号:
// Page5.cpp : implementation file
//

#include "stdafx.h"
#include "HiCut.h"
#include "Page5.h"
#include "Data_Parameter.h"
#include "Data_Machine.h"
#include "Data_Material.h"
#include "Data_Tool.h"
#include "Delpardlg.h"
#include "Dialog_EditParameter.h"
#include "Dialog_QueryParameter.h"

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

/////////////////////////////////////////////////////////////////////////////
// CPage5 property page

IMPLEMENT_DYNCREATE(CPage5, CPropertyPage)

CPage5::CPage5() : CPropertyPage(CPage5::IDD)
{
	//{{AFX_DATA_INIT(CPage5)
	m_cutdepth = 0;
	m_cutspeed = 0;
	m_feedrate = 0;
	m_stepover = 0;
	//}}AFX_DATA_INIT
}

CPage5::~CPage5()
{
}

void CPage5::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CPage5)
	DDX_Control(pDX, IDC_SURFACE, m_com_surface);
	DDX_Control(pDX, IDC_TOOLPATH, m_com_toolpath);
	DDX_Control(pDX, IDC_COM_KEXINDU, m_com_kexindu);
	DDX_Control(pDX, IDC_TOOLNAME, m_com_toolname);
	DDX_Control(pDX, IDC_LIST_PARAMETER, m_listctrl);
	DDX_Control(pDX, IDC_MATERIAL, m_com_material);
	DDX_Control(pDX, IDC_MACHINE, m_com_machine);
	DDX_Text(pDX, IDC_CUTDEPTH, m_cutdepth);
	DDX_Text(pDX, IDC_CUTSPEED, m_cutspeed);
	DDX_Text(pDX, IDC_FEEDRATE, m_feedrate);
	DDX_Text(pDX, IDC_STEPOVER, m_stepover);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CPage5, CPropertyPage)
	//{{AFX_MSG_MAP(CPage5)
	ON_BN_CLICKED(IDC_BUTTON1, OnADD)
	ON_BN_CLICKED(IDC_DELETE, OnDelete)
	ON_BN_CLICKED(IDC_EDIT, OnEdit)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPage5 message handlers

void CPage5::OnADD() 
{
	m_listctrl.DeleteAllItems();
	CData_Parameter *m_recordset = new CData_Parameter(&m_database);
	CString strSQL;	
    strSQL.Format("select * from 切削参数表");
	m_recordset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
	CString m_machine,m_material,m_toolname,m_toolpath,m_surface,m_kexindu;
	m_com_machine.GetWindowText(m_machine);
	m_com_material.GetWindowText(m_material);
	m_com_toolname.GetWindowText(m_toolname);
	m_com_toolpath.GetWindowText(m_toolpath);
	m_com_surface.GetWindowText(m_surface);
	m_com_kexindu.GetWindowText(m_kexindu);
	UpdateData(TRUE);
	m_recordset->AddNew();
	m_recordset->m_column2=m_machine;
	m_recordset->m_column3=m_material;
	m_recordset->m_column4=m_toolname;
	m_recordset->m_column5=m_surface;
	m_recordset->m_column6=m_toolpath;
	m_recordset->m_column7=m_cutspeed;
	m_recordset->m_column8=m_cutdepth;
	m_recordset->m_column9=m_feedrate;
	m_recordset->m_column10=m_stepover;
	m_recordset->m_column11=m_kexindu;
	m_recordset->Update();
    m_database.Close();
	m_listctrl.DeleteAllItems();
    this->Show();	

}

BOOL CPage5::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();
	CData_Parameter *m_recordset = new CData_Parameter(&m_database);
	m_recordset->Open(AFX_DB_USE_DEFAULT_TYPE,"[切削参数表]");
	m_listctrl.SetExtendedStyle(LVS_EX_GRIDLINES);
	m_listctrl.SetBkColor(RGB(0xFF,0xff,0xFF));
	m_listctrl.InsertColumn(0,"编号",LVCFMT_LEFT,-1,-1);
	m_listctrl.SetColumnWidth(0,50);
	m_listctrl.InsertColumn(1,"机床名称",LVCFMT_LEFT,-1,-1);
	m_listctrl.SetColumnWidth(1,100);
	m_listctrl.InsertColumn(2,"材料类型",LVCFMT_LEFT,-1,-1);
	m_listctrl.SetColumnWidth(2,100);
	m_listctrl.InsertColumn(3,"刀具名称",LVCFMT_LEFT,-1,-1);
	m_listctrl.SetColumnWidth(3,120);
	m_listctrl.InsertColumn(4,"曲面特征",LVCFMT_LEFT,-1,-1);
	m_listctrl.SetColumnWidth(4,150);
	m_listctrl.InsertColumn(5,"走刀方式",LVCFMT_LEFT,-1,-1);
	m_listctrl.SetColumnWidth(5,70);
	m_listctrl.InsertColumn(6,"切削速度",LVCFMT_LEFT,-1,-1);
	m_listctrl.SetColumnWidth(6,70);
	m_listctrl.InsertColumn(7,"切削深度",LVCFMT_LEFT,-1,-1);
	m_listctrl.SetColumnWidth(7,70);
	m_listctrl.InsertColumn(8,"进给速度",LVCFMT_LEFT,-1,-1);
	m_listctrl.SetColumnWidth(8,70);
	m_listctrl.InsertColumn(9,"步距",LVCFMT_LEFT,-1,-1);
	m_listctrl.SetColumnWidth(9,70);
	m_listctrl.InsertColumn(10,"数据可信度",LVCFMT_LEFT,-1,-1);
	m_listctrl.SetColumnWidth(10,70);
	this->Show();
	ShowCombox();
	return TRUE;  
}

void  CPage5::Show()
{
  m_listctrl.DeleteAllItems();
  CData_Parameter *m_recordset = new CData_Parameter(&m_database);
  m_recordset->Open(AFX_DB_USE_DEFAULT_TYPE,"[切削参数表]");
  int i=0;
  m_recordset->MoveFirst();
  do
  {  
  CString s;
  m_listctrl.InsertItem(i,s,0);

  s.Format("%d",m_recordset->m_column1);
  m_listctrl.SetItemText(i,0,s);
  s.Format("%s",m_recordset->m_column2);
  m_listctrl.SetItemText(i,1,s);
  s.Format("%s",m_recordset->m_column3);
  m_listctrl.SetItemText(i,2,s);
  s.Format("%s",m_recordset->m_column4);
  m_listctrl.SetItemText(i,3,s);
  s.Format("%.4f",m_recordset->m_column5);
  m_listctrl.SetItemText(i,4,s);
  s.Format("%s",m_recordset->m_column6);
  m_listctrl.SetItemText(i,5,s);
  s.Format("%s",m_recordset->m_column7);
  m_listctrl.SetItemText(i,6,s);
  s.Format("%.4f",m_recordset->m_column8);
  m_listctrl.SetItemText(i,7,s);
  s.Format("%.4f",m_recordset->m_column9);
  m_listctrl.SetItemText(i,8,s);
  s.Format("%.4f",m_recordset->m_column10);
  m_listctrl.SetItemText(i,9,s);
  s.Format("%.4f",m_recordset->m_column11);
  m_listctrl.SetItemText(i,10,s);
		
  i++;
  m_recordset->MoveNext();
		
  }  while(!m_recordset->IsEOF());
  m_database.Close();
  //return i;
  
}

BOOL CPage5::OnSetActive() 
{
    m_listctrl.DeleteAllItems();
	this->Show();
	this->ShowCombox();
	return CPropertyPage::OnSetActive();
}

void CPage5::ShowCombox()
{
//com_machine
	CData_Machine *m_recordset = new CData_Machine(&m_database);
	m_recordset->Open(AFX_DB_USE_DEFAULT_TYPE,"[机床参数表]");	
	int i,j;
    CString Fieldstr,Fieldstr1;
//计算总共的记录数
    m_recordset->MoveFirst();
	if(m_recordset->IsEOF())
		n=1;
	else
	{
		for(n=0;!(m_recordset->IsEOF());n++)
		{
		m_recordset->MoveNext();
 	
		}
	}
//	
	m_com_machine.ResetContent();
	m_recordset->MoveFirst();
	Fieldstr.Format("%s",m_recordset->m_column2);
	m_com_machine.AddString(Fieldstr);	
	if(n>=2)
	{
		for(i=1;i<n;i++)
		{
			int key=0;
			m_recordset->MoveFirst();
			m_recordset->Move(i);
		    Fieldstr.Format("%s",m_recordset->m_column2);
		    for(j=0;j<i;j++)
			{
			 m_recordset->MoveFirst();
		     m_recordset->Move(j);
             Fieldstr1.Format("%s",m_recordset->m_column2);
			 if(Fieldstr.Compare(Fieldstr1)==0)
				 key=1;
			}
			if(key==0)
				m_com_machine.AddString(Fieldstr);
		}
	}

//com_material
    CData_Material *m_recordset1 = new CData_Material(&m_database);
	m_recordset1->Open(AFX_DB_USE_DEFAULT_TYPE,"[模具材料表]");	
	
    m_recordset1->MoveFirst();
	if(m_recordset1->IsEOF())
		n=1;
	else
	{
		for(n=0;!(m_recordset1->IsEOF());n++)
		{
		m_recordset1->MoveNext();
 	
		}
	}
//
	m_com_material.ResetContent();
	m_recordset1->MoveFirst();
	Fieldstr.Format("%s",m_recordset1->m_column2);
	m_com_material.AddString(Fieldstr);	
	if(n>=2)
	{
		for(i=1;i<n;i++)
		{
			int key=0;
			m_recordset1->MoveFirst();
			m_recordset1->Move(i);
		    Fieldstr.Format("%s",m_recordset1->m_column2);
		    for(j=0;j<i;j++)
			{
			 m_recordset1->MoveFirst();
		     m_recordset1->Move(j);
             Fieldstr1.Format("%s",m_recordset1->m_column2);
			 if(Fieldstr.Compare(Fieldstr1)==0)
				 key=1;
			}
			if(key==0)
				m_com_material.AddString(Fieldstr);
		}
	}
//com_surface

//com_toolpath

//com_tooltype
	CData_Tool *m_recordset3 = new CData_Tool(&m_database);
	m_recordset3->Open(AFX_DB_USE_DEFAULT_TYPE,"[刀具几何表]");
//计算总共的记录数
    m_recordset3->MoveFirst();
	if(m_recordset3->IsEOF())
		n=1;
	else
	{
		for(n=0;!(m_recordset3->IsEOF());n++)
		{
		m_recordset3->MoveNext();
 	
		}
	}
    m_com_toolname.ResetContent();
	m_recordset3->MoveFirst();
	Fieldstr.Format("%s",m_recordset3->m_column2);
	m_com_toolname.AddString(Fieldstr);	
	if(n>=2)
	{
		for(i=1;i<n;i++)
		{
			int key=0;
			m_recordset3->MoveFirst();
			m_recordset3->Move(i);
		    Fieldstr.Format("%s",m_recordset3->m_column2);
		    for(j=0;j<i;j++)
			{
			 m_recordset3->MoveFirst();
		     m_recordset3->Move(j);
             Fieldstr1.Format("%s",m_recordset3->m_column2);
			 if(Fieldstr.Compare(Fieldstr1)==0)
				 key=1;
			}
			if(key==0)
				m_com_toolname.AddString(Fieldstr);
		}
	}
	m_database.Close();	
//com_tooldiameter

}

/*void CPage5::OnSelchangeTooltype() 
{
	m_com_tooldiameter.ResetContent();
	//
	int i,j;
	CString s_tooltype,fieldstr,fieldstr1,fieldstr2,fieldstr3;
	CData_Tool *m_recordset = new CData_Tool(&m_database);
	m_recordset->Open(AFX_DB_USE_DEFAULT_TYPE,"[刀具几何表]");
	m_com_tooltype.GetWindowText(s_tooltype);
	if(n==1)
	{
		if(s_tooltype.Compare(m_recordset->m_column2)==0)
			fieldstr.Format("%s",m_recordset->m_column3);
			m_com_tooldiameter.AddString(fieldstr);
	}
	else
	{
    for(i=0;i<n;i++)
	{			
			m_recordset->MoveFirst();
			m_recordset->Move(i);
			fieldstr2.Format("%s",m_recordset->m_column2);
		    fieldstr.Format("%.4f",m_recordset->m_column3);
			if(s_tooltype.Compare(fieldstr2)==0)
			{
				int key=0;
		        for(j=0;j<i;j++)
				{
			        m_recordset->MoveFirst();
		            m_recordset->Move(j);
                    fieldstr1.Format("%.4f",m_recordset->m_column3);
                    fieldstr3.Format("%s",m_recordset->m_column2);
			        if(s_tooltype.Compare(fieldstr3)==0)
					{
						if(fieldstr.Compare(fieldstr1)==0)
                        key=1;
					}
				    
				}
				if(key==0)
			    m_com_tooldiameter.AddString(fieldstr);

			}			

	}			
	}
}*/


void CPage5::OnDelete() 
{
    CDelpardlg dlg;
	if(dlg.DoModal()==IDOK)
	{
		MessageBox("删除成功");
		Show();
	}
}

void CPage5::OnEdit() 
{
	CDialog_EditParameter dlg;
	dlg.DoModal();

	// TODO: Add your control notification handler code here
	
}

⌨️ 快捷键说明

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