![]() |
|
في دلفي كيف اقوم بنسخ ملفات من مجلد الى آخر دون تكرار الملفات الموجودة - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : في دلفي كيف اقوم بنسخ ملفات من مجلد الى آخر دون تكرار الملفات الموجودة (/showthread.php?tid=6301) |
في دلفي كيف اقوم بنسخ ملفات من مجلد الى آخر دون تكرار الملفات الموجودة - amer mohamed - 08-07-2014 السلام عليكم في دلفي كيف اقوم بنسخ و لسق ملفات من مجلد اقوم بتحديده الى آخر اقوم ايضا بتحديده دون تكرار الملفات الموجودة آنفا في دلفي كيف اقوم بنسخ ملفات من مجلد الى آخر دون تكرار الملفات الموجودة - Najy Ibraheem - 09-07-2014 السلام عليكم... الكود التالي يفترض وجود مجلد اسمه Source كمصدر للملفات، و مجلد آخر اسمه Target لوضع نسخ من الملفات فيه، و أن كلا المجلدين موجودين ضمن نفس المجلد الذي يوجد به البرنامج: كود : procedure TForm1.Button1Click(Sender: TObject);
var
SourcePath, TargetPath: string;
FileObject: TSearchRec;
begin
SourcePath := IncludeTrailingBackslash(ExtractFilePath(Application.ExeName)) + 'Source\';
TargetPath := IncludeTrailingBackslash(ExtractFilePath(Application.ExeName)) + 'Target\';
if FindFirst(SourcePath + '*.*', faAnyFile, FileObject) = 0 then begin
repeat
if (FileObject.Attr and faDirectory) = 0 then begin
ShowMessage(FileObject.Name);
CopyFile(PChar(SourcePath + FileObject.Name), PChar(TargetPath + FileObject.Name), True);
end;
until FindNext(FileObject) <> 0;
end;
end;طبعاً ستحدد مسار المجلدين Source و Target حسب ما لديك في البرنامج. جملة الاختبار if (FileObject.Attr and faDirectory) = 0 then begin هي لاستبعاد المجلدات لأن كلاً من الدالة FindFirst و FindNext تعيد أيضاً أسماء المجلدات الفرعية. * المهم في الأمر، و لمنع استبدال الملفات الموجودة سابقاً بنفس الاسم في المجلد الهدف، هو ضبط البارامتر الثالث للدالة CopyFile على True لأن ذلك سيمنع الدالة من نسخ الملف المصدر إذا كان هناك ملف بنفس الاسم في المجلد الهدف. نرجو الاستفادة و السلام. في دلفي كيف اقوم بنسخ ملفات من مجلد الى آخر دون تكرار الملفات الموجودة - amer mohamed - 12-07-2014 najy ibraheem كتب :الكود التالي يفترض وجود مجلد اسمه source كمصدر للملفات، و مجلد آخر اسمه target لوضع نسخ من الملفات فيه، و أن كلا المجلدين موجودين ضمن نفس المجلد الذي يوجد به البرنامج:ممكن سورس بسيط لو تكرمت اخي |