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

Вниз

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 вся ветка

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

Наверх




Память: 0.46 MB
Время: 0.018 c
15-1248771986
Kolan
2009-07-28 13:06
2009.10.04
Ошибка F2438 UCS-4 text encoding not supported.


2-1248752568
xyz
2009-07-28 07:42
2009.10.04
переключение между формами программы


2-1248965387
xyz
2009-07-30 18:49
2009.10.04
не компилируется MessageBox


2-1249378085
Kolan
2009-08-04 13:28
2009.10.04
Почему вместо &amp;#8593; отображается квадратик


15-1249115904
Alkid
2009-08-01 12:38
2009.10.04
Внимание, телефонная разводка