InputMemberno.cpp 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559
  1. // InputMemberno.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ylgl.h"
  5. #include "InputMemberno.h"
  6. #include "AddMember.h"
  7. #include "SelCardType.h"
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13. /////////////////////////////////////////////////////////////////////////////
  14. // InputMemberno dialog
  15. InputMemberno::InputMemberno(CWnd* pParent /*=NULL*/) : CDialog(InputMemberno::IDD, pParent)
  16. {
  17. m_memberno = _T("");
  18. m_cardtype = _T("");
  19. m_type = 0;
  20. m_name = _T("");
  21. m_mode = 0;
  22. m_bNoAdd = 0;
  23. m_cardleng = atol(g_cominfoarray.ElementAt(0).ElementAt(55));
  24. }
  25. void InputMemberno::DoDataExchange(CDataExchange* pDX)
  26. {
  27. CDialog::DoDataExchange(pDX);
  28. DDX_Text(pDX, IDC_EDIT1, m_memberno);
  29. DDX_Text(pDX, IDC_EDIT2, m_cardtype);
  30. DDX_Text(pDX, IDC_EDIT3, m_name);
  31. }
  32. BEGIN_MESSAGE_MAP(InputMemberno, CDialog)
  33. ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
  34. ON_EN_CHANGE(IDC_EDIT1, OnChangeEdit1)
  35. ON_EN_SETFOCUS(IDC_EDIT1, OnSetfocusEdit1)
  36. END_MESSAGE_MAP()
  37. void InputMemberno::OnOK()
  38. {
  39. if (GetDlgItem(IDOK)->IsWindowEnabled() == 0)return;
  40. if (m_type == 1 || m_type == 3)//副卡
  41. {
  42. CString temp = m_memberno2;
  43. m_memberno2 = m_memberno;
  44. m_memberno = temp;
  45. UpdateData(false);
  46. }
  47. CDialog::OnOK();
  48. }
  49. BOOL InputMemberno::OnInitDialog()
  50. {
  51. CDialog::OnInitDialog();
  52. if (m_cardleng == 0)m_cardleng = 6;
  53. if (m_bNoAdd)
  54. {
  55. GetDlgItem(IDC_BUTTON1)->EnableWindow(0);
  56. }
  57. g_sendhead.bsql = 0;
  58. g_sendhead.code[0] = 68;
  59. g_sendhead.code[1] = 127;
  60. g_sendhead.code[2] = 130;
  61. g_sendhead.code[3] = 131;
  62. g_sendhead.tabcount = 4;
  63. g_pMainWnd->ProcessChatMessageRequest2(0); if (g_bSendOK == 0)return 0;
  64. DataToArray(&m_List1array, &m_List2array, &m_List3array, &m_List4array);
  65. CenterWindow();
  66. return TRUE;
  67. }
  68. void InputMemberno::OnButton1()
  69. {
  70. AddMember dlg;
  71. if (dlg.DoModal() == IDOK)
  72. {
  73. m_memberno = dlg.m_memberno;
  74. UpdateData(false);
  75. g_sendhead.bsql = 0;
  76. g_sendhead.code[0] = 68;
  77. g_sendhead.code[1] = 127;
  78. g_sendhead.code[2] = 130;
  79. g_sendhead.code[3] = 131;
  80. g_sendhead.tabcount = 4;
  81. g_pMainWnd->ProcessChatMessageRequest2(0); if (g_bSendOK == 0)return;
  82. DataToArray(&m_List1array, &m_List2array, &m_List3array, &m_List4array);
  83. CheckType();
  84. }
  85. }
  86. BOOL InputMemberno::PreTranslateMessage(MSG* pMsg)
  87. {
  88. if (pMsg->message == WM_KEYDOWN)
  89. {
  90. switch (pMsg->wParam)
  91. {
  92. case '0':
  93. case VK_NUMPAD0:
  94. m_input += "0";
  95. CheckInput();
  96. break;
  97. case '1':
  98. case VK_NUMPAD1:
  99. m_input += "1";
  100. CheckInput();
  101. break;
  102. case '2':
  103. case VK_NUMPAD2:
  104. m_input += "2";
  105. CheckInput();
  106. break;
  107. case '3':
  108. case VK_NUMPAD3:
  109. m_input += "3";
  110. CheckInput();
  111. break;
  112. case '4':
  113. case VK_NUMPAD4:
  114. m_input += "4";
  115. CheckInput();
  116. break;
  117. case '5':
  118. case VK_NUMPAD5:
  119. m_input += "5";
  120. CheckInput();
  121. break;
  122. case '6':
  123. case VK_NUMPAD6:
  124. m_input += "6";
  125. CheckInput();
  126. break;
  127. case '7':
  128. case VK_NUMPAD7:
  129. m_input += "7";
  130. CheckInput();
  131. break;
  132. case '8':
  133. case VK_NUMPAD8:
  134. m_input += "8";
  135. CheckInput();
  136. break;
  137. case '9':
  138. case VK_NUMPAD9:
  139. m_input += "9";
  140. CheckInput();
  141. break;
  142. #if JEFF_TEST_ON
  143. case 0x41:
  144. {
  145. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  146. m_input += "A";
  147. else
  148. m_input += "a";
  149. CheckInput();
  150. }
  151. break;
  152. case 0x42:
  153. {
  154. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  155. m_input += "B";
  156. else
  157. m_input += "b";
  158. CheckInput();
  159. }
  160. break;
  161. case 0x43:
  162. {
  163. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  164. m_input += "C";
  165. else
  166. m_input += "c";
  167. CheckInput();
  168. }
  169. break;
  170. case 0x44:
  171. {
  172. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  173. m_input += "D";
  174. else
  175. m_input += "d";
  176. CheckInput();
  177. }
  178. break;
  179. case 0x45:
  180. {
  181. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  182. m_input += "E";
  183. else
  184. m_input += "e";
  185. CheckInput();
  186. }
  187. break;
  188. case 0x46:
  189. {
  190. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  191. m_input += "F";
  192. else
  193. m_input += "f";
  194. CheckInput();
  195. }
  196. break;
  197. case 0x47:
  198. {
  199. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  200. m_input += "G";
  201. else
  202. m_input += "g";
  203. CheckInput();
  204. }
  205. break;
  206. case 0x48:
  207. {
  208. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  209. m_input += "H";
  210. else
  211. m_input += "h";
  212. CheckInput();
  213. }
  214. break;
  215. case 0x49:
  216. {
  217. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  218. m_input += "I";
  219. else
  220. m_input += "i";
  221. CheckInput();
  222. }
  223. break;
  224. case 0x4A:
  225. {
  226. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  227. m_input += "J";
  228. else
  229. m_input += "j";
  230. CheckInput();
  231. }
  232. break;
  233. case 0x4B:
  234. {
  235. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  236. m_input += "K";
  237. else
  238. m_input += "k";
  239. CheckInput();
  240. }
  241. break;
  242. case 0x4C:
  243. {
  244. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  245. m_input += "L";
  246. else
  247. m_input += "l";
  248. CheckInput();
  249. }
  250. break;
  251. case 0x4D:
  252. {
  253. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  254. m_input += "M";
  255. else
  256. m_input += "m";
  257. CheckInput();
  258. }
  259. break;
  260. case 0x4E:
  261. {
  262. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  263. m_input += "N";
  264. else
  265. m_input += "n";
  266. CheckInput();
  267. }
  268. break;
  269. case 0x4F:
  270. {
  271. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  272. m_input += "O";
  273. else
  274. m_input += "o";
  275. CheckInput();
  276. }
  277. break;
  278. case 0x50:
  279. {
  280. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  281. m_input += "P";
  282. else
  283. m_input += "p";
  284. CheckInput();
  285. }
  286. break;
  287. case 0x51:
  288. {
  289. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  290. m_input += "Q";
  291. else
  292. m_input += "q";
  293. CheckInput();
  294. }
  295. break;
  296. case 0x52:
  297. {
  298. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  299. m_input += "R";
  300. else
  301. m_input += "r";
  302. CheckInput();
  303. }
  304. break;
  305. case 0x53:
  306. {
  307. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  308. m_input += "S";
  309. else
  310. m_input += "s";
  311. CheckInput();
  312. }
  313. break;
  314. case 0x54:
  315. {
  316. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  317. m_input += "T";
  318. else
  319. m_input += "t";
  320. CheckInput();
  321. }
  322. break;
  323. case 0x55:
  324. {
  325. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  326. m_input += "U";
  327. else
  328. m_input += "u";
  329. CheckInput();
  330. }
  331. break;
  332. case 0x56:
  333. {
  334. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  335. m_input += "V";
  336. else
  337. m_input += "v";
  338. CheckInput();
  339. }
  340. break;
  341. case 0x57:
  342. {
  343. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  344. m_input += "W";
  345. else
  346. m_input += "w";
  347. CheckInput();
  348. }
  349. break;
  350. case 0x58:
  351. {
  352. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  353. m_input += "X";
  354. else
  355. m_input += "x";
  356. CheckInput();
  357. }
  358. break;
  359. case 0x59:
  360. {
  361. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  362. m_input += "Y";
  363. else
  364. m_input += "y";
  365. CheckInput();
  366. }
  367. break;
  368. case 0x5A:
  369. {
  370. if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001))
  371. m_input += "Z";
  372. else
  373. m_input += "z";
  374. CheckInput();
  375. }
  376. break;
  377. #endif
  378. case VK_BACK:
  379. if (m_input.GetLength())
  380. {
  381. m_input.Delete(m_input.GetLength() - 1);
  382. CheckInput();
  383. }
  384. break;
  385. }
  386. }
  387. return CDialog::PreTranslateMessage(pMsg);
  388. }
  389. void InputMemberno::CheckInput()
  390. {
  391. m_memberno = m_input;
  392. UpdateData(false);
  393. CheckType();
  394. }
  395. void InputMemberno::OnChangeEdit1()
  396. {
  397. // TODO: If this is a RICHEDIT control, the control will not
  398. // send this notification unless you override the CDialog::OnInitDialog()
  399. // function and call CRichEditCtrl().SetEventMask()
  400. // with the ENM_CHANGE flag ORed into the mask.
  401. // UpdateData();
  402. // m_input=m_memberno;
  403. // if(m_memberno.GetLength ()>=6)
  404. // OnOK();
  405. // CheckType();
  406. // TODO: Add your control notification handler code here
  407. }
  408. void InputMemberno::OnSetfocusEdit1()
  409. {
  410. GetDlgItem(IDC_EDIT7)->SetFocus();
  411. }
  412. void InputMemberno::CheckType(int type)
  413. {
  414. GetDlgItem(IDOK)->EnableWindow(0);
  415. UpdateData();
  416. m_memberno.TrimLeft();
  417. m_memberno.TrimRight();
  418. SetDlgItemText(IDC_STATIC1, "");
  419. if (m_memberno.IsEmpty())
  420. {
  421. return;
  422. }
  423. int i = 0;
  424. CStringArray namearray;
  425. for ( i = 0; i < m_List1array.GetSize(); i++)
  426. {
  427. if (m_List1array.ElementAt(i).ElementAt(1) == m_memberno)
  428. {
  429. m_type = 0;
  430. GetDlgItem(IDOK)->EnableWindow(1);
  431. m_cardtype = "金卡会员";
  432. m_name = m_List1array.ElementAt(i).ElementAt(2);
  433. UpdateData(false);
  434. if (type != -1 && type == m_type)
  435. return;
  436. if (m_mode)return;
  437. namearray.Add(m_cardtype);
  438. }
  439. }
  440. if (m_mode == 0)
  441. {
  442. for (i = 0; i < m_List2array.GetSize(); i++)
  443. {
  444. if (m_List2array.ElementAt(i).ElementAt(1) == m_memberno)
  445. {
  446. m_type = 1;
  447. m_memberno2 = m_List2array.ElementAt(i).ElementAt(0);
  448. m_memberno2date = m_List2array.ElementAt(i).ElementAt(2);
  449. GetDlgItem(IDOK)->EnableWindow(1);
  450. m_cardtype = "金卡副卡";
  451. GetNameFromNo(m_memberno2, m_membernoname, m_membernosex, m_membernophone);
  452. m_name = m_membernoname;
  453. UpdateData(false);
  454. if (type != -1 && type == m_type)
  455. return;
  456. namearray.Add(m_cardtype);
  457. }
  458. }
  459. for (i = 0; i < m_List3array.GetSize(); i++)
  460. {
  461. if (m_List3array.ElementAt(i).ElementAt(1) == m_memberno)
  462. {
  463. m_type = 2;
  464. GetDlgItem(IDOK)->EnableWindow(1);
  465. m_cardtype = "蓝钻卡会员";
  466. m_name = m_List3array.ElementAt(i).ElementAt(2);
  467. UpdateData(false);
  468. if (type != -1 && type == m_type)
  469. return;
  470. namearray.Add(m_cardtype);
  471. }
  472. }
  473. for (i = 0; i < m_List4array.GetSize(); i++)
  474. {
  475. if (m_List4array.ElementAt(i).ElementAt(1) == m_memberno)
  476. {
  477. m_type = 3;
  478. m_memberno2 = m_List4array.ElementAt(i).ElementAt(0);
  479. m_memberno2date = m_List4array.ElementAt(i).ElementAt(2);
  480. GetDlgItem(IDOK)->EnableWindow(1);
  481. m_cardtype = "蓝钻卡副卡";
  482. GetNameFromNo2(m_memberno2, m_membernoname, m_membernosex, m_membernophone, m_membernojiage);
  483. m_name = m_membernoname;
  484. UpdateData(false);
  485. if (type != -1 && type == m_type)
  486. return;
  487. namearray.Add(m_cardtype);
  488. }
  489. }
  490. }
  491. if (namearray.GetSize() == 1)return;
  492. if (type == -1 && namearray.GetSize() > 1)
  493. {
  494. SelCardType dlg;
  495. dlg.m_pArray = &namearray;
  496. dlg.DoModal();
  497. CheckType(dlg.m_type);
  498. return;
  499. }
  500. m_cardtype = "";
  501. m_name = "";
  502. UpdateData(false);
  503. SetDlgItemText(IDC_STATIC1, "没有这个会员卡号!");
  504. }
  505. void InputMemberno::GetNameFromNo(CString no, CString &name, CString &sex, CString &phone)
  506. {
  507. CString filter = "[memberno]='" + no + "'";
  508. g_sendhead.bsql = 0;
  509. g_sendhead.code[0] = 68;
  510. g_sendhead.tabcount = 1;
  511. g_pMainWnd->ProcessChatMessageRequest2(filter);
  512. if (g_bSendOK == 0)return;
  513. DataToArray(&g_List1array);
  514. if (g_List1array.GetSize())
  515. {
  516. name = g_List1array.ElementAt(0).ElementAt(2);
  517. sex = g_List1array.ElementAt(0).ElementAt(3);
  518. phone = g_List1array.ElementAt(0).ElementAt(4);
  519. return;
  520. }
  521. }
  522. void InputMemberno::GetNameFromNo2(CString no, CString &name, CString &sex, CString &phone, CString &price)
  523. {
  524. CString filter = "[memberno]='" + no + "'";
  525. g_sendhead.bsql = 0;
  526. g_sendhead.code[0] = 130;
  527. g_sendhead.tabcount = 1;
  528. g_pMainWnd->ProcessChatMessageRequest2(filter);
  529. if (g_bSendOK == 0)return;
  530. DataToArray(&g_List1array);
  531. if (g_List1array.GetSize())
  532. {
  533. name = g_List1array.ElementAt(0).ElementAt(2);
  534. sex = g_List1array.ElementAt(0).ElementAt(3);
  535. phone = g_List1array.ElementAt(0).ElementAt(4);
  536. price = g_List1array.ElementAt(0).ElementAt(9);
  537. return;
  538. }
  539. }