Dlg_Card.cpp 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547
  1. // Dlg_Card.cpp : 实现文件
  2. //
  3. #include "stdafx.h"
  4. #include "StoneU_Door.h"
  5. #include "Dlg_Card.h"
  6. #include ".\dlg_card.h"
  7. #include "Global.h"
  8. #include "Dlg_CardProPerty.h"
  9. #include "Dlg_CardInput.h"
  10. #include "DBConnection.h"
  11. // CDlg_Card 对话框
  12. IMPLEMENT_DYNAMIC(CDlg_Card, CDialog)
  13. CDlg_Card::CDlg_Card(CWnd* pParent /*=NULL*/)
  14. : CDialog(CDlg_Card::IDD, pParent)
  15. , m_sEdit_Name(_T(""))
  16. , m_sEdit_CardNumber(_T(""))
  17. , m_sEdit_Class(_T(""))
  18. , m_sEdit_Remarks(_T(""))
  19. , m_sEdit_JobNumber(_T(""))
  20. {
  21. }
  22. CDlg_Card::~CDlg_Card()
  23. {
  24. }
  25. void CDlg_Card::DoDataExchange(CDataExchange* pDX)
  26. {
  27. CDialog::DoDataExchange(pDX);
  28. DDX_Text(pDX, IDC_EDIT_NAME, m_sEdit_Name);
  29. DDX_Text(pDX, IDC_EDIT_CARDNUMBER, m_sEdit_CardNumber);
  30. DDX_Text(pDX, IDC_EDIT_CALSS, m_sEdit_Class);
  31. DDX_Text(pDX, IDC_EDIT_DOOR1NAME, m_sEdit_Remarks);
  32. DDX_Control(pDX, IDC_LIST_CONTROL, m_List_Card);
  33. DDX_Text(pDX, IDC_EDIT_JOBNUMBER, m_sEdit_JobNumber);
  34. DDX_Control(pDX, IDC_BTN_ADD, m_Btn_Add);
  35. DDX_Control(pDX, IDC_BTN_SAVE, m_Btn_Modify);
  36. DDX_Control(pDX, IDC_BTN_DELETE, m_Btn_Delete);
  37. DDX_Control(pDX, IDC_BTN_INPUT, m_Btn_Input);
  38. DDX_Control(pDX, IDC_BTN_EXPUT, m_Btn_Exput);
  39. }
  40. BEGIN_MESSAGE_MAP(CDlg_Card, CDialog)
  41. ON_BN_CLICKED(IDC_BTN_ADD, OnBnClickedBtnAdd)
  42. ON_BN_CLICKED(IDC_BTN_SAVE, OnBnClickedBtnSave)
  43. ON_BN_CLICKED(IDC_BTN_DELETE, OnBnClickedBtnDel)
  44. ON_NOTIFY(NM_CLICK, IDC_LIST_CONTROL, OnNMClickListControl)
  45. ON_WM_CTLCOLOR()
  46. ON_WM_ERASEBKGND()
  47. ON_NOTIFY(NM_DBLCLK, IDC_LIST_CONTROL, OnNMDblclkListControl)
  48. ON_BN_CLICKED(IDC_BTN_INPUT, OnBnClickedBtnInput)
  49. ON_BN_CLICKED(IDC_BTN_EXPUT, OnBnClickedBtnExput)
  50. END_MESSAGE_MAP()
  51. // CDlg_Card 消息处理程序
  52. BOOL CDlg_Card::OnInitDialog()
  53. {
  54. CDialog::OnInitDialog();
  55. // TODO: 在此添加额外的初始化
  56. //m_List_Card.InsertColumn( 0, "编号" );
  57. //m_List_Card.InsertColumn( 1, "名称" );
  58. //m_List_Card.InsertColumn( 2, "卡编号" );
  59. //m_List_Card.InsertColumn( 3, "部门" );
  60. //m_List_Card.InsertColumn( 4, "工号" );
  61. //m_List_Card.InsertColumn( 5, "备注" );
  62. //m_List_Card.SetColumnWidth( 0, 60 );
  63. //m_List_Card.SetColumnWidth( 1, 120);
  64. //m_List_Card.SetColumnWidth( 2, 100);
  65. //m_List_Card.SetColumnWidth( 3, 100);
  66. //m_List_Card.SetColumnWidth( 4, 60);
  67. //m_List_Card.SetColumnWidth( 5, 525);
  68. //m_List_Card.SetExtendedStyle(m_List_Card.GetExtendedStyle() | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
  69. InitList();
  70. ReadCard( &m_List_Card );
  71. return TRUE; // return TRUE unless you set the focus to a control
  72. // 异常: OCX 属性页应返回 FALSE
  73. }
  74. int CDlg_Card::InitList(void)
  75. {
  76. //m_List_Info.InsertColumn( 0, "执行时刻" );
  77. //m_List_Info.InsertColumn( 1, "人员信息" );
  78. //m_List_Info.InsertColumn( 2, "描述" );
  79. //m_List_Info.InsertColumn( 3, "信息" );
  80. //m_List_Info.SetColumnWidth( 0, 120 );
  81. //m_List_Info.SetColumnWidth( 1, 200);
  82. //m_List_Info.SetColumnWidth( 2, 200);
  83. //m_List_Info.SetColumnWidth( 3, 650);
  84. //m_List_Info.SetExtendedStyle(m_List_Info.GetExtendedStyle() | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
  85. //m_List_Rule.SetColColor(0,RGB(10,150,20)); //设置列背景色
  86. //m_List_Rule.SetColColor(2,RGB(30,100,90)); //设置列背景色
  87. //m_List_Rule.SetBkColor(RGB(50,10,10)); //设置背景色
  88. //m_List_Rule.SetItemColor(1,1,RGB(100,100,10)); //设置指定单元背景色
  89. //m_List_Rule.SetRowHeigt(25); //设置行高度
  90. //m_List_Rule.SetHeaderHeight(1.5); //设置头部高度
  91. //m_List_Rule.SetHeaderFontHW(16,0); //设置头部字体高度,和宽度,0表示缺省,自适应
  92. //m_List_Record.SetHeaderTextColor(RGB(0,0,0)); //设置头部字体颜色
  93. //m_List_Rule.SetTextColor(RGB(0,255,255)); //设置文本颜色
  94. m_List_Card.SetHeaderBKColor(213,222,242,8); //设置头部背景色
  95. ////m_List_Rule.SetFontHW(15,0); //设置字体高度,和宽度,0表示缺省宽度
  96. //m_List_Rule.SetColTextColor(2,RGB(255,255,100)); //设置列文本颜色
  97. //m_List_Rule.SetItemTextColor(3,1,RGB(255,0,0)); //设置单元格字体颜色
  98. m_List_Card.InsertColumn(0,g_strIndex,LVCFMT_LEFT,40);
  99. m_List_Card.InsertColumn(1,g_strName,LVCFMT_LEFT,120);
  100. m_List_Card.InsertColumn(2,g_strCardNumber,LVCFMT_LEFT,100);
  101. m_List_Card.InsertColumn(3,g_strClass,LVCFMT_LEFT,100);
  102. m_List_Card.InsertColumn(4,g_strJobNumber,LVCFMT_LEFT,60);
  103. m_List_Card.InsertColumn(5,g_strInfomation,LVCFMT_LEFT,525);
  104. SetWindowLong(m_List_Card.m_hWnd ,GWL_EXSTYLE,WS_EX_CLIENTEDGE);
  105. m_List_Card.SetExtendedStyle(LVS_EX_GRIDLINES); //设置扩展风格为网格
  106. ::SendMessage(m_List_Card.m_hWnd, LVM_SETEXTENDEDLISTVIEWSTYLE,LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT);
  107. m_List_Card.SetRowHeigt( 20 );
  108. return 0;
  109. }
  110. void CDlg_Card::SetPos( CRect rect )
  111. {
  112. CRect rc1;
  113. rc1.left = 0;
  114. rc1.right = rc1.left+rect.Width();
  115. rc1.top = 0;
  116. rc1.bottom = rc1.top+rect.Height()-4;
  117. this->MoveWindow( rc1 );
  118. CRect rc2;
  119. rc2.left = rc1.left + 10;
  120. rc2.right = rc1.right - 10;
  121. rc2.top = 10;
  122. rc2.bottom = rc1.bottom - 40;
  123. m_List_Card.MoveWindow( rc2 );
  124. CRect rc17;
  125. rc17.right = rc2.right-20;
  126. rc17.left = rc17.right-120;
  127. rc17.top = rc2.bottom+5;
  128. rc17.bottom = rc1.bottom-5;
  129. m_Btn_Delete.MoveWindow( rc17 );
  130. CRect rc18;
  131. rc18.right = rc17.left-5;
  132. rc18.left = rc18.right-120;
  133. rc18.top = rc2.bottom+5;
  134. rc18.bottom = rc1.bottom-5;
  135. m_Btn_Modify.MoveWindow( rc18 );
  136. CRect rc19;
  137. rc19.right = rc18.left-5;
  138. rc19.left = rc19.right-120;
  139. rc19.top = rc2.bottom+5;
  140. rc19.bottom = rc1.bottom-5;
  141. m_Btn_Add.MoveWindow( rc19 );
  142. CRect rc20;
  143. rc20.right = rc19.left-5;
  144. rc20.left = rc20.right-120;
  145. rc20.top = rc2.bottom+5;
  146. rc20.bottom = rc1.bottom-5;
  147. m_Btn_Exput.MoveWindow( rc20 );
  148. CRect rc21;
  149. rc21.right = rc20.left-5;
  150. rc21.left = rc21.right-120;
  151. rc21.top = rc2.bottom+5;
  152. rc21.bottom = rc1.bottom-5;
  153. m_Btn_Input.MoveWindow( rc21 );
  154. }
  155. void CDlg_Card::OnBnClickedBtnAdd()
  156. {
  157. CDlg_CardProPerty dlg;
  158. dlg.m_nOperate = ADD;
  159. if( dlg.DoModal()==IDOK )
  160. {
  161. CString sIndex;
  162. sIndex.Format("%d",dlg.m_nID );
  163. m_List_Card.InsertItem( 0,sIndex );
  164. m_List_Card.SetItemText( 0,1," "+dlg.m_sEdit_Name );
  165. m_List_Card.SetItemText( 0,2," "+dlg.m_sEdit_CardNumber );
  166. m_List_Card.SetItemText( 0,3," "+dlg.m_sEdit_Class );
  167. m_List_Card.SetItemText( 0,4," "+dlg.m_sEdit_JobNumber );
  168. m_List_Card.SetItemText( 0,5," "+dlg.m_sEdit_Remarks );
  169. for( int i=0;i<CARD_NUM_MAX;i++ )
  170. {
  171. if( g_Card[i].nID<0 )
  172. {
  173. g_Card[i].nID = dlg.m_nID;
  174. g_Card[i].sName = dlg.m_sEdit_Name;
  175. g_Card[i].nNumber = atoi( dlg.m_sEdit_CardNumber );
  176. g_Card[i].sClass = dlg.m_sEdit_Class;
  177. g_Card[i].sJobNumber = dlg.m_sEdit_JobNumber;
  178. g_Card[i].sRemarks = dlg.m_sEdit_Remarks;
  179. break;
  180. }
  181. }
  182. }
  183. //UpdateData();
  184. //int nIndex = ADOCtrl.InsertCard( m_sEdit_Name,m_sEdit_CardNumber,m_sEdit_Class,m_sEdit_JobNumber,m_sEdit_Remarks );
  185. //if( nIndex>0 )
  186. //{
  187. // CString sIndex;
  188. // sIndex.Format("%d",nIndex );
  189. // m_List_Card.InsertItem( 0,sIndex );
  190. // m_List_Card.SetItemText( 0,1,m_sEdit_Name );
  191. // m_List_Card.SetItemText( 0,2,m_sEdit_CardNumber );
  192. // m_List_Card.SetItemText( 0,3,m_sEdit_Class );
  193. // m_List_Card.SetItemText( 0,4,m_sEdit_JobNumber );
  194. // m_List_Card.SetItemText( 0,5,m_sEdit_Remarks );
  195. // for( int i=0;i<CARD_NUM_MAX;i++ )
  196. // {
  197. // if( g_Card[i].nID == -1 )
  198. // {
  199. // g_Card[i].nID = nIndex;
  200. // g_Card[i].sName = m_sEdit_Name;
  201. // g_Card[i].nNumber = atol( m_sEdit_CardNumber );
  202. // g_Card[i].sClass = m_sEdit_Class;
  203. // g_Card[i].sJobNumber = m_sEdit_JobNumber;
  204. // g_Card[i].sRemarks = m_sEdit_Remarks;
  205. // break;
  206. // }
  207. // }
  208. //}
  209. }
  210. void CDlg_Card::OnBnClickedBtnSave()
  211. {
  212. int iListCount = m_List_Card.GetItemCount();
  213. POSITION pos = m_List_Card.GetFirstSelectedItemPosition();
  214. int nListSel = m_List_Card.GetNextSelectedItem(pos);
  215. if(nListSel>=iListCount || nListSel==-1)
  216. {
  217. return;
  218. }
  219. CString str;
  220. str = m_List_Card.GetItemText( nListSel,0 );
  221. CDlg_CardProPerty dlg;
  222. dlg.m_nOperate = EDIT;
  223. dlg.m_nID = atoi( str );
  224. if( dlg.DoModal()==IDOK )
  225. {
  226. m_List_Card.SetItemText( nListSel,1," "+dlg.m_sEdit_Name );
  227. m_List_Card.SetItemText( nListSel,2," "+dlg.m_sEdit_CardNumber );
  228. m_List_Card.SetItemText( nListSel,3," "+dlg.m_sEdit_Class );
  229. m_List_Card.SetItemText( nListSel,4," "+dlg.m_sEdit_JobNumber );
  230. m_List_Card.SetItemText( nListSel,5," "+dlg.m_sEdit_Remarks );
  231. for( int i=0;i<CARD_NUM_MAX;i++ )
  232. {
  233. if( g_Card[i].nID==dlg.m_nID )
  234. {
  235. g_Card[i].sName = dlg.m_sEdit_Name;
  236. g_Card[i].nNumber = atoi( dlg.m_sEdit_CardNumber );
  237. g_Card[i].sClass = dlg.m_sEdit_Class;
  238. g_Card[i].sJobNumber = dlg.m_sEdit_JobNumber;
  239. g_Card[i].sRemarks = dlg.m_sEdit_Remarks;
  240. break;
  241. }
  242. }
  243. }
  244. //UpdateData();
  245. //if( 0 < ADOCtrl.UpdateCard( atoi(str),m_sEdit_Name,m_sEdit_CardNumber,m_sEdit_Class,m_sEdit_JobNumber,m_sEdit_Remarks ) )
  246. //{
  247. // m_List_Card.SetItemText( nListSel,1," "+m_sEdit_Name );
  248. // m_List_Card.SetItemText( nListSel,2," "+m_sEdit_CardNumber );
  249. // m_List_Card.SetItemText( nListSel,3," "+m_sEdit_Class );
  250. // m_List_Card.SetItemText( nListSel,4," "+m_sEdit_JobNumber );
  251. // m_List_Card.SetItemText( nListSel,5," "+m_sEdit_Remarks );
  252. // for( int i=0;i<CARD_NUM_MAX;i++ )
  253. // {
  254. // if( g_Card[i].nID == atoi(str) )
  255. // {
  256. // g_Card[i].nID = atoi( str );
  257. // g_Card[i].sName = m_sEdit_Name;
  258. // g_Card[i].nNumber = atol( m_sEdit_CardNumber );
  259. // g_Card[i].sClass = m_sEdit_Class;
  260. // g_Card[i].sJobNumber = m_sEdit_JobNumber;
  261. // g_Card[i].sRemarks = m_sEdit_Remarks;
  262. // break;
  263. // }
  264. // }
  265. //}
  266. }
  267. void CDlg_Card::OnBnClickedBtnDel()
  268. {
  269. int iListCount = m_List_Card.GetItemCount();
  270. POSITION pos = m_List_Card.GetFirstSelectedItemPosition();
  271. int nListSel = m_List_Card.GetNextSelectedItem(pos);
  272. if(nListSel>=iListCount || nListSel==-1)
  273. {
  274. MessageBox( g_strChooseThenDel, g_strTip, MB_ICONINFORMATION);
  275. return;
  276. }
  277. CString str;
  278. if( MessageBox( "确定要删除所选的卡信息?", g_strTip, MB_YESNO|MB_ICONINFORMATION)!=IDYES )
  279. return;
  280. pos = m_List_Card.GetFirstSelectedItemPosition();
  281. if(NULL == pos)
  282. {
  283. }
  284. else
  285. {
  286. while(pos)
  287. {
  288. int nItem = m_List_Card.GetNextSelectedItem(pos);
  289. str = m_List_Card.GetItemText( nItem,0 );
  290. if( DelItemFromTable( "t_door_card","id",atoi(str) ) )
  291. m_List_Card.DeleteItem( nItem );
  292. for( int i=0;i<CARD_NUM_MAX;i++ )
  293. {
  294. if( g_Card[i].nID == atoi(str) )
  295. {
  296. g_Card[i].nID = -1;
  297. break;
  298. }
  299. }
  300. pos = m_List_Card.GetFirstSelectedItemPosition();
  301. }
  302. }
  303. }
  304. void CDlg_Card::OnNMClickListControl(NMHDR *pNMHDR, LRESULT *pResult)
  305. {
  306. // TODO: 在此添加控件通知处理程序代码
  307. /*int iListCount = m_List_Card.GetItemCount();
  308. POSITION pos = m_List_Card.GetFirstSelectedItemPosition();
  309. int nListSel = m_List_Card.GetNextSelectedItem(pos);
  310. if(nListSel>=iListCount || nListSel==-1)
  311. {
  312. return;
  313. }
  314. CString str;
  315. str = m_List_Card.GetItemText( nListSel,0 );
  316. ADOCtrl.ReadCard( atoi(str),m_sEdit_Name,m_sEdit_CardNumber,m_sEdit_Class,m_sEdit_JobNumber,m_sEdit_Remarks );
  317. UpdateData(false);*/
  318. *pResult = 0;
  319. }
  320. HBRUSH CDlg_Card::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
  321. {
  322. HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
  323. // TODO: 在此更改 DC 的任何属性
  324. int nID = pWnd->GetDlgCtrlID();
  325. //HBRUSH B1 = CreateSolidBrush( g_ColorGround );
  326. HBRUSH B1 = CreateSolidBrush( g_Color3 );
  327. if(nCtlColor == CTLCOLOR_STATIC)
  328. {
  329. // pOldFont = pDC->SelectObject(&m_font1);
  330. pDC->SetTextColor(RGB(0, 0, 0));
  331. pDC->SetBkMode( TRANSPARENT );
  332. //pDC->SelectObject(pOldFont);
  333. DeleteObject( B1 );
  334. return B1;
  335. }
  336. DeleteObject( B1 );
  337. // TODO: 如果默认的不是所需画笔,则返回另一个画笔
  338. return hbr;
  339. }
  340. BOOL CDlg_Card::OnEraseBkgnd(CDC* pDC)
  341. {
  342. CBrush br1;
  343. CRect rect;
  344. GetWindowRect(&rect);
  345. ScreenToClient(&rect);
  346. br1.CreateSolidBrush(g_Color3);
  347. pDC->FillRect(rect,&br1);
  348. DeleteObject( br1 );
  349. return TRUE;
  350. //return CDialog::OnEraseBkgnd(pDC);
  351. }
  352. void CDlg_Card::OnNMDblclkListControl(NMHDR *pNMHDR, LRESULT *pResult)
  353. {
  354. // TODO: 在此添加控件通知处理程序代码
  355. int iListCount = m_List_Card.GetItemCount();
  356. POSITION pos = m_List_Card.GetFirstSelectedItemPosition();
  357. int nListSel = m_List_Card.GetNextSelectedItem(pos);
  358. if(nListSel>=iListCount || nListSel==-1)
  359. {
  360. return;
  361. }
  362. CString str;
  363. str = m_List_Card.GetItemText( nListSel,0 );
  364. CDlg_CardProPerty dlg;
  365. dlg.m_nOperate = EDIT;
  366. dlg.m_nID = atoi( str );
  367. if( dlg.DoModal()==IDOK )
  368. {
  369. m_List_Card.SetItemText( nListSel,1," "+dlg.m_sEdit_Name );
  370. m_List_Card.SetItemText( nListSel,2," "+dlg.m_sEdit_CardNumber );
  371. m_List_Card.SetItemText( nListSel,3," "+dlg.m_sEdit_Class );
  372. m_List_Card.SetItemText( nListSel,4," "+dlg.m_sEdit_JobNumber );
  373. m_List_Card.SetItemText( nListSel,5," "+dlg.m_sEdit_Remarks );
  374. for( int i=0;i<CARD_NUM_MAX;i++ )
  375. {
  376. if( g_Card[i].nID==dlg.m_nID )
  377. {
  378. g_Card[i].sName = dlg.m_sEdit_Name;
  379. g_Card[i].nNumber = atoi( dlg.m_sEdit_CardNumber );
  380. g_Card[i].sClass = dlg.m_sEdit_Class;
  381. g_Card[i].sJobNumber = dlg.m_sEdit_JobNumber;
  382. g_Card[i].sRemarks = dlg.m_sEdit_Remarks;
  383. break;
  384. }
  385. }
  386. }
  387. *pResult = 0;
  388. }
  389. void CDlg_Card::OnBnClickedBtnInput()
  390. {
  391. DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
  392. CString strFindFile = "";
  393. LPSTR lpszFile = (char*)(const char*)strFindFile;
  394. LPSTR lpszFilter = "(Excel*.xls)|*.xls||";
  395. CFileDialog dlg(TRUE,"Excel",lpszFile,dwFlags,lpszFilter);
  396. if(dlg.DoModal() == IDOK)
  397. {
  398. strFindFile = dlg.GetPathName();
  399. CDlg_CardInput dlg;
  400. dlg.m_sExcelPath = strFindFile;
  401. dlg.DoModal();
  402. }
  403. }
  404. void CDlg_Card::OnBnClickedBtnExput()
  405. {
  406. ExportListToExcel( &m_List_Card,"卡信息表" );
  407. }
  408. void CDlg_Card::ReadCard( CListCtrl *pListCtrl )
  409. {
  410. int m=0;
  411. CHAR strSQLText[MAX_SQL_LENGTH + 1] = "";
  412. list<string> list1,list2,list3,list4,list5,list6;
  413. list<string>::iterator it_list1,it_list2,it_list3,it_list4,it_list5,it_list6;
  414. if(!_stricmp(g_strDBType, "PGSQL"))
  415. {
  416. sprintf(strSQLText, "select id, susername, scardnumber,sclass,sjobnumber,sremarks from t_door_card order by id");
  417. }
  418. else
  419. {
  420. sprintf(strSQLText, "select id, susername, scardnumber,sclass,sjobnumber,sremarks from t_door_card order by id");
  421. }
  422. int nRet = GetFieldValueList6( strSQLText,list1,list2,list3,list4,list5,list6);
  423. if( 0 == list1.size() || 0 == list2.size() )
  424. {
  425. return ;
  426. }
  427. if( nRet != -1 )
  428. {
  429. int nIndex = 0;
  430. CString sID,sUserName,sCardNumber,sClass,sJobNumber,sRemarks;
  431. CString sTemp;
  432. for( it_list1=list1.begin(),it_list2=list2.begin(),it_list3=list3.begin(),
  433. it_list4=list4.begin(),it_list5=list5.begin(),it_list6=list6.begin();
  434. it_list1!=list1.end() && it_list2!=list2.end() && it_list3!=list3.end() &&
  435. it_list4!=list4.end() && it_list5!=list5.end() && it_list6!=list6.end();
  436. it_list1++,it_list2++,it_list3++,
  437. it_list4++,it_list5++,it_list6++ )
  438. {
  439. sID = (*it_list1).c_str();
  440. sUserName = (*it_list2).c_str();
  441. sCardNumber = (*it_list3).c_str();
  442. sClass = (*it_list4).c_str();
  443. sJobNumber = (*it_list5).c_str();
  444. sRemarks = (*it_list6).c_str();
  445. int n=0;
  446. pListCtrl->InsertItem( n,sID );
  447. pListCtrl->SetItemText( n,1," "+sUserName );
  448. pListCtrl->SetItemText( n,2," "+sCardNumber );
  449. pListCtrl->SetItemText( n,3," "+sClass );
  450. pListCtrl->SetItemText( n,4," "+sJobNumber );
  451. pListCtrl->SetItemText( n,5," "+sRemarks );
  452. g_Card[nIndex].nID = atoi( sID );
  453. g_Card[nIndex].sName = sUserName;
  454. g_Card[nIndex].nNumber = atol( sCardNumber );
  455. g_Card[nIndex].sClass = sClass;
  456. g_Card[nIndex].sJobNumber = sJobNumber;
  457. g_Card[nIndex].sRemarks = sRemarks;
  458. nIndex++;
  459. }
  460. }
  461. for( it_list1=list1.begin(),it_list2=list2.begin(),it_list3=list3.begin(),it_list4=list4.begin(),it_list5=list5.begin(),it_list6=list6.begin();
  462. it_list1!=list1.end(),it_list2!=list2.end(),it_list3!=list3.end(),it_list4!=list4.end(),it_list5!=list5.end(),it_list6!=list6.end();)
  463. {
  464. list1.erase(it_list1++);
  465. list2.erase(it_list2++);
  466. list3.erase(it_list3++);
  467. list4.erase(it_list4++);
  468. list5.erase(it_list5++);
  469. list6.erase(it_list6++);
  470. }
  471. }