Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.07;
Скачать: CL | DM;

Вниз

Прогресс копирования файлов в SHFileOperation   Найти похожие ветки 

 
iNew ©   (2003-06-05 09:59) [0]

procedure CreateBuffer( Names : array of string; var P : TBuffer );
var
I, J, L : Integer;
begin
for I := Low( Names ) to High( Names ) do
begin
L := Length( P );
SetLength( P, L + Length( Names[ I ] ) + 1 );
for J := 0 to Length( Names[ I ] ) - 1 do
P[ L + J ] := Names[ I, J + 1 ];
P[ L + J ] := #0;
end;
SetLength( P, Length( P ) + 1 );
P[ Length( P ) ] := #0;
end;

function CopyFiles( Handle : Hwnd; Src : array of string; Dest : string; Move : Boolean; AutoRename : Boolean ) : Integer;
var
SHFileOpStruct : TSHFileOpStruct;
SrcBuf : TBuffer;
str : String;
begin
CreateBuffer( Src, SrcBuf );
with SHFileOpStruct do
begin
Wnd := Handle;
wFunc := FO_COPY;
if Move then wFunc := FO_MOVE;
pFrom := Pointer( SrcBuf );
pTo := PChar( Dest );
fFlags := 0;
if AutoRename then
fFlags := FOF_RENAMEONCOLLISION;
fAnyOperationsAborted := False;
hNameMappings := nil;
lpszProgressTitle := nil;
Form1.Edit1.Text:=str;
end;
Result := SHFileOperation( SHFileOpStruct );
SrcBuf := nil;
end;

Подскажите, возможно, ли используя SHFileOperation реализовать прогресс копирования файлов, и если да то, что нужно исправить в function CopyFiles?


 
jack128 ©   (2003-06-05 10:53) [1]

fFlags := FOF_RENAMEONCOLLISION or OF_SIMPLEPROGRESS;
lpszProgressTitle := "Процес пошел";


 
iNew ©   (2003-06-05 11:00) [2]

1. Куда будет выводится "Процес пошел".
2. Под прогрессом я подразумевл что-то вроде ProgressBar

P.S. Добавление FOF_RENAMEONCOLLISION or FOF_SIMPLEPROGRESS
ничего не изменило.


 
jack128 ©   (2003-06-05 19:55) [3]

Да, я ошибся, там ничего не надо делать, окошко и так появляется...
То есть тебя оно не устраивает??

Тогда смотри в сторону CopyFileEx, там есть callback функция, в которой и показывай какое хочешь окно. Правда каждый файл придется копировать отдельно, а не всю папку целиком...



Страницы: 1 вся ветка

Текущий архив: 2003.08.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
14-20779
BROTHER-3
2003-07-21 20:46
2003.08.07
Где найти Delphi 7


3-20378
Silver_
2003-07-15 11:01
2003.08.07
SQL: Group By <MM> | <YYYY>


14-20711
Vovchik_A
2003-07-23 15:51
2003.08.07
Вопрос !


3-20422
RomanRom2
2003-07-15 16:26
2003.08.07
Скопировать таблицу


14-20682
McSimm
2003-07-22 14:53
2003.08.07
Длинные ветки. Ваше мнение?