المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : نسخ مجلد نحو مجل آخر


Unprogramme
25-06-2010, 06:59 PM
السلام عليكم ورحمة الله وبركاته ،
كنت أبحث عن طريقة نسخ مجلد نحو مجلد آخر فوجد هذه الفكرة فأحببت أن أضعها لكم للتعم الفائدة .



function CopyFolder(FromFld, ToFld: string): boolean;
var fos: TSHFileopStruct;
begin
// il faut supprimer les antislashs de fin sinon vous aurez droit à un message d'erreur
// you must delete backSlsh
FromFld := ExcludeTrailingPathDelimiter(Trim(FromFld));
ToFld := ExcludeTrailingPathDelimiter(Trim(ToFld));

FillChar(fos, SizeOf(fos),0);
with fos do
begin
wFunc := FO_COPY;
pFrom := PChar(FromFld+#0);
pTo := PChar(ToFld+#0);
fFlags := FOF_SILENT or FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR;
end;
Result := ShFileOperation(fos)=0;
end;




if CopyFolder('d:\Folder01', 'c:\Folder2')then
ShowMessage('Ok ')
else
ShowMessage('No');



طبعا لا تنس إضافة ShellAPI لقائمة Uses .

ابومهند
12-07-2010, 05:15 AM
بارك الله فيك وجزاك الله خير
احب اضيف تعديل بسيط لمن اراد ان ينسخ ما بداخل المجلد من ملفات دون نسخ كامل المجلد.

ليصبح الكود:

if CopyFolder('D:\CopyFolder\11\*.*', 'D:\CopyFolder\1')then
ShowMessage('Ok ')
else
ShowMessage('No');
end;

فقط قم باضافة ((\*.* )) بعد المجلد الهدف

mobile
01-08-2011, 09:37 PM
بارك الله فيكما

saozar ameen
01-11-2011, 11:50 PM
السلام عليكم
طيب كيف أستدعي التابع مثلا عن طريق وضع زر