المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : توضيح ميزه روعه وبسيطه في أكواد الـ copy , delete , move , find


Haitham.2012
07-06-2013, 12:01 AM
http://www.alheweny.org/mages2/salam.gif


اهلا شباب .. احب اوضح نقطه ممتازه وبسيطه في أكواد الحذف والنسخ والبحث و النقل

سأوضح النقطه على كود الحذف وهي نفسها على باقي الأكواد ...

عندما نريد حذف ملف معين وليكن اسمه ( haitham.txt ) كلنا نعرف إستخدام هذا الكود لتنفيذ هذه المهمه


File.Delete("AutoPlay\\Docs\\haitham.txt", true, false, false, nil);


هذا الأمر واضح للجميع أليس كذلك ؟؟ .. طيب شاهد معي هذه الصوره


http://img189.imageshack.us/img189/1971/93629746.png



هل تعرف معنى الحقل Recurse ؟


معناها هل تريد أن تشمل جميع المجلدات الموجوده داخل المجلد الهدف أم لا ؟؟ ( ستتضح مع المثال )

أولا اذا كنت تريد حذف ملف واحد ومحدد لن يكون هناك فرق سواء كانت قيمة هذا الحقل true أو false

تمهيد : كما ذكرنا اذا اردنا حذف ملف واحد ومحدد سنستخدم الكود السابق ذكره .. طيب لو اردنا حذف مجموعة ملفات مره واحده وبدون ان تستخدم دالة تكرار والميزه الأروع انك تستطيع حذف مجموعه من الملفات التي تحتوي على نص معين ويترك الباقي دون حذف ..

عليك اولا معرفة هذه العلامات

( * ) وهي تعني أي عدد من الحروف

( ؟ ) وهي تعني حرف واحد

طبعا هنا نقصد بالحرف أي كان ( رقم , حرف عربي , حرف إنجليزي , علامه .... )

ركز في الأمثله القادمه على مكان النجمه ( * )


مثال رقم 1 : تريد حذف جميع الملفات ذات امداد txt الموجود داخل المجلد Docs سيكون هذا الكود المستخدم

File.Delete("AutoPlay\\Docs\\*.txt", false, false, false, nil);



مثال رقم 2 : تريد حذف جميع الملفات ذات امداد txt الموجود داخل المجلد Docs و الموجوده داخل أي مجلد داخل ال Docs سيكون هذا الكود المستخدم ( لاحظ تشابه الكود مع السابق لكن الحقل Recurse أصبح true )

File.Delete("AutoPlay\\Docs\\*.txt", true, false, false, nil);



مثال رقم 3 : تريد حذف جميع الملفات ذات امتداد txt والتي يحتوي اسم الملف على كلمة ( haitham ) في البدايه فقط

File.Delete("AutoPlay\\Docs\\haitham*.txt", false, false, false, nil);

طبعا كما ذكرنا سابقا فائدة الحقل Recurse فلك ان تتركه على false او تجعله true



مثال رقم 4 : تريد حذف جميع الملفات ذات امتداد txt والتي يحتوي اسم الملف على كلمة ( haitham ) في النهايه فقط

File.Delete("AutoPlay\\Docs\\*haitham.txt", false, false, false, nil);



مثال رقم 5 : تريد حذف جميع الملفات ذات امتداد txt والتي يحتوي اسم الملف على كلمة ( haitham ) أيا كان موقع الاسم

File.Delete("AutoPlay\\Docs\\*haitham*.txt", false, false, false, nil);



نفس الأفكار السابقه يمكنك ان تتطبقها على كود النسخ او نقل الملفات او حتى البحث عن الملفات

بالتوفيق لكم اخواني واتمنى ان اكون طرحت الموضوع بشكل سهل

:abc_138:

النصل القاطع
07-06-2013, 01:20 AM
شكرا أخى هيثم على المعلومات المفيدة


هل يمكنك مراجعة كودى المثال الرابع و الخامس
فهما متطابقان مع إختلاف الوظيفة

أعلم أنك شرحت Recurse
لكن راجع الكود

:abc_152:

ثامر أبو بلقيس
07-06-2013, 01:35 AM
بارك الله فيك استاذي الكريم
شرح واضح جدا .... جزاك الله خيرا

ثامر أبو بلقيس
07-06-2013, 01:59 AM
أستاذي الكريم علمتني منذ مدة كيفية نسخ من الجهاز
الى داخل الاسطوانة باستغلال ملف دل
http://www.gulfup.com/?VzYA7x

كما يمكن أن تستغل الأوامر في نفس الملف :
DeleteFolder
MoveFolder
RenameFolder
UnReadOnly

بارك الله فيك مرة ثانية

امل الماضي
07-06-2013, 07:17 AM
جــــــــــــــــــــــــ ـزاك الله خيرا أستاذي الفاضل
موفق بإذن الله ... لك مني أجمل تحية .

امل الماضي
07-06-2013, 07:29 AM
هل اذا وضعنا الاسم المراد حذفه بين نجمتين يحذف أيا كان موضعه؟
كماهو موضح في الكود الخامس

امل الماضي
07-06-2013, 07:51 AM
الاختلاف بين الكود الرابع والخامس أن الكود الرابع يحتوي على نجمة واحدة والكود الخامس على نجمتين
أم أن هذا لايؤثر في الكود
ام أنك تقصد بالتطابق false

أبو يوسف
07-06-2013, 10:22 AM
جزاك الله خيرا اخانا هيثم على جهودك الطيبة وتقديم المعلومة المفيدة

:abc_152:

النصل القاطع
07-06-2013, 10:59 AM
الاختلاف بين الكود الرابع والخامس أن الكود الرابع يحتوي على نجمة واحدة والكود الخامس على نجمتين

صحيح
الخطأ عندى
صار لازم أفصل نظارة

Haitham.2012
07-06-2013, 12:35 PM
صحيح
الخطأ عندى
صار لازم أفصل نظارة



HeHeHe :abc_050:

ألف سلامه عليك يا أستاذ خالد لسه بدري على النظارات


الاختلاف بين الكود الرابع والخامس أن الكود الرابع يحتوي على نجمة واحدة والكود الخامس على نجمتين
أم أن هذا لايؤثر في الكود
ام أنك تقصد بالتطابق false


هناك فرق وكما وضحت في تعريف المثال .. جرب

azizsoft
07-06-2013, 01:31 PM
بسم الله الرحمن الرحيم

ارك الله فيكم ونفع بكم
موضوع جميل ومميز

وفقكم الله

Haitham.2012
07-06-2013, 04:22 PM
أستاذي الكريم علمتني منذ مدة كيفية نسخ من الجهاز
الى داخل الاسطوانة باستغلال ملف دل
http://www.gulfup.com/?VzYA7x

كما يمكن أن تستغل الأوامر في نفس الملف :
DeleteFolder
MoveFolder
RenameFolder
UnReadOnly

بارك الله فيك مرة ثانية

لا اعرف ان ملف ال dll به هذه الاوامر عموما هناك كود صريح ومباشر في الاوتو بلاي

Folder delete و Folder rename

اما عن folder move فيمكنك استخدام كود file move وتطبق عليه ما فهمته من الدرس هو ان تستخدم ( *.* ) كتعبير عن اي اسم ملف واي امتداد وبالتالي كود ال file move سوف ينقل كل الملفات الى المسار الهدف

اما عن Un read only فلا اعرففها

أبو فارس
07-06-2013, 04:35 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

ابو احمد النائلي
01-09-2014, 02:42 AM
بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية
:salla: :salla: :salla: :salla: :salla:
:salla: :salla: :salla: :salla: :salla:
.

المـهاجر
03-09-2014, 12:56 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .