Карта сайтаСсылкиКонтакты

Копирование группы файлов с использованием диалогового Windows Explorer

PDF Печать
Статьи

Этот код демонстрирует использование функции SHFileOperation для копирования группы файлов и отображения окна анимации копирования. Вы можете также использовать следующие флаги для удаления, перемещения или переименования группы файлов:

  • TO_COPY
  • FO_DELETE
  • FO_MOVE
  • FO_RENAME

Обратите внимание: буфер, который содержит имена файлов, должен заканчиваться нулем.


uses ShellAPI;

procedure TForm1.Button1Click(Sender: TObject);
var
  Fo      : TSHFileOpStruct;
  buffer  : array[0..4096] of char;
  p       : pchar;

begin
   FillChar(Buffer, sizeof(Buffer), #0);
   p := @buffer;
   p := StrECopy(p, 'C:\DownLoad\1.ZIP') + 1;
   p := StrECopy(p, 'C:\DownLoad\2.ZIP') + 1;
   p := StrECopy(p, 'C:\DownLoad\3.ZIP') + 1;
   StrECopy(p, 'C:\DownLoad\4.ZIP');

   FillChar(Fo, sizeof(Fo), #0);
   Fo.Wnd    := Handle;
   Fo.wFunc  := FO_COPY;
   Fo.pFrom  := @Buffer;
   Fo.pTo    := 'D:\';
   Fo.fFlags := 0;
   if ((SHFileOperation(Fo) <> 0) or
       (Fo.fAnyOperationsAborted <> false)) then
     ShowMessage('Cancelled')
end;

 

Добавить комментарий


Защитный код
Обновить