Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.45 MB
Время: 0.007 c
2-1248439205
bsv
2009-07-24 16:40
2009.10.04
список листов в книге excel


2-1248693315
evgenij
2009-07-27 15:15
2009.10.04
Access violation после выгрузки dll


2-1248854287
xyz
2009-07-29 11:58
2009.10.04
исключение "недопустимое имя"


3-1227778244
vegarulez
2008-11-27 12:30
2009.10.04
Вопрос про ZeosDBO. (Zquery.Fields[i].AsDatetime)


2-1249302439
InteGer
2009-08-03 16:27
2009.10.04
JCreateProcess





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский