码迷,mamicode.com
首页 > 移动开发 > 详细

通过打开按钮打开文件和通过左键移动打开文件并计算crc

时间:2017-11-03 00:21:23      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:false   code   none   temp   data   control   cat   filter   sage   

We have learn open a file by using an open button, here is code below:

技术分享
 1 void CFileCrcDlg::OnOpen() 
 2 {
 3     // TODO: Add your control notification handler code here
 4     WORD n;
 5     WORD i;
 6     BYTE szchar[201];
 7     BYTE crc_hex[4],bt;
 8     CString strtemp="";
 9     CFileDialog fileDlg(TRUE);
10     fileDlg.m_ofn.lpstrFilter="All files (*.*)";
11     if(fileDlg.DoModal()==IDOK)
12     {
13         CFile file(fileDlg.m_ofn.lpstrFile,CFile::modeRead);
14         UpdateData(TRUE);
15         m_path += file.GetFilePath();
16         m_path += "\r\n";
17         //clear the Edit Dlg
18         i=0xffff;
19         memset(szchar,0,201);
20         while(file.Read(szchar,200))
21         {
22             n=0;
23             while(szchar[n])
24             {
25                 i=crc_16(i,szchar[n]);
26                 n++;
27             }
28             memset(szchar,0,201);
29         }
30         strtemp.Format("%d",i);
31         m_crc_dec+=strtemp;
32         m_crc_dec+="\r\n";
33         
34         swap_word_byte(i,crc_hex);
35         for(i=0;i<4;i++)
36         {
37             bt =*(char*)(crc_hex+i);
38             strtemp.Format("%c",bt);
39             m_crc_hex+=strtemp;
40         }
41         m_crc_hex += "\r\n";
42         file.Close();
43         UpdateData(FALSE);
44     }
45 }
void CFileCrcDlg::OnOpen()

Now, we are going to using another way to open a file and get the crc check sum.

here is the code:

技术分享
 1 void CFileCrcDlg::OnDropFiles(HDROP hDropInfo) 
 2 {
 3     // TODO: Add your message handler code here and/or call default
 4     UINT j,iFileCount;
 5     char file_name[MAX_PATH];
 6     //variable for crc
 7     WORD n;
 8     WORD i;
 9     BYTE szchar[201];
10     BYTE crc_hex[4],bt;
11     CString strtemp="";
12 
13     iFileCount=::DragQueryFile(hDropInfo,0xffffffff,NULL,0);
14     
15     for(j=0;j<iFileCount;j++)
16     {
17         ::DragQueryFile(hDropInfo,j,file_name,MAX_PATH);
18         CFile file(file_name,CFile::modeRead);
19         UpdateData(TRUE);
20         m_path += file.GetFilePath();
21         m_path += "\r\n";
22         //clear the Edit Dlg
23         i=0xffff;
24         memset(szchar,0,201);
25         while(file.Read(szchar,200))
26         {
27             n=0;
28             while(szchar[n])
29             {
30                 i=crc_16(i,szchar[n]);
31                 n++;
32             }
33             memset(szchar,0,201);
34         }
35         strtemp.Format("%d",i);
36         m_crc_dec+=strtemp;
37         m_crc_dec+="\r\n";
38         
39         swap_word_byte(i,crc_hex);
40         for(i=0;i<4;i++)
41         {
42             bt =*(char*)(crc_hex+i);
43             strtemp.Format("%c",bt);
44             m_crc_hex+=strtemp;
45         }
46         m_crc_hex += "\r\n";
47         file.Close();
48         UpdateData(FALSE);
49     }
50     ::DragFinish(hDropInfo);
51     CDialog::OnDropFiles(hDropInfo);
52 }
void CFileCrcDlg::OnDropFiles(HDROP hDropInfo)

 

OK, Enjoy. Thank you!

 

B.R.

通过打开按钮打开文件和通过左键移动打开文件并计算crc

标签:false   code   none   temp   data   control   cat   filter   sage   

原文地址:http://www.cnblogs.com/lumao1122-Milolu/p/7775051.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!