UpdateEquip.cpp
上传用户:latoyin
上传日期:2017-10-19
资源大小:2882k
文件大小:16k
源码类别:

数据库系统

开发平台:

Visual C++

  1. // UpdateEquip.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "Equipment.h"
  5. #include "UpdateEquip.h"
  6. #include "NumberEdit.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. extern CEquipmentApp theApp;
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CUpdateEquip dialog
  15. CUpdateEquip::CUpdateEquip(CWnd* pParent /*=NULL*/)
  16. : CDialog(CUpdateEquip::IDD, pParent)
  17. {
  18. m_Hicon = AfxGetApp()->LoadIcon(IDR_MAINTITLE);
  19. //{{AFX_DATA_INIT(CUpdateEquip)
  20. // NOTE: the ClassWizard will add member initialization here
  21. //}}AFX_DATA_INIT
  22. }
  23. void CUpdateEquip::DoDataExchange(CDataExchange* pDX)
  24. {
  25. CDialog::DoDataExchange(pDX);
  26. //{{AFX_DATA_MAP(CUpdateEquip)
  27. DDX_Control(pDX, IDC_EquipID, equipid);
  28. DDX_Control(pDX, IDC_USESTATE, usestate);
  29. DDX_Control(pDX, IDC_SPEC, spec);
  30. DDX_Control(pDX, IDC_SOURCEVALUE, sourcevalue);
  31. DDX_Control(pDX, IDC_REGDATE, regdate);
  32. DDX_Control(pDX, IDC_QUERYCONDITION, querycondition);
  33. DDX_Control(pDX, IDC_QUERY, query);
  34. DDX_Control(pDX, IDC_PUREVALUE, purevalue);
  35. DDX_Control(pDX, IDC_PREUSEMONTH, preusemonth);
  36. DDX_Control(pDX, IDC_PREPURSERATE, prepurerate);
  37. DDX_Control(pDX, IDC_PREPUREVALUE, prepurevalue);
  38. DDX_Control(pDX, IDC_MONTHDEPREVALUE, monthdeprevalue);
  39. DDX_Control(pDX, IDC_MONTHDEPRERATE, monthdeprerate);
  40. DDX_Control(pDX, IDC_LIST1, list);
  41. DDX_Control(pDX, IDC_EQUIPNAME, equipname);
  42. DDX_Control(pDX, IDC_EQUIPKINDS, equipkinds);
  43. DDX_Control(pDX, IDC_DEPREMONTH, depremonth);
  44. DDX_Control(pDX, IDC_DEPREMETHOD, depremethod);
  45. DDX_Control(pDX, IDC_ADDUPDEPRE, addupdepre);
  46. DDX_Control(pDX, IDC_ADDKINDS, addkinds);
  47. //}}AFX_DATA_MAP
  48. }
  49. BEGIN_MESSAGE_MAP(CUpdateEquip, CDialog)
  50. //{{AFX_MSG_MAP(CUpdateEquip)
  51. ON_COMMAND(ID_BUTTONREFRESH, OnButtonrefresh)
  52. ON_BN_CLICKED(IDC_QUERY, OnQuery)
  53. ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
  54. ON_EN_CHANGE(IDC_SOURCEVALUE, OnChangeSourcevalue)
  55. ON_EN_CHANGE(IDC_ADDUPDEPRE, OnChangeAddupdepre)
  56. ON_EN_CHANGE(IDC_PUREVALUE, OnChangePurevalue)
  57. ON_EN_CHANGE(IDC_PREPURSERATE, OnChangePrepurserate)
  58. ON_EN_CHANGE(IDC_PREUSEMONTH, OnChangePreusemonth)
  59. ON_EN_CHANGE(IDC_DEPREMONTH, OnChangeDepremonth)
  60. ON_CBN_SELCHANGE(IDC_DEPREMETHOD, OnSelchangeDepremethod)
  61. ON_EN_CHANGE(IDC_MONTHDEPRERATE, OnChangeMonthdeprerate)
  62. ON_COMMAND(ID_BUTTONUPDATE, OnButtonupdate)
  63. ON_COMMAND(ID_BUTTONCLOSE, OnButtonclose)
  64. //}}AFX_MSG_MAP
  65. END_MESSAGE_MAP()
  66. /////////////////////////////////////////////////////////////////////////////
  67. // CUpdateEquip message handlers
  68. void CUpdateEquip::OnCancel() 
  69. {
  70. // TODO: Add extra cleanup here
  71. CDialog::OnCancel();
  72. }
  73. void CUpdateEquip::OnOK() 
  74. {
  75. }
  76. BOOL CUpdateEquip::OnInitDialog() 
  77. {
  78. CDialog::OnInitDialog();
  79. SetIcon(m_Hicon,true);
  80. /**************************设计工具栏********************************/
  81. toolbar.Create(TBSTYLE_FLAT|CCS_TOP|WS_CHILD|WS_VISIBLE|WS_BORDER|CCS_ADJUSTABLE|TBSTYLE_WRAPABLE,CRect(0,0,0,0),this,IDR_TOOLBAR2);
  82. toolbar.SetBitmapSize(CSize(32,32));
  83. imagelist.Create(32,32,ILC_COLOR32|ILC_MASK,0,0);
  84. for (int n =0;n<5;n++)
  85. {
  86. imagelist.Add(theApp.LoadIcon(n+IDI_ICON1));
  87. }
  88. toolbar.SetImageList(&imagelist);
  89. TBBUTTON  buttons[4];
  90. for (int i =0; i<4;i++)
  91. {
  92. CString str;
  93. int strlength;
  94. CCHAR *temp;
  95. if (i<1)
  96. buttons[i].fsStyle =TBSTYLE_SEP;
  97. else
  98. {
  99. buttons[i].fsStyle =TBSTYLE_BUTTON;
  100. }
  101. buttons[i].fsState =TBSTATE_ENABLED;
  102. buttons[i].dwData =0;
  103. if ((i ==2)|(i==3))
  104. {
  105. buttons[i].idCommand = ID_BUTTONADD+i+1;
  106. buttons[i].iBitmap = i+1;
  107. str.LoadString(ID_BUTTONADD+i+1);
  108. }
  109. else
  110. {
  111. buttons[i].idCommand = ID_BUTTONADD+i;
  112. buttons[i].iBitmap = i;
  113. str.LoadString(ID_BUTTONADD+i);
  114. }
  115. strlength = str.GetLength()+1;
  116. temp = str.GetBufferSetLength(strlength);
  117. temp[strlength]= '';
  118. temp[strlength-1]= '';
  119. buttons[i].iString = toolbar.AddStrings(temp);
  120. str.ReleaseBuffer();
  121. }
  122. toolbar.AutoSize();
  123. toolbar.AddButtons(4,buttons);
  124. toolbar.ShowWindow(SW_SHOW);
  125. /*****************************初始化列表****************************/
  126. list.SetExtendedStyle(LVS_REPORT|LVS_EX_FULLROWSELECT|LVS_OWNERDRAWFIXED |LVS_EX_FLATSB|LVS_SHOWSELALWAYS|LVS_EX_HEADERDRAGDROP);
  127. list.InsertColumn(100,"资产编号");
  128. list.InsertColumn(100,"资产名称");
  129. list.InsertColumn(100,"资产类别");
  130. list.InsertColumn(100,"增加方式");
  131. list.InsertColumn(100,"入账原值");
  132. list.InsertColumn(100,"累计折旧");
  133. list.InsertColumn(100,"净值");
  134. list.InsertColumn(100,"规格");
  135. list.InsertColumn(100,"使用状态");
  136. list.InsertColumn(100,"预计净残值率");
  137. list.InsertColumn(100,"预计净残值");
  138. list.InsertColumn(100,"入账日期");
  139. list.InsertColumn(100,"预计使用月份");
  140. list.InsertColumn(100,"已计提月份");
  141. list.InsertColumn(100,"折旧方法");
  142. list.InsertColumn(100,"月折旧率");
  143. list.InsertColumn(100,"月折旧额");
  144. for (i =0 ;i<17;i++)
  145. list.SetColumnWidth(i,100);
  146. OnButtonrefresh();
  147. return TRUE;  // return TRUE unless you set the focus to a control
  148.               // EXCEPTION: OCX Property Pages should return FALSE
  149. }
  150. void CUpdateEquip::OnButtonrefresh() 
  151. {
  152. AddEquipKinds();
  153. AddEquipMode();
  154. AddUseState();
  155. AddQueryCondition();
  156. ClearText();
  157. list.DeleteAllItems();
  158. }
  159. void CUpdateEquip::ClearText()
  160. {
  161. CWnd * temp;
  162. temp = this;
  163. for (int i= 0;i<16;i++)
  164. {
  165. temp = this->GetNextDlgTabItem(temp);
  166. temp->SetWindowText("");
  167. }
  168. //设置日期
  169. CTime t=CTime::GetCurrentTime();
  170. regdate.SetTime(&t);
  171. equipid.SetWindowText("");
  172. }
  173. void CUpdateEquip::AddEquipKinds()
  174. {
  175. _RecordsetPtr temp;
  176. temp =theApp.datamanage->Record1; 
  177. temp->raw_Close();
  178. temp->Open("select kinds from tb_kinds",theApp.datamanage->GetConn().GetInterfacePtr(),adOpenKeyset,adLockPessimistic,adCmdText);
  179. if (temp->RecordCount>0) //如果有数据,利用循环向组合框中添加数据
  180. {
  181. equipkinds.ResetContent();
  182. while (!temp->ADOEOF)
  183. {
  184. CString str;
  185. str = temp->GetFields()->GetItem("kinds")->Value.bstrVal;
  186. equipkinds.AddString(str);
  187. temp->MoveNext();
  188. }
  189. }
  190. }
  191. void CUpdateEquip::AddEquipMode()
  192. {
  193. _RecordsetPtr temp;
  194. temp =theApp.datamanage->Record1; 
  195. temp->raw_Close();
  196. temp->Open("select addkinds from tb_addkinds",theApp.datamanage->GetConn().GetInterfacePtr(),adOpenKeyset,adLockPessimistic,adCmdText);
  197. if (temp->RecordCount>0) //如果有数据,利用循环向组合框中添加数据
  198. {
  199. addkinds.ResetContent();
  200. while (!temp->ADOEOF)
  201. {
  202. CString str;
  203. str = temp->GetFields()->GetItem("addkinds")->Value.bstrVal;
  204. addkinds.AddString(str);
  205. temp->MoveNext();
  206. }
  207. }
  208. }
  209. void CUpdateEquip::AddUseState()
  210. {
  211. _RecordsetPtr temp;
  212. temp =theApp.datamanage->Record1; 
  213. temp->raw_Close();
  214. temp->Open("select usestate from tb_usestate",theApp.datamanage->GetConn().GetInterfacePtr(),adOpenKeyset,adLockPessimistic,adCmdText);
  215. if (temp->RecordCount>0) //如果有数据,利用循环向组合框中添加数据
  216. {
  217. usestate.ResetContent();
  218. while (!temp->ADOEOF)
  219. {
  220. CString str;
  221. str = temp->GetFields()->GetItem("usestate")->Value.bstrVal;
  222. usestate.AddString(str);
  223. temp->MoveNext();
  224. }
  225. }
  226. }
  227. void CUpdateEquip::AddQueryCondition()
  228. {
  229. _RecordsetPtr temp;
  230. temp =theApp.datamanage->Record1; 
  231. temp->raw_Close();
  232. temp->Open("select distinct name from tb_equipmentinfo",theApp.datamanage->GetConn().GetInterfacePtr(),adOpenKeyset,adLockPessimistic,adCmdText);
  233. querycondition.ResetContent();
  234. while (!temp->ADOEOF)
  235. {
  236. CString str;
  237. str = temp->GetFields()->GetItem("name")->Value.bstrVal;
  238. querycondition.AddString(str);
  239. temp->MoveNext();
  240. }
  241. }
  242. void CUpdateEquip::OnQuery() 
  243. {
  244. CString str;
  245. querycondition.GetWindowText(str);
  246. if(!str.IsEmpty())
  247. {
  248. _RecordsetPtr temp;
  249. list.DeleteAllItems();
  250. temp =theApp.datamanage->Record1; 
  251. temp->raw_Close();
  252. CString sql;
  253. sql.Format("select * from tb_equipmentinfo where name like '%s%%'",str);
  254. temp->Open((_bstr_t)sql,theApp.datamanage->GetConn().GetInterfacePtr(),adOpenKeyset,adLockPessimistic,adCmdText);
  255. if (temp->RecordCount>0)
  256. {
  257. int row = 0;
  258. while (!temp->ADOEOF)
  259. {
  260. list.InsertItem(row,"",0);
  261. for (int i= 0;i<temp->GetFields()->Count-1;i++)
  262. {
  263. CString str;
  264. _variant_t value;
  265. value = temp->GetFields()->GetItem((long)i)->Value;
  266. str = (TCHAR *)(_bstr_t)value;
  267. list.SetItemText(row,i,str);
  268. }
  269. row +=1;
  270. temp->MoveNext();
  271. }
  272. }
  273. else
  274. MessageBox("没有发现符合条件的数据","提示",64);
  275. }
  276. else
  277. MessageBox("请设置查询条件","提示",64);
  278. }
  279. BOOL CUpdateEquip::PreTranslateMessage(MSG* pMsg) 
  280. {
  281. if (pMsg->message ==WM_KEYDOWN)
  282. if (pMsg->wParam ==13)
  283. pMsg->wParam = 9;
  284. return CDialog::PreTranslateMessage(pMsg);
  285. }
  286. void CUpdateEquip::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 
  287. {
  288. int row = list.GetSelectionMark();
  289. CString str;
  290. if (row !=-1)
  291. {
  292. CWnd * temp;
  293. temp = this;
  294. for (int i= 0;i<16;i++)
  295. {
  296. temp = this->GetNextDlgTabItem(temp);
  297. str =list.GetItemText(row,i+1); //对于表格list,0对应于编号,
  298. temp->SetWindowText(str);
  299. }
  300. //对于折旧方法和入账日期单独赋值
  301. str = list.GetItemText(row,14);
  302. if (str == "平均年限法1")
  303. depremethod.SetCurSel(0);
  304. else
  305. depremethod.SetCurSel(1);
  306. str = list.GetItemText(row,11);
  307. CTime t ;
  308. t = theApp.StrToTime(str);
  309. regdate.SetTime(&t);
  310. //显示资产编号
  311. str = list.GetItemText(row,0);
  312. equipid.SetWindowText(str);
  313. }
  314. *pResult = 0;
  315. }
  316. void CUpdateEquip::OnChangeSourcevalue() 
  317. {
  318. CString temp1,temp2;
  319. sourcevalue.GetWindowText(temp1);
  320. addupdepre.GetWindowText(temp2);
  321. if ((temp1.IsEmpty())|(temp2.IsEmpty())) //如果入账原值或累计折旧为空,净值为空
  322. {
  323. purevalue.SetWindowText("");
  324. }
  325. else
  326. {
  327. float source,add,netvalue;
  328. source = atof(temp1);
  329. add = atof(temp2);
  330. netvalue = source-add;
  331. CString temp3;
  332. temp3.Format("%f",netvalue);
  333. purevalue.SetWindowText(temp3);
  334. }
  335. OnChangePrepurserate();//计算预计净残值
  336. }
  337. void CUpdateEquip::OnChangeAddupdepre() 
  338. {
  339. OnChangeSourcevalue(); //调用入账原值改变时的事件
  340. }
  341. void CUpdateEquip::OnChangePurevalue() 
  342. {
  343. //月折旧额 =( 入账原值-累计折旧-预计净残值)/(预计使用月份-已计提月份)
  344. CString c_temp1,c_temp2,c_temp3,c_temp4,c_temp5;
  345. sourcevalue.GetWindowText(c_temp1);
  346. addupdepre.GetWindowText(c_temp2);
  347. prepurevalue.GetWindowText(c_temp3);
  348. preusemonth.GetWindowText(c_temp4);
  349. depremonth.GetWindowText(c_temp5);
  350. if (c_temp1.IsEmpty()|c_temp2.IsEmpty()|c_temp3.IsEmpty()|c_temp4.IsEmpty()|c_temp5.IsEmpty())
  351. {
  352. monthdeprevalue.SetWindowText("");
  353. }
  354. else
  355. {
  356. float f_value1,f_value2,f_value3,f_value4,f_value5,f_value;
  357. f_value1 = atof(c_temp1);
  358. f_value2 = atof(c_temp2);
  359. f_value3 = atof(c_temp3);
  360. f_value4 = atof(c_temp4);
  361. f_value5 = atof(c_temp5);
  362. f_value = (f_value1-f_value2-f_value3)/(f_value4-f_value5);
  363. CString temp;
  364. temp.Format("%f",f_value);
  365. monthdeprevalue.SetWindowText(temp);
  366. }
  367. }
  368. void CUpdateEquip::OnChangePrepurserate() 
  369. {
  370. CString temp1,temp2;
  371. prepurerate.GetWindowText(temp1); //获得净残值率
  372. sourcevalue.GetWindowText(temp2);//获入账原值
  373. if ((temp1.IsEmpty())|(temp2.IsEmpty())) //如果净值或净残值率为空,清空净残值
  374. {
  375. prepurevalue.SetWindowText("");
  376. }
  377. else
  378. {
  379. float netrate,value,netvalue;
  380. netrate = atof(temp1);
  381. value = atof(temp2);
  382. //净残值 = 入账原值 * 净残值率
  383. netvalue = value * netrate;
  384. CString temp3;
  385. temp3.Format("%f",netvalue);
  386. prepurevalue.SetWindowText(temp3);
  387. }
  388. OnChangePreusemonth();//计算月折旧率
  389. }
  390. void CUpdateEquip::OnChangePreusemonth() 
  391. {
  392. CString temp1,temp2;
  393. preusemonth.GetWindowText(temp1); //获得预计使用月份
  394. prepurerate.GetWindowText(temp2);//获得净残值率
  395. if ((temp1.IsEmpty())|(temp2.IsEmpty())) //如果预计使用月份或净残值率为空,清空月折旧率
  396. {
  397. monthdeprerate.SetWindowText("");
  398. }
  399. else
  400. {
  401. float monthrate,value,monthvalue;
  402. monthvalue = atof(temp1);
  403. value = atof(temp2);
  404. //月折旧率 = (1 - 净残值率)/预计使用月份
  405. monthrate = (1- value)/(monthvalue);
  406. CString temp3;
  407. temp3.Format("%f",monthrate);
  408. monthdeprerate.SetWindowText(temp3);
  409. }
  410. }
  411. void CUpdateEquip::OnChangeDepremonth() 
  412. {
  413. if (depremethod.GetCurSel()==1)//平均年限法2
  414. OnChangePurevalue();
  415. }
  416. void CUpdateEquip::OnSelchangeDepremethod() 
  417. {
  418. if (depremethod.GetCurSel()==-1)
  419. monthdeprevalue.SetWindowText("");
  420. else if (depremethod.GetCurSel()==0) //平均年限法1
  421. {
  422. CString value1,value2;
  423. sourcevalue.GetWindowText(value1);//获取入账原值
  424. monthdeprerate.GetWindowText(value2);
  425. if ((value1.IsEmpty())|(value2.IsEmpty())) //如果入账原值或月折旧率为空,月折旧额为空
  426. monthdeprevalue.SetWindowText("");
  427. else //计算月折旧额
  428. {
  429. //月折旧额 = 入账原值*月折旧率
  430. float m_value,m_rate,s_value;
  431. m_rate = atof(value2);
  432. s_value = atof(value1);
  433. m_value = s_value * m_rate;
  434. CString c_value;
  435. c_value.Format("%f",m_value);
  436. monthdeprevalue.SetWindowText(c_value);
  437. }
  438. }
  439. else //平均年限法2
  440. {
  441. OnChangePurevalue(); //调用预计净残值改变时的事件
  442. }
  443. }
  444. void CUpdateEquip::OnChangeMonthdeprerate() 
  445. {
  446. OnSelchangeDepremethod() ;
  447. }
  448. void CUpdateEquip::OnButtonupdate() 
  449. {
  450. CString id;
  451. equipid.GetWindowText(id);
  452. if (!id.IsEmpty())
  453. {
  454. if(!InfoIsNull())
  455. {
  456. if(!IsNegative())
  457. {
  458. if (MessageBox("确实要修改资产信息吗?","提示",MB_YESNO)==IDYES)
  459. {
  460. float f_sourcevalue,f_addupdepre,f_netvalue,f_prenetrate,f_prenetvalue,f_premonth,f_month,f_deprevalue,f_deprerate;
  461. CTime t;
  462. regdate.GetTime(t);
  463. CString arrays[16];
  464. CWnd * temp;
  465. temp = this;
  466. for (int i= 0;i<16;i++)
  467. {
  468. temp = this->GetNextDlgTabItem(temp);
  469. temp->GetWindowText(arrays[i]);
  470. }
  471. f_sourcevalue = atof(arrays[3]);
  472. f_addupdepre = atof(arrays[4]);
  473. f_netvalue = atof(arrays[5]);
  474. f_prenetrate = atof(arrays[8]);
  475. f_prenetvalue = atof(arrays[9]);
  476. f_premonth = atoi(arrays[11]);
  477. f_month = atoi(arrays[12]);
  478. f_deprerate = atof(arrays[14]);
  479. f_deprevalue = atof(arrays[15]);
  480. CString sql;
  481. sql.Format("update tb_equipmentinfo set name = '%s',kinds = '%s',addkind = '%s',sourcevalue = %f,depreciation = %f ,netvalue= %f,spec = '%s',usestate = '%s',prenetvaluerate = %f,prenetvalue = %f,regdate = '%s',preusemonth = %f,depreciationmonth = %f,depremethod = '%s',monthdeprerate = %f,monthdeprevalue = %f,enabled = %d where equipmentid = '%s' ",arrays[0],arrays[1],arrays[2],f_sourcevalue,f_addupdepre,f_netvalue,arrays[6],arrays[7],f_prenetrate,f_prenetvalue,arrays[10],f_premonth,f_month,arrays[13],f_deprerate,f_deprevalue,0,id);
  482. try
  483. {
  484. theApp.datamanage->ExecSQL(sql);
  485. MessageBox("修改成功","提示",64);
  486. }
  487. catch(...)
  488. {
  489. MessageBox("修改失败","提示",64);
  490. }
  491. OnButtonrefresh() ;
  492. }
  493. }
  494. else
  495. MessageBox("资产信息不能出现负数","提示",64);
  496. }
  497. else
  498. MessageBox("资产信息不能为空","提示",64);
  499. }
  500. else
  501. MessageBox("资产编号不能为空","提示",64);
  502. }
  503. bool CUpdateEquip::InfoIsNull()
  504. {
  505. CWnd * temp;
  506. temp = this;
  507. for (int i= 0;i<16;i++)
  508. {
  509. temp = this->GetNextDlgTabItem(temp);
  510. CString str;
  511. temp->GetWindowText(str);
  512. if (str.IsEmpty())
  513. {
  514. return true;
  515. }
  516. }
  517. return false;
  518. }
  519. bool CUpdateEquip::IsNegative()
  520. {
  521. CString c_value1,c_value2,c_value3,c_value4,c_value5,c_value6,c_value7,c_value8;
  522. float f_value1,f_value2,f_value3,f_value4,f_value5,f_value6,f_value7,f_value8;
  523. sourcevalue.GetWindowText(c_value1);//入账原值
  524. addupdepre.GetWindowText(c_value2);//累计折旧
  525. purevalue.GetWindowText(c_value3);//净值
  526. prepurevalue.GetWindowText(c_value4);//净残值率
  527. preusemonth.GetWindowText(c_value5);//预计使用月份
  528. depremonth.GetWindowText(c_value6);//已计提月份
  529. monthdeprerate.GetWindowText(c_value7);//月折旧率
  530. monthdeprevalue.GetWindowText(c_value8); //月折旧额
  531. f_value1 = atof(c_value1);
  532. f_value2 = atof(c_value2);
  533. f_value3 = atof(c_value3);
  534. f_value4 = atof(c_value4);
  535. f_value5 = atof(c_value5);
  536. f_value6 = atof(c_value6);
  537. f_value7 = atof(c_value7);
  538. f_value8 = atof(c_value8);
  539. if ((f_value1 <0)|(f_value2<0)|(f_value3<0)|(f_value4 <0)|(f_value5 <0)|(f_value6 <0)|(f_value7 <0))
  540. return true;
  541. else
  542. return false;
  543. }
  544. void CUpdateEquip::OnButtonclose() 
  545. {
  546. EndDialog(0);
  547. }