| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Как узнать скорость копирования файла |
| Автор: CHIKIST 18.6.2006, 01:24 | ||
Хочу сделать прогу, которая ищет и копирует файлы. Не знаю как определить скорость копирования и сколько осталось времени копировать!!!
|
| Автор: Aleksiem 18.6.2006, 02:19 |
| Засечь сколько байт копируется за единицу времени, если я всё правильно понял. Сколько осталось времени можно вычмслять двумя способами. Первый, более отзывчив по времени при перемене скорости, но могут быть резкие скачки: Вычисляешь скорость последнего переданного объём данных и рассчитываешь время передачи оставшихся данных исходя из него. Второй способ более точен но не заметно резких скачков скорости. Смотришь сколько времени передавалось уже переданное, вычисляешь среднюю скорость и вычисляешь скока будут передаваться оставшееся. |
| Автор: CHIKIST 18.6.2006, 02:26 |
| Aleksiem, хочешь сказать что в тотал коммандер так же |
| Автор: F1reF0x 18.6.2006, 02:50 |
| В TC второй способ |
| Автор: CHIKIST 18.6.2006, 03:38 |
| F1reF0x, Былобы неплохо примерчик Добавлено @ 03:46 Aleksiem, а если копируешь к примеру фильм 700 Mb, как ты узнаешь сколько уже скопированно, ведь сразу пишет что файл все 700 Mb, а копирует какоето время |
| Автор: Voyager 18.6.2006, 09:48 |
| Обычная математика и логика, учиться надо было в школе. Объясняю на пальцах как рассчитывается оставшееся время в самом простом случае, когда скорость усредненная (можно и более точно сделать): средняя скорость копирования = (уже скопированыый объем)/(время, которое прошло с начала копирования) время, которое осталось = ((объем файла - уже скопированыый объем)/(уже скопированыый объем))*(время, которое прошло с начала копирования). А вот сколько уже скопировано, это ты сам будешь считать (команды BlockWrite, FileWrite помогут вести статистику). |
| Автор: Тьма 18.6.2006, 11:49 | ||
можно потоками
юзай TFileStream.Position, TFileStream.Size; |
| Автор: CHIKIST 18.6.2006, 12:21 |
| Тьма, |