首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

文件拷贝进度条有关问题

2012-02-21 
文件拷贝进度条问题如下代码:procedureTt_databake.Button1Click(Sender:TObject)varmytime:TDateTimeEr

文件拷贝进度条问题
如下代码:
procedure   Tt_databake.Button1Click(Sender:   TObject);
var
    mytime:   TDateTime;
    ErrorMessage:       Pointer;
    ErrorCode:       DWORD;
    ErrorMessageString:string;
    path:LPCSTR;
    hour,minite,second:string;
begin
    mytime:=Now;
    hour:=IntToStr(HourOf(Now));
    minite:=IntToStr(minuteOf(Now));
    second:=IntToStr(secondOf(Now));
    path:=LPCSTR(Edit1.Text+ '/ '+DateToStr(mytime)+ '- '+hour+ '- '+minite+ '- '+second{+TimeToStr(mytime)}+ '.dat ');
  if   not   CopyFile( 'aaa.mdb ',Pchar(path),False)       then
    begin
        ErrorCode       :=       GetLastError;
          FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER       or       FORMAT_MESSAGE_FROM_SYSTEM,
                                  nil,       ErrorCode,       0,       @ErrorMessage,       0,       nil);
          ErrorMessageString:= '文件备份错误: '+PChar(ErrorMessage);
          MessageBox(handle,PChar(ErrorMessageString), '警告 ',MB_ok       or       MB_ICONERROR);
        LocalFree(hlocal(ErrorMessage));
      end
      else       MessageBox(handle, '文件备份成功 ', '信息 ',MB_ok       or       MB_ICONINFORMATION);
end;

这里是拷贝文件:CopyFile( 'aaa.mdb ',Pchar(path),False)

我怎么在这里使用进度条呢?
如果这样不可以,我该怎么做?

[解决办法]
不要求进度条精度的话,单独开一个线程最简单了。
[解决办法]
要求进度条精度的话,用流打开要复制的文件,再新建一个目标文件
一字节一字节的写进去,进度的max是文件大小,写一字节就step加1
够精确了吧!

热点排行