QQ登录

只需一步,快速开始

165上位机VC MFC迭代搜索文件

[ 复制链接 ]

165上位机VC MFC迭代搜索文件

165上位机VC MFC迭代搜索文件

165上位机VC MFC迭代搜索文件


功能展示

文件的搜索在上位机开发时也是常用到的功能,我们当前例程实现任何位置中文件的搜索功能,可以整个文件名搜索部分文件名搜索,后缀进行搜索,效果如图;
要点提示
文件的搜索我们可以使用类CFileFind中的成员函数为实现;主要有函数有FindFile()用于查找指定文件;FindNextFile()用于查找下一文件名,通过返回值可以判断是否是查找的文件;
IsDots() 用于判断目标文件是否是 “.”或”..”;
IsDirectory()用于判断目标文件是否是文件夹;
GetFileName()用于获取查找到的文件的文件名;
GetFilePath()用于获取查找到的文件的绝对路径;





实现功能
1.新建基于对话框的应用程序
2.拖拽一编辑框ID为IDC_EDIT1用于显示要查找的文件夹路径;
拖拽一按钮关联函数,用于浏览打开要查找的文件夹
拖拽一编辑框ID为IDC_EDIT2,用于输入要查找的文件名;
拖拽两按钮查找,停止查找,用于开始与停止 查找;

拖拽一列表框用于罗列出查找到的文件;按钮函数依次为
  1. void CGkbc8Dlg::OnAdd()
  2. {
  3.         BROWSEINFO bi;   
  4.         char buffer[MAX_PATH];   
  5.         ZeroMemory(buffer,MAX_PATH);   
  6.         bi.hwndOwner=GetSafeHwnd();   
  7.         bi.pidlRoot=NULL;   
  8.         bi.pszDisplayName=buffer;   
  9.         bi.lpszTitle="选择文件夹";   
  10.         bi.ulFlags=BIF_EDITBOX;   
  11.         bi.lpfn=NULL;   
  12.         bi.lParam=0;   
  13.         bi.iImage=0;
  14.         LPITEMIDLIST pList=NULL;   
  15.         if((pList=SHBrowseForFolder(&bi))!=NULL)   
  16.         {   
  17.                 SHGetPathFromIDList(pList,buffer);
  18.                 SetDlgItemText(IDC_EDIT1,buffer);}
复制代码
  1. void CGkbc8Dlg::OnFind()
  2. {
  3.         m_bIsWaitStop = FALSE;
  4.         CListBox* pListBox = (CListBox*)GetDlgItem(IDC_LIST1);
  5.         pListBox->ResetContent ();
  6.                         
  7.         CString sDir,sFileName;
  8.         GetDlgItemText(IDC_EDIT1,sDir);
  9.         GetDlgItemText(IDC_EDIT2,sFileName);
  10.         if(sDir.IsEmpty()||sFileName.IsEmpty())//空返回
  11.                 return;

  12.         FindFile(sDir,sFileName);
  13.         m_bIsWaitStop = FALSE;
  14. }

  15. void CGkbc8Dlg::OnBtstop()
  16. {
  17.         m_bIsWaitStop = TRUE;        
  18. }
复制代码
m_bIsWaitStop为添加的标识是否停止 搜索的变量,在单线程里意义不在;

我们来演示下功能实现的整个过程
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:165.上位机VC MFC迭代搜索文件.rar 
文件大小:120.75 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索