Unit1.cpp
上传用户:lhxd_sz
上传日期:2014-10-02
资源大小:38814k
文件大小:2k
源码类别:

VC书籍

开发平台:

C++ Builder

  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4. #include "Unit1.h"
  5. //---------------------------------------------------------------------------
  6. #pragma package(smart_init)
  7. #pragma resource "*.dfm"
  8. TForm1 *Form1;
  9. //---------------------------------------------------------------------------
  10. __fastcall TForm1::TForm1(TComponent* Owner)
  11.         : TForm(Owner)
  12. {
  13. }
  14. //---------------------------------------------------------------------------
  15. void __fastcall TForm1::SearchFile(AnsiString path,AnsiString filename,TStrings *list)
  16. {
  17.   TSearchRec sr;
  18.   int iAttributes = 0;
  19.   iAttributes |=faHidden;
  20.   if (FindFirst(path+"\"+filename, iAttributes, sr) == 0)
  21.   {
  22.     list->Add(path+"\"+sr.Name);
  23.     while (FindNext(sr) == 0)
  24.     {
  25.       list->Add(path+"\"+sr.Name);
  26.     }
  27.     FindClose(sr);
  28.   }
  29. }
  30. //---------------------------------------------------------------------------
  31. void __fastcall TForm1::SearchPath(AnsiString path,AnsiString filename,TStrings *list)
  32. {
  33.   TSearchRec sr;
  34.   int iAttributes = 0;
  35.   iAttributes |=faDirectory;
  36.   SearchFile(path,filename,list);
  37.   if (FindFirst(path+"\*.*", iAttributes, sr) == 0)
  38.   {
  39.     if (sr.Attr == iAttributes)
  40.     {
  41.       if((sr.Name!=".")&&(sr.Name!=".."))
  42.       {
  43.         SearchPath(path+"\"+sr.Name,filename,list);
  44.       }
  45.     }
  46.     while (FindNext(sr) == 0)
  47.     {
  48.       if (sr.Attr == iAttributes)
  49.       {
  50.         if((sr.Name!=".")&&(sr.Name!=".."))
  51.         {
  52.           SearchPath(path+"\"+sr.Name,filename,list);
  53.         }
  54.       }
  55.     }
  56.     FindClose(sr);
  57.   }
  58. }
  59. //---------------------------------------------------------------------------
  60. void __fastcall TForm1::Button1Click(TObject *Sender)
  61. {
  62.   ListBox1->Clear();
  63.   SearchPath(Edit1->Text,Edit2->Text,ListBox1->Items);
  64. }
  65. //---------------------------------------------------------------------------