Учись программированию на C++ Builder бесплатно!

Чтобы скопировать файл или папку с файлами в заданную папку необходимо в проекте C++ Builder в конце файла Unit1.h перед #endif добавить программный код, отвечающий за перемещение папки с файлами:

int MoveFiles(AnsiString slSourceDir, AnsiString slTargetDir, bool toCopy = true)
{
SHFILEOPSTRUCT sh;
sh.fFlags = FOF_NOCONFIRMATION | FOF_SILENT | FOF_FILESONLY;
sh.wFunc = toCopy ? FO_COPY : FO_MOVE;
sh.pFrom = slSourceDir.c_str();
sh.pTo = slTargetDir.c_str();
sh.hNameMappings = NULL;
sh.lpszProgressTitle = NULL;
return SHFileOperation (&sh);
}

Теперь разместим на форме кнопку Button и на событие нажатия кнопки добавим код:

1. Для копирования всех файлов из папки:

if(!MoveFiles("c:\\program files\\*.*", "c:\\temp"))
ShowMessage("Успешно");
else ShowMessage("Ошибка");

2. Для копирования одного файла:

if(!MoveFiles("c:\\file.txt", "c:\\temp"))
ShowMessage("Успешно");
else ShowMessage("Ошибка");

В функции MoveFiles указываются адреса в последовательности ("От куда копировать", "Куда копировать")

Примечание:

Если при копировании указанной папки не будет, то файлы будут скопированы в ту папку из которой копировались и создадутся без расширения.


Поиск по сайту