Форум: "Основная";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];
ВнизКак отобразить (в ПрогрессБаре, напр.) процесс копирования файла? Найти похожие ветки
← →
Гость (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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.081 c