|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.10.2008, 12:59 | #1 |
Пользователь
Регистрация: 01.02.2008
Сообщений: 24
|
Копирование файлов
Привет всем!
Вот код функция копирования файлов с помощью TSHFileOpStruct var Ret: integer; ipFileOp: TSHFileOpStruct; begin Screen.Cursor:=crAppStart; FillChar (ipFileOp, SizeOf(ipFileOp),0); with ipFileOp do begin wnd:= Handle; {указатель на окно, которое будет являться владельцем выполняемого процесса} wFunc:= OpMode; {операция, которую надо выполнить. Сюда будет записано передаваемое значение.} pFrom:= pChar(Src); {Путь-источник} pTo:= pChar(Dest); {Путь-приемник} if DelRicleBin then fFlags:= FOF_ALLOWUNDO + FOF_SILENT else fFlags := FOF_NOCONFIRMMKDIR; fAnyOperationsAborted := False; {это свойство будет равно true, если пользователь прервал выполнение операции} hNameMappings := nil; lpszProgressTitle := ''; end; try Ret := SHFileOperation (ipFileOp); except Ret := 1; end; result := (Ret = 0); Screen.Cursor:=crDefault; end; Как создать свое окно с отображением хода процесса копирования? Заранее всем спасибо!
Если вы хотите защитить вашу систему от «дурака», то всегда найдется один такой, изобретательность которого вы и предвидеть не могли.
|
28.10.2008, 18:11 | #2 |
Участник клуба
Регистрация: 09.11.2007
Сообщений: 1,762
|
На форме разместить что то типа ProgressBar
Вот код например ProgressBar переименован в Prog Код:
|
30.10.2008, 11:24 | #3 |
Пользователь
Регистрация: 01.02.2008
Сообщений: 24
|
Дописал вот такой код:
Gauge1.Progress := Round(CopyBytes / Size * 100); lSpeed.Caption := Inttostr(Round(Speed / 1024))+ 'кб/с'; Gauge2.Progress := Round(FileNum / Files * 100); Label1.Caption := MinimizeName(FSrc, Label1.Canvas, 250)+' -->'; Label2.Caption := MinimizeName(FDes, Label2.Canvas, 250); Но он изменяется только после окончания, и показывает, только конечный результат Подскажите как сделать чтобы он изменялся в процессе копирования?
Если вы хотите защитить вашу систему от «дурака», то всегда найдется один такой, изобретательность которого вы и предвидеть не могли.
|
30.10.2008, 11:54 | #4 | |
Участник клуба
Регистрация: 09.11.2007
Сообщений: 1,762
|
Цитата:
Поставили? |
|
30.10.2008, 12:29 | #5 |
Пользователь
Регистрация: 01.02.2008
Сообщений: 24
|
Application.ProcessMessages
Стоит, я просто первый раз забыл его написать.
Если вы хотите защитить вашу систему от «дурака», то всегда найдется один такой, изобретательность которого вы и предвидеть не могли.
|
30.10.2008, 12:29 | #6 |
Форумчанин
Регистрация: 22.10.2008
Сообщений: 103
|
Может кому сгодится
Никто не знает больше чем не знаю я
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Копирование файлов | Artificial | Помощь студентам | 5 | 05.06.2008 18:42 |
Копирование файлов | matus | Помощь студентам | 9 | 27.02.2008 19:34 |
Копирование файлов | Шеллер Алексей | Общие вопросы Delphi | 21 | 30.08.2007 17:34 |
Копирование файлов | Devil_uu | Помощь студентам | 2 | 24.03.2007 20:27 |