如下代码:
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)我怎么在这里使用进度条呢?
如果这样不可以,我该怎么做?
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
够精确了吧!