- UID
- 136734
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2004-5-12
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
#include "design.h"
#include "adslib.h"
#include "math.h"
#define PI 3.1415926
#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif
CTestDlg dialog
CTestDlg::CTestDlg(CWnd* pParent /*=NULL*/)
: CDialog(CTestDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CTestDlg)
m_rate = 1.0;
m_angle = 0.0;
//}}AFX_DATA_INIT
}
void CTestDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTestDlg)
DDX_Control(pDX, IDC_COMBO2, m_com2);
DDX_Control(pDX, IDC_COMBO1, m_com1);
DDX_Text(pDX, IDC_EDIT1, m_rate);
DDX_Text(pDX, IDC_EDIT2, m_angle);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CTestDlg, CDialog)
//{{AFX_MSG_MAP(CTestDlg)
ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)
ON_CBN_SELCHANGE(IDC_COMBO2, OnSelchangeCombo2)
ON_BN_CLICKED(IDC_RADIO1, OnRadio1)
ON_BN_CLICKED(IDC_RADIO2, OnRadio2)
ON_WM_CLOSE()
ON_EN_CHANGE(IDC_EDIT1, OnChangeEdit1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
CTestDlg message handlers
void CTestDlg::aa()
{
CString f1,f2,f3,f4,f5,f6;
ads_point point[24];
ads_real dp,p,d,n,t,l;
_RecordsetPtr pRs;
_bstr_t bstrQuery("Select * from 表2 where id='"+strcom1+"'");
_variant_t vRecsAffected,vx1,vx2,vx3,vx4,vx5,vx6;
pRs=m_pConnection->Execute(bstrQuery,&vRecsAffected,adOptionUnspecified);
if(!pRs->GetadoEOF())
{
vx1=pRs->GetCollect(L"dp");
vx2=pRs->GetCollect(L"p");
vx3=pRs->GetCollect(L"d");
vx4=pRs->GetCollect(L"n");
vx5=pRs->GetCollect(L"t");
vx6=pRs->GetCollect(L"l");
f1=(LPCTSTR)(_bstr_t) vx1;
f2=(LPCTSTR)(_bstr_t) vx2;
f3=(LPCTSTR)(_bstr_t) vx3;
f4=(LPCTSTR)(_bstr_t) vx4;
f5=(LPCTSTR)(_bstr_t) vx5;
f6=(LPCTSTR)(_bstr_t) vx6;
dp=atof(f1);
p=atof(f2);
d=atof(f3);
n=atof(f4);
t=atof(f5);
l=atof(f6);
}
pRs->Close();
ads_command(RTSTR,"CMDECHO",RTSTR,"0",RTNONE);
ads_getpoint(NULL,"Please input the first point:\n",point[0]);
ads_getreal("Please input the dp:\n",&dp);
ads_getreal("Please input the p:\n",&p);
ads_getreal("Please input the d:\n",&d);
ads_getreal("Please input the n:\n",&n);
ads_getreal("Please input the t:\n",&t);
ads_getreal("Please input the l:\n",&l);
double angle=m_angle/180*PI;
double rate=m_rate;
ads_polar(point[0],0+angle,(tan(PI/4)*(d/2-dp/2))*rate,point[19]);
ads_polar(point[19],PI+angle,l*rate+1.0,point[1]);
ads_polar(point[19],0+angle,1.0,point[2]);
ads_polar(point[0],PI/2+angle,(d/2)*rate,point[3]);
ads_polar(point[0],-PI/2+angle,(d/2)*rate,point[6]);
ads_polar(point[19],PI/2+angle,(dp/2)*rate,point[8]);
ads_polar(point[19],-PI/2+angle,(dp/2)*rate,point[7]);
ads_polar(point[19],PI+angle,l*rate,point[20]);
ads_polar(point[20],PI/2+angle,(n/2)*rate,point[11]);
ads_polar(point[20],-PI/2+angle,(n/2)*rate,point[12]);
ads_polar(point[20],PI/2+angle,(d/2)*rate-1.0,point[10]);
ads_polar(point[20],-PI/2+angle,(d/2)*rate-1.0,point[9]);
ads_polar(point[11],0+angle,t*rate,point[15]);
ads_polar(point[15],-PI/2+angle,n*rate,point[16]);
ads_polar(point[20],0+angle,(tan(PI/6)*0.5)*rate,point[21]);
ads_polar(point[21],PI/2+angle,(n/2)*rate,point[13]);
ads_polar(point[21],PI/2+angle,(d/2)*rate,point[4]);
ads_polar(point[21],-PI/2+angle,(n/2)*rate,point[14]);
ads_polar(point[21],-PI/2+angle,(d/2)*rate,point[5]);
ads_polar(point[0],PI/2+angle,(d/2)*rate-1.0,point[22]);
ads_polar(point[22],0+angle,(tan(PI/4)*0.5)*rate,point[17]);
ads_polar(point[0],-PI/2+angle,(d/2)*rate-1.0,point[23]);
ads_polar(point[23],0+angle,(tan(PI/4)*0.5)*rate,point[18]);
//
ads_command(RTSTR,"color",RTSTR,"green",RTNONE);
ads_command(RTSTR,"linetype",RTSTR,"s",RTSTR,"continuous",RTSTR,"",RTNONE);
ads_command(RTSTR,"LINE",RTPOINT,point[19],RTPOINT,point[8],RTPOINT,
point[3],RTPOINT,point[4],RTPOINT,point[10],RTPOINT,point[11],
RTPOINT,point[13],RTPOINT,point[15],RTPOINT,point[16],RTPOINT,point[14],
RTPOINT,point[12],RTPOINT,point[9],RTPOINT,point[5],RTPOINT,point[6],
RTPOINT,point[7],RTPOINT,point[19],RTSTR,"",0);
ads_command(RTSTR,"LINE",RTPOINT,point[4],RTPOINT,point[13],RTSTR,"",0);
ads_command(RTSTR,"LINE",RTPOINT,point[14],RTPOINT,point[5],RTSTR,"",0);
ads_command(RTSTR,"LINE",RTPOINT,point[10],RTPOINT,point[17],RTSTR,"",0);
ads_command(RTSTR,"LINE",RTPOINT,point[9],RTPOINT,point[18],RTSTR,"",0);
ads_command(RTSTR,"LINE",RTPOINT,point[3],RTPOINT,point[6],RTSTR,"",0);
ads_command(RTSTR,"color",RTSTR,"red",RTNONE);
ads_command(RTSTR,"linetype",RTSTR,"l",RTSTR,"center2",RTNONE);
ads_command(RTSTR,"linetype",RTSTR,"s",RTSTR,"center2",RTSTR,"",RTNONE);
ads_command(RTSTR,"LINE",RTPOINT,point[1],RTPOINT,point[2],RTSTR,"",0);
}
void CTestDlg::bbb()
CString f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12;
{ads_point point[39];
ads_real dk,t,k,r,d,b,l,da,ls,lg,ds,e;
_RecordsetPtr pRs;
_bstr_t bstrQuery("Select * from 表1 where id='"+strcom1+"'");
_variant_t vRecsAffected,vx1,vx2,vx3,vx4,vx5,vx6,vx7,vx8,vx9,vx10,vx11,vx12;
pRs=m_pConnection->Execute(bstrQuery,&vRecsAffected,adOptionUnspecified);
if(!pRs->GetadoEOF())
{
vx1=pRs->GetCollect(L"dk");
vx2=pRs->GetCollect(L"t");
vx3=pRs->GetCollect(L"k");
vx4=pRs->GetCollect(L"r");
vx5=pRs->GetCollect(L"d");
vx6=pRs->GetCollect(L"b");
vx7=pRs->GetCollect(L"l");
vx8=pRs->GetCollect(L"da");
vx9=pRs->GetCollect(L"ls");
vx10=pRs->GetCollect(L"lg");
vx11=pRs->GetCollect(L"ds");
vx12=pRs->GetCollect(L"e");
f1=(LPCTSTR)(_bstr_t) vx1;
f2=(LPCTSTR)(_bstr_t) vx2;
f3=(LPCTSTR)(_bstr_t) vx3;
f4=(LPCTSTR)(_bstr_t) vx4;
f5=(LPCTSTR)(_bstr_t) vx5;
f6=(LPCTSTR)(_bstr_t) vx6;
f7=(LPCTSTR)(_bstr_t) vx7;
f8=(LPCTSTR)(_bstr_t) vx8;
f9=(LPCTSTR)(_bstr_t) vx9;
f10=(LPCTSTR)(_bstr_t) vx10;
f11=(LPCTSTR)(_bstr_t) vx11;
f12=(LPCTSTR)(_bstr_t) vx12;
dk=atof(f1);
t=atof(f2);
k=atof(f3);
r=atof(f4);
d=atof(f5);
b=atof(f6);
l=atof(f7);
da=atof(f8);
ls=atof(f9);
lg=atof(f10);
ds=atof(f11);
e=atof(f12);
}
pRs->Close();
/*ads_command(RTSTR,"CMDECHO",RTSTR,"0",RTNONE);
ads_getpoint(NULL,"Please input the first point:\n",point[0]);
ads_getreal("Please input the dk:\n",&dk);
ads_getreal("Please input the t:\n",&t);
ads_getreal("Please input the k:\n",&k);
ads_getreal("Please input the r:\n",&r);
ads_getreal("Please input the d:\n",&d);
ads_getreal("Please input the b:\n",&b);
ads_getreal("Please input the l:\n",&l);
ads_getreal("Please input the da:\n",&da);
ads_getreal("Please input the ls:\n",&ls);
ads_getreal("Please input the lg:\n",&lg);
ads_getreal("Please input the ds:\n",&ds);
ads_getreal("Please input the e:\n",&e);*/
double angle=m_angle/180*PI;
double rate=m_rate;
ads_polar(point[0],PI,l+k+1.0,point[1]);
ads_polar(point[0],0,1.0,point[2]);
ads_polar(point[0],PI/2,d/2-2.0,point[3]);
ads_polar(point[0],PI/2,d/2,point[4]);
ads_polar(point[4],PI,2.0,point[5]);
ads_polar(point[5],-PI/2,1.0,point[6]);
ads_polar(point[5],PI,b,point[7]);
ads_polar(point[6],PI,b,point[9]);
ads_polar(point[7],PI,lg-ls,point[8]);
ads_polar(point[8],PI,ls,point[11]);
ads_polar(point[11],PI/2,da/2-ds/2,point[12]);
ads_polar(point[11],0,da/2-ds/2,point[10]);
ads_polar(point[11],PI/2,dk/2-d/2,point[13]);
ads_polar(point[13],PI,k,point[14]);
ads_polar(point[14],-PI/2,dk,point[19]);
ads_polar(point[19],PI/2,e/4,point[17]);
ads_polar(point[19],PI/2,e/2,point[15]);
ads_polar(point[15],0,t,point[16]);
ads_polar(point[17],0,t,point[18]);
ads_polar(point[19],0,t+1.0,point[20]);
ads_polar(point[20],PI/2,3*e/8,point[37]);
ads_polar(point[0],-PI/2,d/2-2.0,point[21]);
ads_polar(point[0],-PI/2,d/2,point[22]);
ads_polar(point[22],PI,2.0,point[23]);
ads_polar(point[23],PI/2,1.0,point[24]);
ads_polar(point[23],PI,b,point[26]);
ads_polar(point[24],PI,b,point[25]);
ads_polar(point[26],PI,lg-ls,point[27]);
ads_polar(point[27],PI,ls,point[29]);
ads_polar(point[29],-PI/2,da/2-ds/2,point[30]);
ads_polar(point[29],0,da/2-ds/2,point[28]);
ads_polar(point[29],-PI/2,dk/2-d/2,point[31]);
ads_polar(point[31],PI,k,point[32]);
ads_polar(point[19],-PI/2,e/4,point[35]);
ads_polar(point[19],-PI/2,e/2,point[33]);
ads_polar(point[33],0,t,point[34]);
ads_polar(point[35],0,t,point[36]);
ads_polar(point[20],-PI/2,3*e/8,point[38]);
ads_command(RTSTR,"color",RTSTR,"GREEN",RTNONE);
ads_command(RTSTR,"linetype",RTSTR,"s",RTSTR,"continuous",RTSTR,"",RTNONE);
ads_command(RTSTR,"LINE",RTPOINT,point[0],RTPOINT,point[3],RTPOINT,
point[5],RTPOINT,point[10],RTSTR,"",0);
ads_command(RTSTR,"LINE",RTPOINT,point[0],RTPOINT,point[21],RTPOINT,
point[23],RTPOINT,point[28],RTSTR,"",0);
ads_command(RTSTR,"LINE",RTPOINT,point[5],RTPOINT,point[23],RTSTR,"",0);
ads_command(RTSTR,"LINE",RTPOINT,point[8],RTPOINT,point[27],RTSTR,"",0);
ads_command(RTSTR,"LINE",RTPOINT,point[7],RTPOINT,point[26],RTSTR,"",0);
ads_command(RTSTR,"LINE",RTPOINT,point[8],RTPOINT,point[9],RTSTR,"",0);
ads_command(RTSTR,"LINE",RTPOINT,point[9],RTPOINT,point[6],RTSTR,"",0);
ads_command(RTSTR,"LINE",RTPOINT,point[27],RTPOINT,point[25],RTSTR,"",0);
ads_command(RTSTR,"LINE",RTPOINT,point[25],RTPOINT,point[24],RTSTR,"",0);
ads_command(RTSTR,"LINE",RTPOINT,point[13],RTPOINT,point[14],RTPOINT,
point[32],RTPOINT,point[31],RTPOINT,point[13],RTSTR,"",0);
ads_command(RTSTR,"ARC",RTPOINT,point[10],RTSTR,"E",RTPOINT,point[12],
RTSTR,"R",r,RTSTR,"c",0);
ads_command(RTSTR,"ARC",RTPOINT,point[28],RTSTR,"E",RTPOINT,point[30],
RTSTR,"R",r,RTSTR,"c",0);
ads_command(RTSTR,"color",RTSTR,"red",RTNONE);
ads_command(RTSTR,"linetype",RTSTR,"l",RTSTR,"center2",RTNONE);
ads_command(RTSTR,"linetype",RTSTR,"s",RTSTR,"center2",RTSTR,"",RTNONE);
ads_command(RTSTR,"LINE",RTPOINT,point[1],RTPOINT,point[2],RTSTR,"",0);
ads_command(RTSTR,"LINE",RTPOINT,point[15],RTPOINT,point[16],RTSTR,"",0);
ads_command(RTSTR,"LINE",RTPOINT,point[17],RTPOINT,point[18],RTSTR,"",0);
ads_command(RTSTR,"LINE",RTPOINT,point[33],RTPOINT,point[34],RTSTR,"",0);
ads_command(RTSTR,"LINE",RTPOINT,point[35],RTPOINT,point[36],RTSTR,"",0);
ads_command(RTSTR,"ARC",RTPOINT,point[16],RTPOINT,point[37],
RTPOINT,point[18],RTSTR,"",0);
ads_command(RTSTR,"ARC",RTPOINT,point[18],RTPOINT,point[20],
RTPOINT,point[36],RTSTR,"",0);
ads_command(RTSTR,"ARC",RTPOINT,point[36],RTPOINT,point[38],
RTPOINT,point[34],RTSTR,"",0);
}
void CTestDlg::cccc()
CString f1,f2,f3,;
{ads_point point[14];
ads_real s,e,dk;
_RecordsetPtr pRs;
_bstr_t bstrQuery("Select * from 表2 where id='"+strcom1+"'");
_variant_t vRecsAffected,vx1,vx2,vx3;
pRs=m_pConnection->Execute(bstrQuery,&vRecsAffected,adOptionUnspecified);
if(!pRs->GetadoEOF())
{
vx1=pRs->GetCollect(L"s");
vx2=pRs->GetCollect(L"e");
vx3=pRs->GetCollect(L"dk");
f1=(LPCTSTR)(_bstr_t) vx1;
f2=(LPCTSTR)(_bstr_t) vx2;
f3=(LPCTSTR)(_bstr_t) vx3;
s=atof(f1);
e=atof(f2);
dk=atof(f3);
}
pRs->Close();
ads_command(RTSTR,"CMDECHO",RTSTR,"0",RTNONE);
ads_getpoint(NULL,"Please input the first point:\n",point[0]);
ads_getreal("Please input the s:\n",&s);
ads_getreal("Please input the e:\n",&e);
ads_getreal("Please input the dk:\n",&dk);
double angle=m_angle/180*PI;
double rate=m_rate;
ads_polar(point[0],PI,dk/2+1.0,point[3]);
ads_polar(point[0],0,dk/2+1.0,point[4]);
ads_polar(point[0],PI/2,dk/2+1.0,point[1]);
ads_polar(point[0],-PI/2,dk/2+1.0,point[2]);
ads_polar(point[0],PI/2,e/2,point[5]);
ads_polar(point[0],-PI/2,e/2,point[6]);
ads_polar(point[0],PI,s/2,point[7]);
ads_polar(point[0],0,s/2,point[8]);
ads_polar(point[7],PI/2,e/4,point[9]);
ads_polar(point[7],-PI/2,e/4,point[11]);
ads_polar(point[8],PI/2,e/4,point[10]);
ads_polar(point[7],-PI/2,e/4,point[12]);
ads_command(RTSTR,"color",RTSTR,"GREEN",RTNONE);
ads_command(RTSTR,"linetype",RTSTR,"s",RTSTR,"continuous",RTSTR,"",RTNONE);
ads_command(RTSTR,"LINE",RTPOINT,point[5],RTPOINT,point[9],RTPOINT,
point[11],RTPOINT,point[6],RTPOINT,point[12],
RTPOINT,point[10],RTPOINT,point[5],RTSTR,"c",0);
ads_command(RTSTR,"circle",RTPOINT,point[0],e/2,RTSTR,"c",0);
ads_command(RTSTR,"circle",RTPOINT,point[0],dk/2,RTSTR,"c",0);
ads_command(RTSTR,"color",RTSTR,"red",RTNONE);
ads_command(RTSTR,"linetype",RTSTR,"l",RTSTR,"center2",RTNONE);
ads_command(RTSTR,"linetype",RTSTR,"s",RTSTR,"center2",RTSTR,"",RTNONE);
ads_command(RTSTR,"LINE",RTPOINT,point[1],RTPOINT,point[2],RTSTR,"c",0);
ads_command(RTSTR,"LINE",RTPOINT,point[3],RTPOINT,point[4],RTSTR,"c",0);
}
void CTestDlg::OnSelchangeCombo1()
{
// TODO: Add your control notification handler code here
flag=3;
int nIndex=m_com1.GetCurSel();
if(nIndex !=CB_ERR)
{
m_com1.GetLBText(nIndex,strcom1);
}
}
void CTestDlg::OnSelchangeCombo2()
{
// TODO: Add your control notification handler code here
flag=4;
int nIndex=m_com2.GetCurSel();
if(nIndex !=CB_ERR)
{
m_com2.GetLBText(nIndex,strcom1);
}
}
void CTestDlg::OnRadio1()
{
// TODO: Add your control notification handler code here
flag=1;
}
void CTestDlg::OnRadio2()
{
// TODO: Add your control notification handler code here
flag=2;
}
void CTestDlg::OnClose()
{
// TODO: Add your message handler code here and/or call default
if(m_IsConnectionOpen)
m_pConnection->Close();
m_IsConnectionOpen=FALSE;
CDialog::OnClose();
}
BOOL CTestDlg::OnInitDialog()
{
CDialog::OnInitDialog();
//和数据库建立连接
AfxOleInit();
m_csDataSource="Provider=Microsoft.Jet.oledb.4.0;"
"Data Source=d:\\毕设资料\\数据库.mdb;";
HRESULT hRes;
m_IsConnectionOpen=FALSE;
try
{
hRes=m_pConnection.CreateInstance(_uuidof(Connection));
if(SUCCEEDED(hRes))
{
hRes=m_pConnection->Open(_bstr_t((LPCTSTR) m_csDataSource),
_bstr_t(L""),
_bstr_t(L""),
adModeUnknown);
if(SUCCEEDED(hRes))
m_IsConnectionOpen=TRUE;
}
}
catch(_com_error &e)
{
_bstr_t bstrSrc(e.Source());
_bstr_t bstrDes(e.Description());
TRACE("EXCEPTION THROWN FOR #IMPORT GENERATED CLASS\n");
TRACE("\tCode=%081x\n",e.Error());
TRACE("\tMeaning=%s\n",e.ErrorMessage());
TRACE("\tSource=%s\n",(LPCTSTR) bstrSrc);
TRACE("\tDescription=%s\n",(LPCTSTR) bstrDes);
}
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CTestDlg::OnChangeEdit1()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
} |
|