Форум: "WinAPI";
Текущий архив: 2009.10.04;
Скачать: [xml.tar.bz2];
ВнизTSHFileOpStruct - как сделать копирование видимым? Найти похожие ветки
← →
Hero © (2008-08-15 08:37) [0]Мне нужно сделать копирование файлов так, чтобы его видел пользователь т.е. с прогрессбаром. вот функция:
Function TForm1.WinCopy(_From,_toFolder:string):boolean;
var
OpStruc: TSHFileOpStruct;
frombuf, tobuf: Array [0..128] of Char;
Function ExtractDirFromDir(dir:string):string;
var n:integer;
begin
for n:=length(dir)-1 downto 1 do
if (dir[n] = "\") or (dir[n] = "/") then break;
result:=copy(dir,n+1,length(dir)-n);
end;
Begin
if not directoryExists(_toFolder) then exit;
if DirectoryExists(_From) then
begin
if Length(_From) < 4 then exit;
if _toFolder[length(_toFolder)] <> "\" then _toFolder:=_toFolder+"\";
_toFolder:=_toFolder+ ExtractDirFromDir(_from);
if not DirectoryExists(_toFolder) then createDir(_toFolder);
if _From[length(_From)] <> "\" then _From:=_From+"\";
_From:=_From+"*.*";
end else
if not FileExists(_From) then exit;
FillChar( frombuf, Sizeof(frombuf), 0 );
FillChar( tobuf, Sizeof(tobuf), 0 );
StrPCopy( frombuf, _from );
StrPCopy( tobuf, _toFolder );
With OpStruc DO Begin
Wnd:= Handle;
wFunc:= FO_COPY;
pFrom:= @frombuf;
pTo:=@tobuf;
fFlags:= FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION or FOF_ALLOWUNDO ;
fAnyOperationsAborted:= False;
hNameMappings:= Nil;
lpszProgressTitle:= Nil; //Может тут что писать надо? Что?
end;
Result:=ShFileOperation( OpStruc )=0;
end;
Спасибо.
← →
Hero © (2008-08-15 08:41) [1]Упс. Извиняюсь уже понял.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2009.10.04;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c