📄 unit1.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "PBFolderDialog"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
RemoveFromFiles=false;
}
//---------------------------------------------------------------------------
bool __fastcall TForm1::FindFile(AnsiString FileName,AnsiString SeekText)
{
WIN32_FIND_DATA FindFileData;
AnsiString str=FileName.SubString(FileName.Length(),1);
if(str==".")return true;
if(str!="\\")FileName+="\\";
str=FileName+AnsiString("*.*");
HANDLE hFile=FindFirstFile(str.c_str(),&FindFileData);
while(hFile)
{
str=FileName+FindFileData.cFileName;
if((FindFileData.dwFileAttributes&0x00ff)==0x20)
{
if(LocateFile(str,SeekText))Memo2->Lines->Add(str);
}
else if((FindFileData.dwFileAttributes&0x00ff)==0x10)
{
FindFile(str,SeekText);
}
if(FindNextFile(hFile,&FindFileData)==false)
{
break;
}
}
return true;
}
//---------------------------------------------------------------------------
bool __fastcall TForm1::LocateFile(AnsiString FileName,AnsiString SeekText)
{
TFileStream * pFile=new TFileStream(FileName,fmOpenRead);
char *buffer=new char[pFile->Size];
pFile->Read(buffer,pFile->Size);
AnsiString str=AnsiString(buffer,pFile->Size);
delete buffer;
int RetCode=str.AnsiPos(SeekText);
if(RemoveFromFiles)
{
while(RetCode>0)
{
str.Delete(RetCode,SeekText.Length());
RetCode=str.AnsiPos(SeekText);
}
delete pFile;
TFileStream * pFile=new TFileStream(FileName,fmCreate);
pFile->Write(str.c_str(),str.Length());
delete pFile;
return true;
}
delete pFile;
if(RetCode>0)
return true;
return false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Memo2->Lines->Clear();
FindFile(Edit1->Text,Memo1->Lines->Text.SubString(1,Memo1->Lines->Text.Length()-2));
Label4->Caption=Memo2->Lines->Count;
}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
RemoveFromFiles=true;
Button1Click(this);
RemoveFromFiles=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
// PBFolderDialog1->Folder="C:\\Windows\\Desktop";
if(PBFolderDialog1->Execute())
Edit1->Text=PBFolderDialog1->Folder;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -