写一个Copyfile()函数,
       要求在拷贝单个文件的时候能通过ProgressBar显示其拷贝进度。
       帮我搞定啊!

解决方案 »

  1.   

    var
     Fo      : TSHFileOpStruct;
     buffer  : array[0..4096] of char;
     p       : pchar;begin
      FillChar(Buffer, sizeof(Buffer), #0);
      p := @buffer;
    {  p := StrECopy(p, 'C:\DownLoad\1.ZIP') + 1;
      p := StrECopy(p, 'C:\DownLoad\2.ZIP') + 1;
      p := StrECopy(p, 'C:\DownLoad\3.ZIP') + 1;
      StrECopy(p, 'C:\DownLoad\4.ZIP');
    }
      p := StrECopy(p, 'C:\Temp') + 1;
      StrECopy(p, 'C:\BaseClass.txt');  FillChar(Fo, sizeof(Fo), #0);
      Fo.Wnd    := Handle;
      Fo.wFunc  := FO_COPY;
      Fo.pFrom  := @Buffer;
      Fo.pTo    := 'D:\';
      Fo.fFlags := 0;
      if ((SHFileOperation(Fo) <> 0) or
          (Fo.fAnyOperationsAborted <> false)) then
        ShowMessage('Cancelled')
    end;
      

  2.   

    有错误啊!有没有去他方法!
    [Error] Unit1.pas(28): Undeclared identifier: 'TSHFileOpStruct'
    [Error] Unit1.pas(44): Undeclared identifier: 'FO_COPY'。。