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

Использование функций Windows

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; 

По материалам http://delphi.3000.com


 

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


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