PDA

View Full Version : انجام عملیات کپی پوشه در مسیر مقصد با نام جدید



mahdy.asia
جمعه 25 فروردین 1391, 19:23 عصر
من می خواهم یک پوشه را در مسیر مقصد با نام جدید کپی نمایم در حال حاضر ابتدا عملیات کپی و سپس عملیات rename را انجام می دهم آیا تابعی وجود دارد که عملیات مذکور را با یک پروسه انجام دهد

Mask
شنبه 26 فروردین 1391, 13:55 عصر
از تابع زیر استفاده کنید.

uses
ShellAPI

function CopyDir(const fromDir, toDir: string): Boolean;
var
fos: TSHFileOpStruct;
begin
ZeroMemory(@fos, SizeOf(fos));
with fos do
begin
wFunc := FO_COPY;
fFlags := FOF_FILESONLY;
pFrom := PChar(fromDir + #0);
pTo := PChar(toDir)
end;
Result := (0 = ShFileOperation(fos));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if CopyDir('c:\1','c:\2') then
ShowMessage('operation was completed successfully');
end;

mbshareat
شنبه 26 فروردین 1391, 23:09 عصر
سلام
اضافه کردن ShellApi به لیست Uses فراموش نشده!