void __fastcall TForm1::FormCreate(TObject *Sender) 
{ 
CurrentDir=GetCurrentDir(); 
UpdateTreeView(); 
UpdateListView(); 
} 
//--------------------------------------------------------------------------- 
void __fastcall TForm1::UpdateTreeView() 
{ 
TTreeNode *rNode,*mNode; 
TreeView1->Items->Clear(); 
rNode=TreeView1->Items->Add(TreeView1->Selected,"我的電腦"); 
rNode->ImageIndex=1; 
rNode->SelectedIndex=1; 
mNode=TreeView1->Items->AddChild(rNode,"A:"); 
mNode->ImageIndex=2; 
mNode->SelectedIndex=2; 
AddDirectory("A:",mNode); 
for(int i=1;i<DriveComboBox1->Items->Count;i++) 
  { 
  mNode=TreeView1->Items->AddChild(rNode,AnsiString(char('B'+i))+":"); 
  mNode->ImageIndex=3; 
  mNode->SelectedIndex=3; 
  AddDirectory(AnsiString(char('B'+i))+":",mNode); 
  } 
} 
//------------------------------------------------------------------------ 
void TForm1::AddDirectory(AnsiString path,TTreeNode *fNode) 
{ 
TSearchRec sr; 
TTreeNode *mNode; 
if(FindFirst(path+"http://*.*" ,faDirectory,sr)==0) 
  { 
  if(sr.Attr==faDirectory) 
    { 
    if(sr.Name!="."&&sr.Name!="..") 
      { 
      mNode=TreeView1->Items->AddChild(fNode,sr.Name); 
      mNode->ImageIndex=0; 
      mNode->SelectedIndex=4; 
      // AddDirectory(path+"http://"+sr.Name,mNode); 
      } 
    } 
  } 
while(FindNext(sr)==0) 
  { 
  if(sr.Attr==faDirectory) 
    { 
    if(sr.Name!="."&&sr.Name!="..") 
      { 
      mNode=TreeView1->Items->AddChild(fNode,sr.Name); 
      mNode->ImageIndex=0; 
      mNode->SelectedIndex=4; 
      // AddDirectory(path+"http://"+sr.Name,mNode); 
      } 
    } 
  } 
FindClose(sr); 
} 
//-------------------------------------------------------------------- 
void __fastcall TForm1::TreeView1Changing(TObject *Sender, TTreeNode *Node, bool &AllowChange) 
{ 
Screen->Cursor=crHourGlass; 
TSearchRec sr; 
TTreeNode *NodeTmp=Node; 
AnsiString DirName,DirTmp; 
DirName=Node->Text; 
for(int i=Node->Level;i>1;i--) 
  { 
  NodeTmp=NodeTmp->Parent; 
  DirTmp=NodeTmp->Text; 
  if(DirTmp.SubString(DirTmp.Length(),1)!="http://") 
  DirTmp+="http://"; 
  DirName.Insert(DirTmp,0); 
  } 
if(DirName.SubString(DirName.Length(),1)!="http://") 
  DirName+="http://"; 
for(int j=0;j<Node->Count;j++) 
  { 
  if(Node->Item[j]->Count==0); 
    { 
    if(FindFirst(DirName+Node->Item[j]->Text+"http://*.*", faAnyFile, sr) == 0) 
      { 
      do 
        { 
        //Node->Item[j]->ImageIndex=5; 
        //Node->Item[j]->SelectedIndex=4; 
        if((sr.Attr&faDirectory)&&sr.Name!="."&&sr.Name!="..") 
          { 
          Node->Item[j]->ImageIndex=0; 
          Node->Item[j]->SelectedIndex=4; 
          TreeView1->Items->AddChild(Node->Item[j],sr.Name); 
          } 
        } 
        while (FindNext(sr)==0); 
        FindClose(sr); 
      } 
    } 
  } 
Screen->Cursor=crDefault; 
}