Помогите ламеру, скажите, как сделать так, что бы прогресс бар отображал ход копирования папок с файлами (включая подкаталоги).
Я вот попоробовал добавить ПрогрессБар к исходнику "Copy Files" и не смог.
Вот его код:
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | 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 );
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 ;
|
Да, и если нетрудно, скажите заодно, как узнать сколько файлов скопировано, сколько осталось и как получить все это счастье в текстовом формате, и можно ли к
Код:
1 | fFlags:=FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
|
добавить флаг FOF_SLINET и другие, не потеряв при этом FOF_NOCONFIRMATION и FOF_RENAMEONCOLLISION?
Заранее спасибо.