Страница: 1 |
Подскажите плизз! Как скопировать файл в VB? Но не просто скопировать (это и чайник знает), а контролировать процес копирования (сколько байт скопировано, сколько осталось и т.д.)
2 sne Если бы на этом форуме был поиск было бы проще... 2 Fallout К сожалению нигде немогу найти описание...есть только CopyFile. Но там нет того что мне надо Недавно на форуме вот такой код писали (я проверял - работает): 'in a form (Form1) Private Sub Form_Load() 'KPD-Team 2001 'URL: http://www.allapi.net/ 'E-Mail: KPDTeam@Allapi.net Dim Ret As Long 'set the graphics mode to persistent Me.AutoRedraw = True 'print some text Me.Print "Click the form to abort the filecopy" 'show the form Me.Show 'start copying Ret = CopyFileEx("c:\verybigfile.ext", "c:\copy.ext", AddressOf CopyProgressRoutine, ByVal 0&, bCancel, COPY_FILE_RESTARTABLE) 'show some text Me.Print "Filecopy completed " + IIf(Ret = 0, "(ERROR/ABORTED)", "successfully") End Sub Private Sub Form_Click() 'cancel filecopy bCancel = 1 End Sub 'in a module Public Const PROGRESS_CANCEL = 1 Public Const PROGRESS_CONTINUE = 0 Public Const PROGRESS_QUIET = 3 Public Const PROGRESS_STOP = 2 Public Const COPY_FILE_FAIL_IF_EXISTS = &H1 Public Const COPY_FILE_RESTARTABLE = &H2 Public Declare Function CopyFileEx Lib "kernel32.dll" Alias "CopyFileExA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal lpProgressRoutine As Long, lpData As Any, ByRef pbCancel As Long, ByVal dwCopyFlags As Long) As Long Public bCancel As Long Public Function CopyProgressRoutine(ByVal TotalFileSize As Currency, ByVal TotalBytesTransferred As Currency, ByVal StreamSize As Currency, ByVal StreamBytesTransferred As Currency, ByVal dwStreamNumber As Long, ByVal dwCallbackReason As Long, ByVal hSourceFile As Long, ByVal hDestinationFile As Long, ByVal lpData As Long) As Long 'adjust the caption Form1.Caption = CStr(Int((TotalBytesTransferred * 10000) / (TotalFileSize * 10000) * 100)) + "% complete..." 'allow user input DoEvents 'continue filecopy CopyProgressRoutine = PROGRESS_CONTINUE End Function А у меня не работает Можешь прислать пример? Если не влом. Страница: 1 |
Вопрос: Копирование файлов
Добавлено: 21.05.04 18:57
Автор вопроса: .::EclipsE::. | ICQ: 208952501
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
Fallout
Вопросов: 10
Ответов: 387
Web-сайт:
Профиль | | #1
Добавлено: 21.05.04 21:50
CopyFileEx - вот эта АПи функция.. опсиание я думаю найдёшь...
Номер ответа: 2
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #2
Добавлено: 21.05.04 23:10
На ыоруме уже обсуждалась эта тема... попробуй поиск... там такие алгоритмя были !!! уууу
Номер ответа: 3
Автор ответа:
.::EclipsE::.
ICQ: 208952501
Вопросов: 22
Ответов: 85
Профиль | | #3
Добавлено: 24.05.04 13:32
Номер ответа: 4
Автор ответа:
Pashenko
ICQ: 176176951
Вопросов: 14
Ответов: 655
Профиль | | #4
Добавлено: 24.05.04 13:52
Номер ответа: 5
Автор ответа:
.::EclipsE::.
ICQ: 208952501
Вопросов: 22
Ответов: 85
Профиль | | #5
Добавлено: 24.05.04 14:01
Номер ответа: 6
Автор ответа:
Pashenko
ICQ: 176176951
Вопросов: 14
Ответов: 655
Профиль | | #6
Добавлено: 24.05.04 14:29
Лови в почте.
Номер ответа: 7
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #7
Добавлено: 27.05.04 11:47
Уже говорил - этот код работает под NT/2000/XP
В 95/98/ME эта функция отстутствует.
Номер ответа: 8
Автор ответа:
.::EclipsE::.
ICQ: 208952501
Вопросов: 22
Ответов: 85
Профиль | | #8
Добавлено: 27.05.04 11:49
Спасибо! Я уже все сделал