скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Скопировать файлы с диалогом анимации



Сначала в разделе uses объявляем модуль ShellAPI


uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls,
  Forms, Dialogs, 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:\first.rar') + 1;
  p := StrECopy(p, 'C:\second.rar') + 1;
  p := StrECopy(p, 'C:\third.rar') + 1;
  p := StrECopy(p, 'C:\5.rar') + 1;
  p := StrECopy(p, 'C:\6.rar') + 1;
  p := StrECopy(p, 'C:\7.rar') + 1;
  FillChar(Fo, sizeof(Fo), #0);
  Fo.Wnd := Handle;
  Fo.wFunc := FO_COPY; //Действие
  Fo.pFrom := @Buffer; //Источник
  Fo.pTo := 'c:\1\';   //Назначение - показываем куда копируем
  Fo.fFlags := 0;
  if ((SHFileOperation(Fo) <> 0) or (Fo.fAnyOperationsAborted <> false)) then
    ShowMessage('Cancelled')
end;

Заметим, что в качестве действия мы указали константу FO_COPY - это значит, что решено копировать файлы, помимо этого значения можно также указывать:

  • FO_COPY
  • FO_DELETE
  • FO_MOVE
  • FO_RENAME





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook