Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Копирование файлов с прогрессом [D6, Win2k, WinXP]


DSKalugin ©   (2005-01-29 13:49:00) 

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


DSKalugin   (2005-01-29 15:11:00) [1]

Спасибо, попробую.
Ужас как все сложно. столько структур надо заполнять...
ох уж эти писатели мокрософта :-((


kaZaNoVa   (2005-01-29 14:35:00) [2]

может так ? (не проверял)

function TForm1.CopyFolder(Owner: integer; Source,Destination: string; RenameOnCollision,Confirm: boolean): boolean;
const Aborted: Boolean = False;
var ShFileStructure: TSHFileOpStruct;
begin
While pos(';',Source)>0 do
  Source[pos(';',Source)]:=#0;
While pos(';',Destination)>0 do
  Destination[pos(';',Destination)]:=#0;
Source:=Source+#0#0;
Destination:=Destination+#0#0;

ShFileStructure.Wnd := Owner;
ShFileStructure.wFunc := FO_Copy;
ShFileStructure.pFrom := PChar(Source);
ShFileStructure.pTo := PChar(Destination);
ShFileStructure.fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMMKDIR;
if RenameOnCollision then
  ShFileStructure.fFlags := ShFileStructure.fFlags or FOF_RENAMEONCOLLISION;
if not Confirm then
  ShFileStructure.fFlags := ShFileStructure.fFlags or FOF_NOCONFIRMATION;
ShFileStructure.fAnyOperationsAborted := Aborted;
ShFileStructure.hNameMappings := nil;
ShFileStructure.lpszProgressTitle := nil;

result:=(SHFileOperation(ShFileStructure)=0) and (not Aborted);
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо