Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.20;
Скачать: CL | DM;

Вниз

Как отобразить (в ПрогрессБаре, напр.) процесс копирования файла?   Найти похожие ветки 

 
Гость   (2005-03-02 17:59) [0]

Как отобразить (в ПрогрессБаре, напр.) процесс копирования большого файла (например, полнометражный фильм)?


 
Reindeer Moss Eater ©   (2005-03-02 18:07) [1]

ProgressBar1.StepIt;


 
begin...end ©   (2005-03-02 19:55) [2]

> Гость   (02.03.05 17:59)

Вначале вычислите размер файла, а потом вычисляйте размер его скопированной части. Определяйте, сколько это будет в процентах, и устанавливайте нужное значение свойству ProgressBar.Position.

Копировать файл можно с помощью API-функции CopyFileEx. Одним из её параметров является указатель на callback-функцию - в ней как раз и можно узнать, сколько байт файла уже скопировалось. Примеры использования этой функции можно найти в Сети.

А ещё можно использовать API-функцию SHFileOperation. Она всё может показывать сама. Примеры - тоже в Сети.


 
Fay ©   (2005-03-02 20:23) [3]

2 begin...end ©   (02.03.05 19:55) [2]
>> пределяйте, сколько это будет в процентах
Зачем?


 
begin...end ©   (2005-03-02 20:25) [4]

> Fay ©   (02.03.05 20:23) [3]
> Зачем?

Чтобы потом отобразить проценты в progressbar"е?


 
Fay ©   (2005-03-02 20:30) [5]

А зачем проценты?
Max := (размер файла в размерах буфера) и всё


 
begin...end ©   (2005-03-02 20:38) [6]

> Fay ©   (02.03.05 20:30) [5]

А если у автора настолько большой файл, что значение размера не влезет в Min, Max и Position (Integer)? :-)


 
Anatoly Podgoretsky ©   (2005-03-02 20:48) [7]

На Win95?
Тогда и CopyFileEx не поможет


 
Anatoly Podgoretsky ©   (2005-03-02 20:53) [8]

Ему прямая дорога в сторону TFileStream и то ему повезло, что у него Д7 а не Д5


 
begin...end ©   (2005-03-02 20:56) [9]

> Anatoly Podgoretsky ©   (02.03.05 20:53) [8]

SHFileOperation тоже подойдёт.


 
Anatoly Podgoretsky ©   (2005-03-02 20:56) [10]

Ну если показывать проценты, то замучается.


 
Anatoly Podgoretsky ©   (2005-03-02 20:58) [11]

begin...end ©   (02.03.05 20:56) [9]
Но разумеется я бы не стал заморачиваться, что высчитыватьЮ что то оборачивать вокруг чего, а применил бы именно SHFileOperation.

И теперь мой любимый лозунг "Для всех операций с файлами используйте SHFileOperation".


 
Гость   (2005-03-04 10:07) [12]

А можна узнать как исспользовать ентот самый SHFileOperation? В частности, для отображения копирования файла в ПрогрессБаре?


 
Amoeba ©   (2005-03-04 11:31) [13]


> Гость   (04.03.05 10:07) [12]
> А можна узнать как исспользовать ентот самый SHFileOperation?
> В частности, для отображения копирования файла в ПрогрессБаре?

Читаем эту статью:
http://www.delphikingdom.com/asp/viewitem.asp?UrlItem=/mastering/fileshellapi.htm



Страницы: 1 вся ветка

Текущий архив: 2005.03.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.029 c
14-1109439817
Местный
2005-02-26 20:43
2005.03.20
Возможно ли восстановить файлы, если отформатировал диск???


14-1109714893
quickblack
2005-03-02 01:08
2005.03.20
Search toolbar


3-1108812210
Dr_Wut
2005-02-19 14:23
2005.03.20
Показ полной базы после фильтрования


4-1107731888
romshtain
2005-02-07 02:18
2005.03.20
Как отловить хендл окна, которое находится..


1-1110381021
Peter_cc
2005-03-09 18:10
2005.03.20
Закрытие др.приложение