Форум: "Начинающим";
Текущий архив: 2007.05.13;
Скачать: [xml.tar.bz2];
Внизкак отображать процесс копирования КАТАЛОГОВ Найти похожие ветки
← →
Roman_S © (2007-04-21 12:15) [0]Мастера, подскажите: как отображать процесс копирования КАТАЛОГОВ в ProgressBar-e?
← →
ЮЮ © (2007-04-21 12:25) [1]1) Эмпирически.
2) сначала пробежаться по пути копирования, ничего не копируя, только подсчитывая кол-во файлов. Можно имена в список собрать, чтоб потом выволнить копирование линенйно, без рекурсии.
Винда, кстати, при большом объеме иногда выбрасывает сначала окошко "Подготовка к копированию". Наверное то же самое делает :)
← →
Roman_S © (2007-04-21 12:31) [2]подсчитывая кол-во файлов !!!!????
А если один файл 30Кб, а второй 30Мб? Как быть?!
Как Windows проходит копирование? "100 пудов" не по количеству файлов,а по объёму!
← →
Roman_S © (2007-04-21 12:38) [3]Особое внимание прошу обратить на статью:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1086
(рис. 2 Окно с двумя кнопками)
Мне вполне подошло бы:
____________________
Копирование:
\/ Каталог 1
\/ Каталог 2
Каталог 3 - 78%
Каталог 4
-----------------------
Но это не решает главного вопроса:
"Как в узнать это реальное значение %!
← →
MBo © (2007-04-21 12:59) [4]>А если один файл 30Кб, а второй 30Мб? Как быть?!
тогда подсчитай общий объем, только и разницы...
← →
Roman_S © (2007-04-21 13:31) [5]MBo © (21.04.07 12:59) [4]
Во-первых: ЮЮ говорил не об объёме, а о количестве файлов!
Во-вторых: хорошо, ты подсчитал общий объем всех каталогов = progressbar1.max, А в процессе копирования как индикатор передвигать будешь?
← →
Loginov Dmitry © (2007-04-21 13:39) [6]> А в процессе копирования как индикатор передвигать будешь?
1. Скопировал первые N байт - передвинул на 1.
2. Скопировал следующие N байт - передвинул на 1.
3. См. 2
← →
Roman_S © (2007-04-21 13:57) [7]Скопировал первые N байт - передвинул на 1
и где же здесь переменная, с количеством скопированных байт:CopyFile("c:\1.txt","c:\2.txt",true)
?
Если предлагаете идею, просьба подкреплять её кодом!
← →
begin...end © (2007-04-21 14:19) [8]SHFileOperation
← →
Loginov Dmitry © (2007-04-21 14:23) [9]> Если предлагаете идею, просьба подкреплять её кодом!
Серьезно? Если каждую грошевую идею подкреплять еще и кодом, жизни не хватит.
В данном случае есть очень много способов решить задачу, все они описаны - в справке, в Гугле.
Самый простой - CopyFileEx(). Однако не гарантирую, что в 98 винде она реализована. Примеры по ее использованию ищи в той же справке и в Гугле.
← →
Virgo_Style © (2007-04-21 15:01) [10]Roman_S © (21.04.07 13:57) [7]
Если предлагаете идею, просьба подкреплять её кодом!
Спасибо хоть не требование
← →
{RASkov} (2007-04-21 16:52) [11]Или "вручную" копируй BlockRead, BlockWrite с засеканием времени на "кусок" данных и сравнением с общим объемом минус то, что уже скопировано.. - это для времени, а для процентов, сам понимаешь, проще. Пример в F1.
или См[8]
← →
homm © (2007-04-21 20:31) [12]> и где же здесь переменная, с количеством скопированных байт:
>
> CopyFile("c:\1.txt","c:\2.txt",true)?
size := GetFileSize("c:\1.txt");
дятел какой-то.
← →
Roman_S © (2007-04-21 22:01) [13]size := GetFileSize("c:\1.txt")
Даун! Мы про каталоги разговаривали, а не про отдельные файлы!
← →
homm © (2007-04-21 22:12) [14]> Мы про каталоги разговаривали, а не про отдельные файлы!
Да ты шо? А в каталогах что у нас лежит?
1) проходишь по катологу рекурсивно, складывая размер каждого файла в переменную SIZE.
2) Проходишь по тем-же каталогм, рекурсивно копируя файлы, складывая их размер в переменную size, попутно отображаешь процент завершенния операцииsize/SIZE*100%
—————————————————————————
Модераторы — позор!
← →
Германн © (2007-04-22 02:44) [15]
> homm © (21.04.07 22:12) [14]
>
> > Мы про каталоги разговаривали, а не про отдельные файлы!
>
>
> Да ты шо? А в каталогах что у нас лежит?
>
> 1) проходишь по катологу рекурсивно, складывая размер каждого
> файла в переменную SIZE.
> 2) Проходишь по тем-же каталогм, рекурсивно копируя файлы,
> складывая их размер в переменную size, попутно отображаешь
> процент завершенния операции size/SIZE*100%
>
> —————————————————————————
> Модераторы — позор!
>
Шутка!
Есть каталог содержащий "огромный" набор вложенных каталогов и ни в одном из них нет ни одного файла! Задача - отобразить процесс копирования такого каталога. :)
Ну и надоело твое "Модераторы — позор!"
Модераторы такие же люди как и ты! И им тоже нужно отдыхать или заниматься своей работой, за которую они получают деньги. А на эти деньги живут их семьи!
← →
homm © (2007-04-22 05:30) [16]> Есть каталог содержащий "огромный" набор вложенных каталогов
> и ни в одном из них нет ни одного файла
Ну и пусть «есть» :) Мне то какое дело? Ну добавь папке минимальный вес, скажем 4кб, или по размеру кластера, будет тебе и в этом случае процент копирования.
> за которую они получают деньги
Модераторство на данном ресукрсе весьма добровольное, насколько я знаю, за что им честь и хвала, просто, как сказал Gero главное, что-бы каждый вынес для себя уроки :) Я больше не буду так писать.
← →
homm © (2007-04-22 21:31) [17]Ну где-же Roman_S?
Получил ответ на свой вопрос. обозвал дуном, и даж не поблагодарил. Еше один нерага, блин.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.05.13;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.043 c