remove all files of a directory
Posted: Wed  14 Mar 2012 15:56
				
				Can you please send us a code example (possibly in C++ Builder) of how I can remove all files of a directory?
Thanks Fabio
			Thanks Fabio
Discussion forums for open issues and questions concerning database tools, data access components and developer tools from Devart
https://forums.devart.com/
Code: Select all
TStringList *Filelist;
//---------------------------------------------------------------------------
__fastcall TMainForm::TMainForm(TComponent* Owner)
        : TForm(Owner)
{
  Filelist = new TStringList();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::btDeleteClick(TObject *Sender)
{
  ScSSHClient->Connect();
  ScSFTPClient->Initialize();
  AnsiString Path = "."; //!
  TScSFTPFileHandle Handle;
  Filelist->Clear();
  Handle = ScSFTPClient->OpenDirectory(Path);
  try {
    do {
      ScSFTPClient->ReadDirectory(Handle);
    } while (!ScSFTPClient->EOF);
    for (int i = 0; i Count; i++) {
      AnsiString Filename = Path + "\" + Filelist->Strings[i];
      ScSFTPClient->RemoveFile(Filename);
    }
  }
  __finally {
    ScSFTPClient->CloseHandle(Handle);
  }
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::ScSFTPClientDirectoryList(TObject *Sender,
      const AnsiString Path, const TBytes Handle,
      TScSFTPFileInfo *FileInfo, bool EOF)
{
  if ((FileInfo == NULL) || (FileInfo->Filename == ".") || (FileInfo->Filename == ".."))
    return;
  if ((FileInfo->Longname.Length() == 0) || (FileInfo->Longname.SubString(1,1) != "d"))
    Filelist->Add(FileInfo->Filename);
}
//---------------------------------------------------------------------------