![]() |
|
نسخ مجلد نحو مجل آخر - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي التقنية (https://delphi4arab.net/forum/forumdisplay.php?fid=6) +--- قسم : دلفي والتعامل مع الملفات (https://delphi4arab.net/forum/forumdisplay.php?fid=22) +--- الموضوع : نسخ مجلد نحو مجل آخر (/showthread.php?tid=2139) |
نسخ مجلد نحو مجل آخر - أبو معاذ - 25-06-2010 السلام عليكم ورحمة الله وبركاته ، كنت أبحث عن طريقة نسخ مجلد نحو مجلد آخر فوجد هذه الفكرة فأحببت أن أضعها لكم للتعم الفائدة . كود : 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 بارك الله فيك وجزاك الله خير احب اضيف تعديل بسيط لمن اراد ان ينسخ ما بداخل المجلد من ملفات دون نسخ كامل المجلد. ليصبح الكود: كود : if CopyFolder('D:\CopyFolder\11\*.*', 'D:\CopyFolder\1')then
ShowMessage('Ok ')
else
ShowMessage('No');
end;فقط قم باضافة ((\*.* )) بعد المجلد الهدف نسخ مجلد نحو مجل آخر - oussaki - 18-11-2012 طريقة أسهل بكثير كود : TDirectory.Delete(Path,true);حيث Path مسار المجلد و True يدل على الحدف التراجعي لجميع المجلدات المحتوات فيه بما فيها الملفات يجب إستدعاء IOUtils |