نسخ الملفات
#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 KB / التحميلات : 2)
[-] كل من 3 users say قال شكرا ل larbiparadox على المشاركة المفيدة
  • bassem_43, samnaj00, احمد العراقي
الرد
#3
شكرا على المساعدة لكن لو سمحت انا طلبت نسخ جميع محتويات d الى c اي نسخ جميع الملفات و الفايلات من الهارد d الى الهارد c
الرد
#4
(11-09-2019, 09:08 PM)احمد العراقي كتب : شكرا على المساعدة لكن لو سمحت انا طلبت نسخ جميع محتويات d الى c اي نسخ جميع الملفات و الفايلات من الهارد d الى الهارد c

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

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

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

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


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


مستخدمين يتصفحوا هذا الموضوع: 1 ضيف