Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.06.2008, 19:52
Аватар для ZIP
ZIP ZIP вне форума
Прохожий
 
Регистрация: 15.06.2008
Адрес: Россия, под Казанью
Сообщения: 39
Репутация: 10
По умолчанию Как привязать ПрогрессБар к копированию файлов?

Помогите ламеру, скажите, как сделать так, что бы прогресс бар отображал ход копирования папок с файлами (включая подкаталоги).
Я вот попоробовал добавить ПрогрессБар к исходнику "Copy Files" и не смог.

Вот его код:
Код:
procedure TForm1.Button1Click(Sender: TObject);
Label M;
var
 OpStruc:TSHFileOpStruct;
 frombuf,tobuf:array[0..128] of Char;
 Dir1,Dir2,s:string;
begin
 SelectDirectory('Просмотр каталога',Dir1,Dir2);
 if Dir2='' then goto M;
 FillChar(frombuf, Sizeof(frombuf), 0);
 FillChar(tobuf, Sizeof(tobuf), 0);
// s:='';
 StrPCopy(frombuf, 'd:\games');
 StrPCopy(tobuf, Dir2);
 with OpStruc do
  begin
   Wnd:=Handle;
   wFunc:=FO_COPY;
   pFrom:=@frombuf;
   pTo:=@tobuf;
   fFlags:=FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
   fAnyOperationsAborted:=False;
   hNameMappings:=nil;
   lpszProgressTitle:=nil;
  end;
 ShFileOperation(OpStruc);
M:
end;

Да, и если нетрудно, скажите заодно, как узнать сколько файлов скопировано, сколько осталось и как получить все это счастье в текстовом формате, и можно ли к
Код:
   fFlags:=FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
добавить флаг FOF_SLINET и другие, не потеряв при этом FOF_NOCONFIRMATION и FOF_RENAMEONCOLLISION?

Заранее спасибо.
Ответить с цитированием
  #2  
Старый 17.06.2008, 19:58
Аватар для zip000
zip000 zip000 вне форума
Начинающий
 
Регистрация: 24.07.2007
Сообщения: 194
Репутация: 25
По умолчанию

По поводу копирования папок. Для корректного отображения всего этого дела, надо перед начало копирования подсчитать сколько файлов будет скопировано и самому копировать каждый файл. Для этого юзаем функции FindFirst и FindNext. Почитайте хелп к Делфи, там все хорошо написано.
__________________
Не профи, но и не чайник . D6 - лучше не придумали. Пока.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:17.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025