代码如下:
if savedialog1.execute then
begin
// 从一个文件到另一个文件的复制
*****
end;
***** 处如何写才能在执行复制文件的时候,出现那个“复制对话框”,里面包含从一个文件到另一个文件的复制情形,还有 “还剩5分钟”等的东西?当复制完成后,该对话框自动消失?
if savedialog1.execute then
begin
// 从一个文件到另一个文件的复制
*****
end;
***** 处如何写才能在执行复制文件的时候,出现那个“复制对话框”,里面包含从一个文件到另一个文件的复制情形,还有 “还剩5分钟”等的东西?当复制完成后,该对话框自动消失?
Uses ShellAPI;
procedure TForm1.Button1Click(Sender: TObject);
var
Source,Destination,Title:string;
Abortbyuser:boolean;
ShFileOpStruct: TShFileOpStruct;
begin
Source:='g:\VB.ISO';
Destination:='c:\bbb';
Title:='拷贝文件';
FillChar(ShFileOpStruct, SizeOf(ShFileOpStruct), 0); //变量清零
with ShFileOpStruct do
begin
Wnd:=Application.MainForm.Handle; //给窗口句柄赋值
wFunc:=FO_COPY; //实现文件拷贝
pFrom:=PChar(Source); //source为源文件名
pTo:=PChar(Destination); //destination目标文件
fFlags:=fFlags or FOF_ALLOWUNDO; //设置允许撤消,显示进度,文件名
lpszProgressTitle:=PChar(Title); //设置拷贝进度窗体标题
AbortByUser:=fAnyOperationsAborted;//fAnyOperationsAborted表示是
end;
ShFileOperation(ShFileOpStruct);
end;