![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
CHIKIST |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 18.6.2006 Репутация: нет Всего: нет |
Хочу сделать прогу, которая ищет и копирует файлы. Не знаю как определить скорость копирования и сколько осталось времени копировать!!!
![]()
|
|||
|
||||
Aleksiem |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 4.5.2006 Где: Выкса Репутация: нет Всего: 2 |
Засечь сколько байт копируется за единицу времени, если я всё правильно понял. Сколько осталось времени можно вычмслять двумя способами. Первый, более отзывчив по времени при перемене скорости, но могут быть резкие скачки: Вычисляешь скорость последнего переданного объём данных и рассчитываешь время передачи оставшихся данных исходя из него. Второй способ более точен но не заметно резких скачков скорости. Смотришь сколько времени передавалось уже переданное, вычисляешь среднюю скорость и вычисляешь скока будут передаваться оставшееся.
|
|||
|
||||
CHIKIST |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 18.6.2006 Репутация: нет Всего: нет |
Aleksiem, хочешь сказать что в тотал коммандер так же
|
|||
|
||||
F1reF0x |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 10.10.2005 Репутация: нет Всего: нет |
В TC второй способ
|
|||
|
||||
CHIKIST |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 18.6.2006 Репутация: нет Всего: нет |
F1reF0x, Былобы неплохо примерчик
![]() Добавлено @ 03:46 Aleksiem, а если копируешь к примеру фильм 700 Mb, как ты узнаешь сколько уже скопированно, ведь сразу пишет что файл все 700 Mb, а копирует какоето время ![]() |
|||
|
||||
Voyager |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 532 Регистрация: 8.2.2005 Репутация: 4 Всего: 18 |
Обычная математика и логика, учиться надо было в школе.
Объясняю на пальцах как рассчитывается оставшееся время в самом простом случае, когда скорость усредненная (можно и более точно сделать): средняя скорость копирования = (уже скопированыый объем)/(время, которое прошло с начала копирования) время, которое осталось = ((объем файла - уже скопированыый объем)/(уже скопированыый объем))*(время, которое прошло с начала копирования). А вот сколько уже скопировано, это ты сам будешь считать (команды BlockWrite, FileWrite помогут вести статистику). Это сообщение отредактировал(а) Voyager - 18.6.2006, 09:53 |
|||
|
||||
Тьма |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 22.1.2005 Где: Украина, Винница Репутация: нет Всего: 4 |
можно потоками
юзай TFileStream.Position, TFileStream.Size; -------------------- Vir magni ingenii |
|||
|
||||
CHIKIST |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 18.6.2006 Репутация: нет Всего: нет |
Тьма,
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |