11-09-2019, 04:05 PM
11-09-2019, 07:35 PM
* يمكن عمل ذلك بإستعمل مكتبة ShellAPI
* بعد ذلك نقوم بكتابة إجراء يساعد على : النسخ أو النقل أو تغيير الاسم ، وذلك الاحتياج
* الان تنفيذ الجراء : FO_MOVE,FO_DELETE,FO_COPY,FO_RENAME
امثلة:
- لعملية النسخ :
- لعملية النقل ملفات من مجلد الى اخر :
حمل المثال من المرفقات
كود :
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);حمل المثال من المرفقات
11-09-2019, 09:08 PM
شكرا على المساعدة لكن لو سمحت انا طلبت نسخ جميع محتويات d الى c اي نسخ جميع الملفات و الفايلات من الهارد d الى الهارد c
12-09-2019, 04:28 PM
(11-09-2019, 09:08 PM)احمد العراقي كتب : [ -> ]شكرا على المساعدة لكن لو سمحت انا طلبت نسخ جميع محتويات d الى c اي نسخ جميع الملفات و الفايلات من الهارد d الى الهارد c
* يمكن فعل ذلك بالمثال المقدم ، ولكن سيأخذ وقت كبير كلما كبر حجم البيانات و حسب امكانيات الجهاز
- كما يمكن فعل ذلك بواسطة ملف DOS أو ملف تنفيذي bat
* انا شخصيا انصحك اذا حجم البيانات كبير بإستعمال برامج النسخ كمثال : TeraCopy ، Supercopier ، .. إلخ
- اما اذا كانت الملفات ذات حجم صغير يمكنك الاستعانة بالمثال المقدم ، اكتب في الخانة الاولى :C و الخانة الثانية
