delphi如何复制文件夹
我想用两个Edit控件,分别写上要复制文件夹的地址和该文件夹要复制到的地址,然后用一个button写上事件来完成复制功能,请哪位大侠帮忙,感激不尽能不能详细一点的,加点注...
我想用两个Edit控件,分别写上要复制文件夹的地址和该文件夹要复制到的地址,然后用一个button写上事件来完成复制功能,请哪位大侠帮忙,感激不尽
能不能详细一点的,加点注释,感激不尽! 展开
能不能详细一点的,加点注释,感激不尽! 展开
8个回答
推荐于2016-11-28 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:25897
获赞数:1464977
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。
向TA提问 私信TA
关注
展开全部
可以用以下的方法:
CopyFile(pchar('c:\sql.txt'), pchar('d:\sql.txt'), True);
只要是文件的复制,都可以。
移动文件:
MoveFile(pchar('c:\sql.txt'), pchar('d:\sql.txt'));
删除文件:
DeleteFile('c:\sql.txt');
以上都是可行的。
CopyFile(pchar('c:\sql.txt'), pchar('d:\sql.txt'), True);
只要是文件的复制,都可以。
移动文件:
MoveFile(pchar('c:\sql.txt'), pchar('d:\sql.txt'));
删除文件:
DeleteFile('c:\sql.txt');
以上都是可行的。
展开全部
function CopyDir(SrcDir, DesDir: String): Boolean;
var
ss: TSHFileOpStruct;
begin
Result := False;
if not DirectoryExists(SrcDir) then Exit;
FillChar(ss, SizeOf(ss), 0);
ss.Wnd := Handle;
SS.pFrom :=PChar(SrcDir + #0);
ss.pTo := PChar(DesDir + #0);
ss.wFunc := FO_COPY;
ss.fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
Result := SHFileOperation(ss) = 0;
end;
var
ss: TSHFileOpStruct;
begin
Result := False;
if not DirectoryExists(SrcDir) then Exit;
FillChar(ss, SizeOf(ss), 0);
ss.Wnd := Handle;
SS.pFrom :=PChar(SrcDir + #0);
ss.pTo := PChar(DesDir + #0);
ss.wFunc := FO_COPY;
ss.fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
Result := SHFileOperation(ss) = 0;
end;
参考资料: http://hi.baidu.com/%CC%EC%B5%D8%BB%CC%BB%CC
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以分步做嘛,先建立文件夹,再把文件复制到新的文件夹下,不是也能实现你的功能吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-01-08
展开全部
uses shellAPI;
procedure TForm1.Button1Click(Sender: TObject);
var
lpFileOp: TSHFileOpStruct;
begin
with lpFileOp do
begin
Wnd:=Self.Handle;
wfunc:=FO_COPY;
pFrom:=pchar('C:\AAA');
pTo:=pchar('D:\AAA');
fFlags:=FOF_ALLOWUNDO;
hNameMappings:=nil;
lpszProgressTitle:=nil;
fAnyOperationsAborted:=True;
end;
if SHFileOperation(lpFileOp)<>0 then
ShowMessage('失败');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
lpFileOp: TSHFileOpStruct;
begin
with lpFileOp do
begin
Wnd:=Self.Handle;
wfunc:=FO_COPY;
pFrom:=pchar('C:\AAA');
pTo:=pchar('D:\AAA');
fFlags:=FOF_ALLOWUNDO;
hNameMappings:=nil;
lpszProgressTitle:=nil;
fAnyOperationsAborted:=True;
end;
if SHFileOperation(lpFileOp)<>0 then
ShowMessage('失败');
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
cobi(小新国际)兄:我照你所说的做了,但系统提示SHFileOpStruct为非法变量,请问是否需要uses其它单元?另外,我的源目录及目标目录是用string变量表示的,如何实现与PChar变量的互换?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询