نسخ الملفات
#1
مرحبا شباب 
اريد كود يقوم بنسخ جميع الملفات من \:d  الى   \:c
الرد
#2
* يمكن عمل ذلك بإستعمل مكتبة ShellAPI

كود :
uses ShellAPI;

* بعد ذلك نقوم بكتابة إجراء يساعد على : النسخ أو النقل أو تغيير الاسم ، وذلك الاحتياج

كود :
procedure FileAction(action:longint;fromDir,toDir:string); var MyFileAction:TSHFileOpStruct; begin MyFileAction.wnd :=Form1.handle; MyFileAction.wFunc :=action; MyFileAction.pFrom :=Pchar(fromDir +#0+#0); MyFileAction.pTo :=Pchar(toDir +#0+#0); MyFileAction.fFlags:=FOF_ALLOWUNDO or FOF_NOCONFIRMATION or FOF_SILENT; MyFileAction.fAnyOperationsAborted:=false; MyFileAction.hNameMappings :=NIL; MyFileAction.lpszProgressTitle :=NIL; SHFileOperation(MyFileAction); end;

* الان تنفيذ الجراء :  FO_MOVE,FO_DELETE,FO_COPY,FO_RENAME
امثلة:

- لعملية النسخ :
كود :
FileAction(FO_COPY,Edit1.text,Edit2.text);
- لعملية النقل ملفات من مجلد الى اخر :
كود :
FileAction(FO_MOVE,Edit1.text,Edit2.text);

حمل المثال من المرفقات


الملفات المرفقة
.rar   Copy File.rar (الحجم : 161.51 ك ب / التحميلات : 5)
[-] كل من 3 users say قال شكرا ل larbiparadox على المشاركة المفيدة
  • احمد العراقي, samnaj00, bassem_43
الرد
#3
شكرا على المساعدة لكن لو سمحت انا طلبت نسخ جميع محتويات d الى c اي نسخ جميع الملفات و الفايلات من الهارد d الى الهارد c
الرد
#4
(11-09-2019, 09:08 PM)احمد العراقي كتب : شكرا على المساعدة لكن لو سمحت انا طلبت نسخ جميع محتويات d الى c اي نسخ جميع الملفات و الفايلات من الهارد d الى الهارد c

* يمكن فعل ذلك بالمثال المقدم ، ولكن سيأخذ وقت كبير كلما كبر حجم البيانات و حسب امكانيات الجهاز

- كما يمكن فعل ذلك بواسطة ملف DOS أو ملف تنفيذي bat

* انا شخصيا انصحك اذا حجم البيانات كبير بإستعمال برامج النسخ كمثال : TeraCopy ،  Supercopier ، .. إلخ

- اما اذا كانت الملفات ذات حجم صغير يمكنك الاستعانة بالمثال المقدم  ، اكتب في الخانة الاولى :C و الخانة الثانية Big Grin
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم