ViSiToR

Silver Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору Pravokonst 11:06 27-10-2008 [?] Цитата: чтобы при выборе папки из всех подпапок создавался массив папок | См. в шапке, там есть нужные функции. telyakov 12:29 27-10-2008 [?] Цитата: Как пробовали и с какой ошибкой? Цитата: Может уже есть более новая библиотека DllCallBack.au3 | Нет, эти функции переписали во встроенные, вот новая версия: Код: _FileCopyEx("C:\BigFile.avi", @ScriptDir & "\BigFile.avi") Func _FileCopyEx($sSource, $sDest) If Not FileExists($sSource) Then Return SetError(1) ProgressOn("_FileCopyEx() Demo", "Копирование, ждите плиз...") Local $hCopyProgressRoutine = DllCallbackRegister("_CopyProgressRoutine", "int", _ "uint64;uint64;uint64;uint64;dword;dword;ptr;ptr;ptr") DllCall("kernel32.dll", "int", "CopyFileExA", _ "str", $sSource, _ "str", $sDest, _ "ptr", DllCallbackGetPtr($hCopyProgressRoutine), _ "ptr", 0, _ "int", 0, _ "int", 0) DllCallBackFree($hCopyProgressRoutine) Sleep(1000) ProgressOff() EndFunc Func _CopyProgressRoutine($TotalFileSize, $TotalBytesTransferred, $StreamSize, $StreamBytesTransferred, $dwStreamNumber, $dwCallbackReason, $hSourceFile, $hDestinationFile, $lpData) Local $iPrecent = $TotalBytesTransferred/$TotalFileSize * 100 ProgressSet($iPrecent, "Проценты: " & Round($iPrecent, 1) & " %") Return 0 EndFunc |
---------- ViSiToR a.k.a CreatoR CreatoR это не ник, CreatoR это стиль жизни! |
|