1删除目录: 2function DelDirectory(const Source:string): boolean; 3 var 4 fo: TSHFILEOPSTRUCT; 5 begin 6 FillChar(fo, SizeOf(fo), 0); 7 with fo do 8 begin 9 Wnd := 0; 10 wFunc := FO_DELETE; 11 pFrom := PChar(source+#0); 12 pTo := #0#0; 13 fFlags := FOF_NOCONFIRMATION+FOF_SILENT; 14 end; 15 Result := (SHFileOperation(fo) = 0); 16 end; 17 复制目录: 18 function CopyDirectory(const Source, Dest: string): boolean; 19 var 20 fo: TSHFILEOPSTRUCT; 21 begin 22 FillChar(fo, SizeOf(fo), 0); 23 with fo do 24 begin 25 Wnd := 0; 26 wFunc := FO_COPY; 27 pFrom := PChar(source+ #0 ); 28 pTo := PChar(Dest+ #0 ); 29 fFlags := FOF_NOCONFIRMATION+FOF_NOCONFIRMMKDIR ; 30 end; 31 Result := (SHFileOperation(fo) = 0); 32 end; 33重新命名: 34 //RenDirectory('d:\wt2','d:\bcde'); 35 function RenDirectory(const OldName,NewName:string): boolean; 36 var 37 fo: TSHFILEOPSTRUCT; 38 begin 39 FillChar(fo, SizeOf(fo), 0); 40 with fo do 41 begin 42 Wnd := 0; 43 wFunc := FO_RENAME; 44 pFrom := PChar(OldName+ #0 ); 45 pTo := pchar(NewName+ #0 ); 46 fFlags := FOF_NOCONFIRMATION+FOF_SILENT; 47 end; 48 Result := (SHFileOperation(fo) = 0); 49 end; 50 //Copy 多个文件的处理: 51 function CopyFiles(const Source,Dest: string): boolean; 52 var 53 fo: TSHFILEOPSTRUCT; 54 begin 55 FillChar(fo, SizeOf(fo), 0); 56 with fo do 57 begin 58 Wnd := 0; 59 wFunc := FO_COPY; 60 pFrom := @source[1]; 61 pTo :=pchar(dest); 62 fFlags := FOF_NOCONFIRMATION+FOF_NOCONFIRMMKDIR ; 63 end; 64 Result := (SHFileOperation(fo) = 0); 65 end; 66procedure TForm1.Button1Click(Sender: TObject); 67 var 68 str:string; 69 i:integer; 70 begin 71 if opendialog1.Execute then 72 begin 73 for i:=0 to OpenDialog1.Files.Count-1 do 74 str:=str+OpenDialog1.Files.strings[i]+ #0 ; 75 showmessage(str); 76 str:=str+ #0 ; 77 CopyFiles(str, 'd:\temp' ); 78 end; 79 end;
Delphi 目录操作
Stella981
2021-10-11
1246 0 0
点赞
收藏
评论区
加载中...