Страница: 1 |
Страница: 1 |
Вопрос: Статус копирования файла
Добавлено: 27.11.05 15:17
Автор вопроса: «UL.eXe» | ICQ: 197.895.916.247
Привет всем!!
Подскажите мне пожалуйста, как показывать статус копирования файла?
Например:
Я копирую файл (filecopy) и мне необходимо показывать, когда его копирования завершится..
и еще: как копировать поврежденные файлы при помощи VB?
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #1
Добавлено: 27.11.05 15:23
CopyFileEx
SHFileOperation
Номер ответа: 2
Автор ответа:
«UL.eXe»
ICQ: 197.895.916.247
Вопросов: 72
Ответов: 540
Профиль | | #2
Добавлено: 27.11.05 17:35
http://www.vbnet.ru/samples/download.aspx?id=628
Gserg, спасибо. Еще вот пример нашел тоже.
ps| Тема закрыта
Номер ответа: 3
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #3
Добавлено: 28.11.05 12:28
Надо бы еще ось проверять, CopyFileEx в 98/Me нету
Номер ответа: 4
Автор ответа:
«UL.eXe»
ICQ: 197.895.916.247
Вопросов: 72
Ответов: 540
Профиль | | #4
Добавлено: 28.11.05 18:42
Номер ответа: 5
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #5
Добавлено: 29.11.05 15:41
Модер нашелся ))
Номер ответа: 6
Автор ответа:
AndreyMp
ICQ: 237822510
Вопросов: 28
Ответов: 1182
Профиль | | #6
Добавлено: 29.11.05 16:11
Гы А у меня круче пример есть.))
в модуле.
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 CopyProgress(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
Dim intProgress As Integer
intProgress = CInt((TotalBytesTransferred * 10000) / (TotalFileSize * 10000) * 100)
frmCopyFile.ProgressBar1.Value = intProgress
frmCopyFile.Label3 = CStr(intProgress) & " % завершено"
DoEvents
CopyProgress = PROGRESS_CONTINUE
End Function
в форме.
Private Sub Command1_Click()'Копировать
Dim Ret As Long
Ret = CopyFileEx(Text1.Text, Text2.Text, AddressOf CopyProgress, ByVal 0&, bCancel, COPY_FILE_RESTARTABLE)
frmCopyFile.Caption = "Копирование " + IIf(Ret = 0, " отменено", "завершено"
End Sub
Private Sub Command2_Click()'Отмена
bCancel = 1
End Sub
Номер ответа: 7
Автор ответа:
«UL.eXe»
ICQ: 197.895.916.247
Вопросов: 72
Ответов: 540
Профиль | | #7
Добавлено: 29.11.05 16:36
.. ладно, тема не закрыта
Огромное спасибо, Андрей!
Номер ответа: 8
Автор ответа:
AndreyMp
ICQ: 237822510
Вопросов: 28
Ответов: 1182
Профиль | | #8
Добавлено: 29.11.05 17:29
Мне не за что. Читайте API-Guide.
Номер ответа: 9
Автор ответа:
«UL.eXe»
ICQ: 197.895.916.247
Вопросов: 72
Ответов: 540
Профиль | | #9
Добавлено: 29.11.05 18:38
Я именно там эту функцию и видел