![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Копирование файлов с прогрессом [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;