...

function CopyFileEx(lpExistingFileName, lpNewFileName: PChar;

lpProgressRoutine: TFNProgressRoutine; lpData: Pointer;

pbCancel: PBool; dwCopyFlags: DWORD): BOOL; stdcall;

Итак, кроме пути исходного и конечного файлов, а также флагов (последний параметр), функция принимает ряд дополнительных параметров: адрес функции обратного вызова (IpProgressRoutine), указатель на данные, передаваемые в функцию обратного вызова (lpData), а также адрес переменной типа BOOL (pbCancel), при установке значения которой в True копирование прерывается.

Пример использования функции CopyFileEx в программе приведен в листинге 4.32. Здесь подразумевается, что кнопка cmbCopy используется как для запуска, так и для остановки процесса копирования. Также на форме присутствуют следующие элементы управления:

• индикатор pbCopyProgress, диапазон значений которого от 0 до 100;

• текстовое поле txtFrom с именем копируемого файла;

• текстовое поле txtTo с именем файла назначения.

Загрузка...