Страница: 1 |
Страница: 1 |
Вопрос: ProgressBar сопровождает копирование
Добавлено: 05.08.04 14:07
Автор вопроса: Vas
В SubMain копируется из сети файл (секунд 10-20, всегда по-разному). Подскажите, как мне показать юзеру состояние загрузки ProgressBar-ом? Понятно, что в отдельной форме, которую надо показать. Но чему будет равно (к чему привязать) св-во (ProgressBar1.Value) ? Шлите ilisav@rambler.ru СПАСИБО.
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
boevik
Хранитель чата
ICQ: 137392264
Вопросов: 8
Ответов: 557
Web-сайт:
Профиль | | #1
Добавлено: 05.08.04 14:25
Есть API для копирования с ProgressBar.
Option Explicit
Private Type SHFILEOPSTRUCT
hWnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAborted As Boolean
hNameMaps As Long
sProgress As String
End Type
Private Const FO_MOVE As Long = &H1
Private Const FO_COPY As Long = &H2
Private Const FO_DELETE = &H3
Private Const FO_RENAME As Long = &H4
Private Const FOF_ALLOWUNDO = &H40
Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
Private Sub Form_Click()
 im SHFileOp As SHFILEOPSTRUCT
With SHFileOp
'copy operation
.wFunc = FO_COPY
'Source directory
.pFrom = "C:\projects\*"
'destination directory
.pTo = "c:\temp\"
End With
'perform file operation
SHFileOperation SHFileOp
If SHFileOp.fAborted Then
MsgBox "The operation wsa aborted by user", vbExclamation + vbOKOnly
Else
MsgBox "The directory was copied", vbInformation + vbOKOnly
End If
End Sub
Номер ответа: 2
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #2
Добавлено: 05.08.04 14:48
Можно так же поискать по форуму, этот воспрос очень подробно обсуждалась...
Номер ответа: 3
Автор ответа:
Vas
Вопросов: 7
Ответов: 4
Профиль | | #3
Добавлено: 05.08.04 16:21
Большое спасибо. Работает. О-о-очень полезная штучка, жаль я раньше этого не знал. Но увы, к моей проги это не подойдет. Загвоздка в том, что мне надо использовать именно ProgressBar, чтобы расположить его на своей frmSplash. Буду счастлив, если подскажешь как отследить процесс копирования таким образом.
Номер ответа: 4
Автор ответа:
boevik
Хранитель чата
ICQ: 137392264
Вопросов: 8
Ответов: 557
Web-сайт:
Профиль | | #4
Добавлено: 05.08.04 16:55
Тогда тебе нужна функция CopyFileEx.
Она позваляет повесить свой обработчик на процес копирования