SetTimeDlg.cpp 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445
  1. // SetTimeDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "vcdemo.h"
  5. #include "SetTimeDlg.h"
  6. #include "VcDemoDlg.h"
  7. #include "ManageTimeDlg.h"
  8. #include "RemarkDlg.h"
  9. #ifdef _DEBUG
  10. #define new DEBUG_NEW
  11. #undef THIS_FILE
  12. static char THIS_FILE[] = __FILE__;
  13. #endif
  14. /////////////////////////////////////////////////////////////////////////////
  15. // CSetTimeDlg dialog
  16. CSetTimeDlg::CSetTimeDlg(CWnd* pParent /*=NULL*/)
  17. : CDialog(CSetTimeDlg::IDD, pParent)
  18. {
  19. //{{AFX_DATA_INIT(CSetTimeDlg)
  20. m_sNumber = _T("");
  21. m_sTels = _T("");
  22. m_sNTel = _T("");
  23. m_sMessage = _T("");
  24. m_MsgType = _T("");
  25. //}}AFX_DATA_INIT
  26. }
  27. void CSetTimeDlg::DoDataExchange(CDataExchange* pDX)
  28. {
  29. CDialog::DoDataExchange(pDX);
  30. //{{AFX_DATA_MAP(CSetTimeDlg)
  31. DDX_Control(pDX, IDC_LIST_RecordList, m_RecordList);
  32. DDX_Text(pDX, IDC_EDIT_Number, m_sNumber);
  33. DDX_Text(pDX, IDC_EDIT_Tels, m_sTels);
  34. DDX_Text(pDX, IDC_EDIT_NTel, m_sNTel);
  35. DDX_Text(pDX, IDC_EDIT_Message, m_sMessage);
  36. DDX_Text(pDX, IDC_EDIT_MsgType, m_MsgType);
  37. //}}AFX_DATA_MAP
  38. }
  39. BEGIN_MESSAGE_MAP(CSetTimeDlg, CDialog)
  40. //{{AFX_MSG_MAP(CSetTimeDlg)
  41. ON_BN_CLICKED(IDC_BUTTON_Resh, OnBUTTONResh)
  42. ON_NOTIFY(NM_CLICK, IDC_LIST_RecordList, OnClickLISTRecordList)
  43. ON_BN_CLICKED(IDC_BUTTON_Update, OnBUTTONUpdate)
  44. ON_BN_CLICKED(IDC_BUTTON_ReadSetTime, OnBUTTONReadSetTime)
  45. ON_BN_CLICKED(IDC_BUTTON_ReadTels, OnBUTTONReadTels)
  46. ON_BN_CLICKED(IDC_BUTTON_DelOne, OnBUTTONDelOne)
  47. ON_BN_CLICKED(IDC_BUTTON_DelAll, OnBUTTONDelAll)
  48. ON_BN_CLICKED(IDC_BUTTON_Clear, OnBUTTONClear)
  49. //}}AFX_MSG_MAP
  50. END_MESSAGE_MAP()
  51. /////////////////////////////////////////////////////////////////////////////
  52. // CSetTimeDlg message handlers
  53. CVcDemoDlg *pDlg;
  54. BOOL CSetTimeDlg::OnInitDialog()
  55. {
  56. CDialog::OnInitDialog();
  57. pDlg=(CVcDemoDlg *)GetParent();
  58. InitCtrList();
  59. // TODO: Add extra initialization here
  60. return TRUE; // return TRUE unless you set the focus to a control
  61. // EXCEPTION: OCX Property Pages should return FALSE
  62. }
  63. void CSetTimeDlg::InitCtrList()
  64. {
  65. char *name[]={"编号","定时时间","开始日期","结束日期"};
  66. short size[]={40,60,80,80};
  67. DWORD dwStyle=LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT|LVS_EX_ONECLICKACTIVATE|LVS_EX_FLATSB;
  68. m_RecordList.SetExtendedStyle(dwStyle);
  69. LV_COLUMN item;
  70. item.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
  71. item.iSubItem = 1;
  72. item.fmt = LVCFMT_LEFT;
  73. for(int i = 0; i < sizeof(name) / sizeof(char *); i++)
  74. {
  75. item.cx =size[i];
  76. item.pszText = name[i];
  77. m_RecordList.InsertColumn(i,name[i],LVCFMT_LEFT,size[i]);
  78. }
  79. /*
  80. m_RecordList.DeleteAllItems();
  81. char Tempbuf[10][255];
  82. CString sTemp,sNumber,sTempBeginDate,sTempEndDate,sTempTime;
  83. int iTemp=0,iRet=0,iPos,nItem=0,icount;
  84. memset(Tempbuf, 0, sizeof(Tempbuf));
  85. do{
  86. iRet=pDlg->ManageReadSetTime(iTemp,2,Tempbuf);
  87. icount=0;
  88. if (iRet==1) {
  89. do {
  90. sTemp=Tempbuf[icount];
  91. if(sTemp==""||icount>=10||sTemp==" ")
  92. {
  93. iTemp=atoi(sNumber);
  94. break;
  95. }
  96. sTemp.TrimLeft();
  97. sTemp.TrimRight();
  98. iPos=sTemp.Find(",");
  99. sNumber=sTemp.Mid(0,iPos);
  100. LV_ITEM m_ListItem;
  101. m_ListItem.mask=LVIF_TEXT;
  102. m_ListItem.iItem=nItem;
  103. m_ListItem.iSubItem=0;
  104. m_ListItem.pszText=(LPTSTR)(LPCTSTR)sNumber;
  105. m_RecordList.InsertItem(&m_ListItem);
  106. m_RecordList.SetItemText(nItem,0,sNumber);
  107. sTemp.Delete(0,2);
  108. iPos=sTemp.Find(",");
  109. sTempBeginDate=sTemp.Mid(0,iPos);
  110. m_RecordList.SetItemText(nItem,2,sTempBeginDate);
  111. sTemp.Delete(0,iPos+1);
  112. iPos=sTemp.Find(",");
  113. sTempEndDate=sTemp.Mid(0,iPos);
  114. m_RecordList.SetItemText(nItem,3,sTempEndDate);
  115. sTemp.Delete(0,iPos+1);
  116. iPos=sTemp.Find(",");
  117. sTempTime=sTemp.Mid(0,iPos);
  118. m_RecordList.SetItemText(nItem,1,sTempTime);
  119. memset(Tempbuf, 0, 250);
  120. ++nItem;
  121. icount++;
  122. } while(TRUE);
  123. }
  124. else
  125. {
  126. break;
  127. }
  128. memset(Tempbuf, 0, sizeof(Tempbuf));
  129. }while (TRUE) ;*/
  130. ListCtrResh();
  131. UpdateData(FALSE);
  132. return;
  133. }
  134. void CSetTimeDlg::OnBUTTONResh()
  135. {
  136. ListCtrResh();
  137. ClearControl();
  138. }
  139. void CSetTimeDlg::OnOK()
  140. {
  141. UpdateData(TRUE);
  142. int iNumber,iNTel,iRet;
  143. iNumber=atoi(m_sNumber);
  144. iNTel=atoi(m_sNTel);
  145. CManageTimeDlg dlg;
  146. if(dlg.DoModal()==IDOK)
  147. {
  148. iRet=pDlg->ManageSendTimeMessage(dlg.m_iType,dlg.sBeginDate,dlg.sEndDate,dlg.iFlag,dlg.sTime,iNTel,m_sMessage,m_sTels);
  149. if (iRet<=0) {
  150. AfxMessageBox("发送定时信息失败!!");
  151. }
  152. else{
  153. AfxMessageBox("发送定时信息成功!!");
  154. ListCtrResh();
  155. }
  156. }
  157. else{
  158. AfxMessageBox("定时没有设置!!");
  159. }
  160. ClearControl();
  161. UpdateData(FALSE);
  162. return;
  163. }
  164. void CSetTimeDlg::OnClickLISTRecordList(NMHDR* pNMHDR, LRESULT* pResult)
  165. {
  166. CString sNumber;
  167. char Tempbuf[10][1024];
  168. char TempTels[20000]={0};
  169. if(m_RecordList.GetSelectedCount()==0)
  170. {
  171. return;
  172. }
  173. int j=m_RecordList.GetItemCount();
  174. for(int k=0;k<j;k++)
  175. {
  176. if(m_RecordList.GetItemState(k,LVIS_SELECTED)==LVIS_SELECTED)
  177. {
  178. sNumber=m_RecordList.GetItemText(k,0);
  179. }
  180. }
  181. CString sTemp;
  182. int iNumber,iRet,iPos;
  183. iNumber=atoi(sNumber);
  184. CVcDemoDlg *pDlg;
  185. pDlg=(CVcDemoDlg *)GetParent();
  186. iRet=pDlg->ManageReadSetTime(iNumber,1,Tempbuf);
  187. if (iRet!=1) {
  188. AfxMessageBox("读取定时信息失败!!");
  189. return;
  190. }
  191. sTemp=Tempbuf[0];
  192. sTemp.TrimLeft();
  193. sTemp.TrimRight();
  194. iPos=sTemp.Find(",");
  195. m_sNumber=sTemp.Mid(0,iPos);
  196. sTemp.Delete(0,2);
  197. iPos=sTemp.Find(",");
  198. sTemp.Delete(0,iPos+1);
  199. iPos=sTemp.Find(",");
  200. sTemp.Delete(0,iPos+1);
  201. iPos=sTemp.Find(",");
  202. sTemp.Delete(0,iPos+1);
  203. m_sMessage=sTemp;
  204. iPos=atoi(m_sNumber);
  205. iRet=pDlg->ManageReadNTels(iNumber,TempTels);
  206. if (iRet!=1) {
  207. AfxMessageBox("读取定时号码失败!!");
  208. }
  209. sTemp=TempTels;
  210. sTemp.TrimLeft();
  211. sTemp.TrimRight();
  212. iPos=sTemp.Find(",");
  213. m_sNTel=sTemp.Mid(0,iPos);
  214. sTemp.Delete(0,iPos+1);
  215. iPos=sTemp.Find(",");
  216. m_sTels=sTemp;
  217. UpdateData(FALSE);
  218. *pResult = 0;
  219. return;
  220. }
  221. void CSetTimeDlg::OnBUTTONUpdate()
  222. {
  223. UpdateData(TRUE);
  224. int iNumber,iNTel,iRet;
  225. iNumber=atoi(m_sNumber);
  226. iNTel=atoi(m_sNTel);
  227. CManageTimeDlg dlg;
  228. if(dlg.DoModal()==IDOK)
  229. {
  230. iRet=pDlg->ManageUpdateSetTime(iNumber,dlg.m_iType,dlg.sBeginDate,dlg.sEndDate,dlg.iFlag,dlg.sTime,iNTel,m_sMessage,m_sTels);
  231. if (iRet!=1) {
  232. AfxMessageBox("更新定时信息失败!!");
  233. }
  234. else{
  235. AfxMessageBox("更新定时信息成功!!");
  236. }
  237. }
  238. else{
  239. AfxMessageBox("定时没有设置!!");
  240. }
  241. ClearControl();
  242. UpdateData(FALSE);
  243. }
  244. void CSetTimeDlg::OnBUTTONReadSetTime()
  245. {
  246. UpdateData(TRUE);
  247. int iNumber,iRet,iPos;
  248. char Tempbuf[10][1024];
  249. char TempTels[20000]={0};
  250. iNumber=atoi(m_sNumber);
  251. CString sTemp;
  252. iRet=pDlg->ManageReadSetTime(iNumber,1,Tempbuf);
  253. if (iRet!=1) {
  254. AfxMessageBox("读取定时信息失败!!");
  255. return;
  256. }
  257. sTemp=Tempbuf[0];
  258. sTemp.TrimLeft();
  259. sTemp.TrimRight();
  260. iPos=sTemp.Find(",");
  261. m_sNumber=sTemp.Mid(0,iPos);
  262. sTemp.Delete(0,2);
  263. iPos=sTemp.Find(",");
  264. sTemp.Delete(0,iPos+1);
  265. iPos=sTemp.Find(",");
  266. sTemp.Delete(0,iPos+1);
  267. iPos=sTemp.Find(",");
  268. sTemp.Delete(0,iPos+1);
  269. m_sMessage=sTemp;
  270. iPos=atoi(m_sNumber);
  271. iRet=pDlg->ManageReadNTels(iNumber,TempTels);
  272. if (iRet!=1) {
  273. AfxMessageBox("发送定时信息失败!!");
  274. return;
  275. }
  276. sTemp=TempTels;
  277. sTemp.TrimLeft();
  278. sTemp.TrimRight();
  279. iPos=sTemp.Find(",");
  280. m_sNTel=sTemp.Mid(0,iPos);
  281. sTemp.Delete(0,iPos+1);
  282. iPos=sTemp.Find(",");
  283. m_sTels=sTemp;
  284. UpdateData(FALSE);
  285. }
  286. void CSetTimeDlg::OnBUTTONReadTels()
  287. {
  288. UpdateData(TRUE);
  289. int iNumber,iRet,iPos;
  290. char Tempbuf[20000]={0};
  291. CString sTemp;
  292. iNumber=atoi(m_sNumber);
  293. iRet=pDlg->ManageReadNTels(iNumber,Tempbuf);
  294. if (iRet!=1) {
  295. AfxMessageBox("读取电话号码信息失败!!");
  296. }
  297. else{
  298. AfxMessageBox("读取电话号码信息成功!!");
  299. sTemp=Tempbuf;
  300. sTemp.TrimLeft();
  301. sTemp.TrimRight();
  302. iPos=sTemp.Find(",");
  303. m_sNTel=sTemp.Mid(0,iPos);
  304. sTemp.Delete(0,iPos+1);
  305. iPos=sTemp.Find(",");
  306. m_sTels=sTemp;
  307. }
  308. UpdateData(FALSE);
  309. }
  310. void CSetTimeDlg::OnBUTTONDelOne()
  311. {
  312. UpdateData(TRUE);
  313. int iNumber,iRet;
  314. iNumber=atoi(m_sNumber);
  315. iRet=pDlg->ManageDelOneTime(iNumber);
  316. if (iRet!=1) {
  317. AfxMessageBox("删除定时信息失败!!");
  318. }
  319. else{
  320. AfxMessageBox("删除定时信息成功!!");
  321. ListCtrResh();
  322. }
  323. ClearControl();
  324. UpdateData(FALSE);
  325. }
  326. void CSetTimeDlg::OnBUTTONDelAll()
  327. {
  328. UpdateData(TRUE);
  329. int iRet;
  330. iRet=pDlg->ManageDelAllTime();
  331. if (iRet!=1) {
  332. AfxMessageBox("删除所有定时信息失败!!");
  333. }
  334. else{
  335. AfxMessageBox("删除所有定时信息成功!!");
  336. ListCtrResh();
  337. }
  338. ClearControl();
  339. UpdateData(FALSE);
  340. }
  341. void CSetTimeDlg::ClearControl()
  342. {
  343. UpdateData(TRUE);
  344. m_sNumber.Empty();
  345. m_sNTel.Empty();
  346. m_sTels.Empty();
  347. m_sMessage.Empty();
  348. UpdateData(FALSE);
  349. }
  350. void CSetTimeDlg::OnBUTTONClear()
  351. {
  352. CRemarkDlg dlg;
  353. if(dlg.DoModal()==IDOK)
  354. {
  355. ClearControl();
  356. }
  357. else
  358. {
  359. }
  360. }
  361. void CSetTimeDlg::ListCtrResh()
  362. {
  363. UpdateData(TRUE);
  364. m_RecordList.DeleteAllItems();
  365. char Tempbuf[10][1024];
  366. CString sTemp,sNumber,sTempBeginDate,sTempEndDate,sTempTime;
  367. int iTemp=0,iRet=0,iPos,nItem=0,icount;
  368. memset(Tempbuf, 0, sizeof(Tempbuf));
  369. do{
  370. iRet=pDlg->ManageReadSetTime(iTemp,2,Tempbuf);
  371. icount=0;
  372. if (iRet==1) {
  373. do {
  374. sTemp=Tempbuf[icount];
  375. if(sTemp==""||icount>=10||sTemp==" ")
  376. {
  377. iTemp=atoi(sNumber);
  378. break;
  379. }
  380. sTemp.TrimLeft();
  381. sTemp.TrimRight();
  382. iPos=sTemp.Find(",");
  383. sNumber=sTemp.Mid(0,iPos);
  384. LV_ITEM m_ListItem;
  385. m_ListItem.mask=LVIF_TEXT;
  386. m_ListItem.iItem=nItem;
  387. m_ListItem.iSubItem=0;
  388. m_ListItem.pszText=(LPTSTR)(LPCTSTR)sNumber;
  389. m_RecordList.InsertItem(&m_ListItem);
  390. m_RecordList.SetItemText(nItem,0,sNumber);
  391. sTemp.Delete(0,2);
  392. iPos=sTemp.Find(",");
  393. sTempBeginDate=sTemp.Mid(0,iPos);
  394. m_RecordList.SetItemText(nItem,2,sTempBeginDate);
  395. sTemp.Delete(0,iPos+1);
  396. iPos=sTemp.Find(",");
  397. sTempEndDate=sTemp.Mid(0,iPos);
  398. m_RecordList.SetItemText(nItem,3,sTempEndDate);
  399. sTemp.Delete(0,iPos+1);
  400. iPos=sTemp.Find(",");
  401. sTempTime=sTemp.Mid(0,iPos);
  402. m_RecordList.SetItemText(nItem,1,sTempTime);
  403. memset(Tempbuf, 0, 250);
  404. ++nItem;
  405. icount++;
  406. } while(TRUE);
  407. }
  408. else
  409. {
  410. break;
  411. }
  412. memset(Tempbuf, 0, sizeof(Tempbuf));
  413. }while (TRUE) ;
  414. UpdateData(FALSE);
  415. }