Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: копирование с прогресс баром Добавлено: 16.06.09 00:02  

Автор вопроса:  LEX1ERS | ICQ: 4204936 
Подскажите как сделать прогрессбар на копирования 1 файла?если можна то кодом...Спасибо

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #1 Добавлено: 16.06.09 08:23
Легко.
В модуль.
  1. Option Explicit
  2.  
  3. Public Const PROGRESS_CANCEL = 1
  4. Public Const PROGRESS_CONTINUE = 0
  5. Public Const PROGRESS_QUIET = 3
  6. Public Const PROGRESS_STOP = 2
  7. Public Const COPY_FILE_FAIL_IF_EXISTS = &H1
  8. Public Const COPY_FILE_RESTARTABLE = &H2
  9. 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
  10. Public bCancel As Long
  11. 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
  12.     Dim intProgress As Integer
  13.     intProgress = CInt((TotalBytesTransferred * 10000) / (TotalFileSize * 10000) * 100)
  14.     frmCopyFile.ProgressBar1.Value = intProgress
  15.     frmCopyFile.Label3 = CStr(intProgress) & " % завершено"
  16.     DoEvents
  17.     CopyProgress = PROGRESS_CONTINUE
  18. End Function


В форму.
  1. Option Explicit
  2.  
  3. Dim t1 As Date
  4. Dim t2 As Date
  5. Private Sub Command1_Click()
  6.   Dim Ret As Long
  7.   t1 = Time
  8.   Ret = CopyFileEx(Text1.Text, Text2.Text, AddressOf CopyProgress, ByVal 0&, bCancel, COPY_FILE_RESTARTABLE)
  9.   frmCopyFile.Caption = "Копирование " + IIf(Ret = 0, " отменено", "завершено")
  10.   t2 = Time
  11.   Label3.Caption = "Время копирования: " & CDate(t2 - t1)
  12. End Sub
  13.  
  14. Private Sub Command2_Click()
  15.   bCancel = 1
  16. End Sub


На форме прогресбар, два текстбокса(откуда и куда) и две кнопки.

Ответить

Номер ответа: 2
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #2 Добавлено: 16.06.09 08:27
Сам пример тут http://www.andreymp.land.ru/sources/filedir/filedir.htm

Ответить

Номер ответа: 3
Автор ответа:
 LEX1ERS



ICQ: 4204936 

Вопросов: 38
Ответов: 100
 Профиль | | #3 Добавлено: 16.06.09 09:40
во блин,и откуда такое учат и пишут...Спасибо)

Ответить

Номер ответа: 4
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #4 Добавлено: 16.06.09 10:23
Да также где то, когда то подсказали. :)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам