السلام عليكم
هل من طريقة للمرور على حميع الملفات في مجلد معين و معالجتها
مثلا أريد حذف جميع الملفات في هذا المجلد ... أو عمل rename لها جميعا على التسلسل
و شكرا
السلام عليكم
هل من طريقة للمرور على حميع الملفات في مجلد معين و معالجتها
مثلا أريد حذف جميع الملفات في هذا المجلد ... أو عمل rename لها جميعا على التسلسل
و شكرا
MAAAAAAAAAAAAAAAAAAAAAAAC
procedure checkfiles(the_path: String); var res: integer; _search: TSearchRec; begin res:= FindFirst(the_path, faAnyFile, _search); while res= 0 do begin //do ur renaming or deleting //e.g. delete DeleteFile(the_path+ _search.Name); RenameFile(the_path+ _search.Name, the_path+ 'the new name'); FindNext(_search); end; FindClose(_search); end;
if u want all files in c:\folder1 pass this parameter: 'c:\folder1\*.*
if u want text files 'c:\folder1\*.txt' and go on...
read help for faanyfile
when u delete the file u cannot undo !!! be careful
any help im here!!
تم تعديل هذه المشاركة بواسطة essam7 في 26 يوليو 2006 في 01:00
عفوا اخي
فالحلقة لن تخرج منها الى يوم القيامة :D
يجب تعديل السطر التالي
res:=FindNext(_search);
ثم بالنسبة للبارامتر اللي هو الباث طبعا يجب اي يكون مثلا
'c:\folder1\'
ثم السطر التالي يعدل
res:= FindFirst(the_path+ '*.txt', faAnyFile, _search);
تم تعديل هذه المشاركة بواسطة essam7 في 26 يوليو 2006 في 08:00
تمام
شكرا كتير الك
البرنامج نفذ و لا احلى من هيك :lol:
بس إذا ممكن شرح شوي
يعني شو هيدا النمط TSearchRec و ليش حطيت (_) قبل اسم المتحول و شو بيعمل كل من findfirst و findnext
و مشكور على تعبك مقدما ;) B)
تم تعديل هذه المشاركة بواسطة aubada في 29 يوليو 2006 في 20:37
MAAAAAAAAAAAAAAAAAAAAAAAC
يعني شو هيدا النمط TSearchRec و ليش حطيت (_) قبل اسم المتحول و شو بيعمل كل من findfirst و findnext
يبدو انك جديد على الدلفي !
هناك شئ إسمه Delphi help ستجد فيه شرح موجز و كافٍ لما تسأل عنه
"First they ignore you, then they laugh at you, then they attack you, then you win"
===
اقتباسحُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا
هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا
الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا
القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ
لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ
البردوني "أبو تمام وعروبة اليوم" 1971
===
اقتباسعبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــمو تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم
ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم
أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟
ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا
البردوني "نحن و الحاكمون "
بسم الله الرحمن الرحيم
يمكنك استعمال الفنكشن
WINSHELLAPI int WINAPI SHFileOperation( LPSHFILEOPSTRUCT lpFileOp );
فهي أكثر فاعلية ويمكنها التعامل مباشرة مع *.*

It doesn't matter how slow you go, as long as you don't stop
اقتباسيبدو انك جديد على الدلفي !هناك شئ إسمه Delphi help ستجد فيه شرح موجز و كافٍ لما تسأل عنه
لست جديدا تماما على دلفي و لكني في مرحلة التكوين ...
و في كثير من الأحيان أقرأ مطولا في المساعدة التي مع دلفي
و لكن إذا كان هنالك من يعطيك جوابا سريعا و السؤال بسيط .. فلم لا .. ؟؟ :D
MAAAAAAAAAAAAAAAAAAAAAAAC
اقتباسو لكن إذا كان هنالك من يعطيك جوابا سريعا و السؤال بسيط .. فلم لا .. ؟؟
كنت اؤيد ان نعطي الاعضاء جوابا سريعا لما يريد ام الان فلا :angry: .
وقد اقتنعت بالمثل التالي: لا تعطني سمكة و انما علمني كيف اصطاد
و قد قام الاخ cipher بتعليمك كيف تصطاد, فاذهب الى الصيد الان :lol: و اذا كان هناك نوع من السمك لم تستطع صيده
فارجع الى المنتدى و اخبر الشباب عليه حتى يعطوك طريقة صيده :lol:
و هكذا مرة على مرة تتعلم كيف تحل مشكلتك بنفسك دون الرجوع الى المنتدى الى في حالة اصيطاد الحيتان او سمك القرش:D
رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.
لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"
اقتباسو هكذا مرة على مرة تتعلم كيف تحل مشكلتك بنفسك دون الرجوع الى المنتدى الى في حالة اصيطاد الحيتان او سمك القرشteeth_smile.gif
يا أخي لقد أخبرتك أنني أعتمد على الـ help في أغلب الأحيان .. و تستطيع أن ترى أن أسئلتي في المنتدى قليلة جدا ...
و لكن الأخ essam7 أعطاني الطريقة لسؤالي فلماذا لا يكمل معروفه و أنا متأكد أن الجواب لن يتعدى الثلاثة أسطر ربما .....
أنا لا أقصد الآن ... سأقرأ الـ help و بيمشي الحال أكيد إن شاء الله ، و لكن من أجل المرات القادمة طالما أن الإجابات بسيطة و السائل عادة لا يعتمد بشكل مطلق على المنتدى (مثل حالتي) فلماذا لا .............
MAAAAAAAAAAAAAAAAAAAAAAAC
اقتباسلكن الأخ essam7 أعطاني الطريقة لسؤالي فلماذا لا يكمل معروفه و أنا متأكد أن الجواب لن يتعدى الثلاثة أسطر ربما .....
تكرم عينك اخي :)
بس بفهم انو معروفي ناقص :s
على كل هي الدالة لايجاد ملفات ذات صفات محددة
findfirst تاخذ 3 متحولات وترد رقم صحيح (انت يهمك الرقم 0 فان ردته فهذا يعني انها وجدت الملف المطلوب)
المتحولات ال3 هي :
المسار الذي تريد البحث ضمنه وبنهايته اسم الملف اوجزء من اسمه ولاحقته مثل:
c:\folder\a*.exe
اي كل الملفات في المجلد فولدر التي تبدا بحرف a وتكون ملفات تنفيذية
المتحول الثاني:
نوع الملف
وهي(للعلم لا املك دلفي على هالجهاز)
fareadonly=1 fahidden=2 fasysfile=4 favolumeid=8 fadirectory=16 faarchive=32 fasimlink=64 faanyfile=71
لاحظ انها ارقام
اي نوع الملف يعبر عنه برقم ثنائي مؤلف من 7 خانات اول خانة الى اليمين هي انه للقراءة فقط والثانية انه مخفي وهكذا
مثلا لو اردت البحث عن ملف مخفي (لا يهمك للقراءة فقط او نظام)
تكتب
(_search.attr and fahidden) <> 0
اي ان الخانة المعبرة على انه مخفي(الخانة الثانية) تساوي الواحد
لان
xxxxx1x and 0000010 = 0000010
راجع الهلب للباقي
المتحول الثالث هو متخول انت تسميه ما تشاء وانا سميته _search لانه ربما كلمة search تكون محجوزة !!! سمه انت xxx
المهم اسند findfirst لمتحول رقم صحيح فان كان صفر ادخل بحلقة ولتكن وايل لتفعل ما تشاء بالملف الذي وجده
المعلومات التي سيعطيك اياها المتحول من نمط tsearchrec
ستجدها في الهلب مباشرة فهو سجل مؤلف من عدة حقول كالاسم (اسم الملف) والزمن للملف ووالحجم ووالخصائص هل هو للقراءة ام مخفي ,,.,,, والهاندل له والفايند داتا(لا اعرفها صراحة لاني لم احتجها)
اذا وجدت الملف تستطيع البحث عن الملف الاخر بنفس المواصفات بواسطة findnext
وعن الخروج من وايل اي انه لم يعد هناك ملفات استعمل عبارة findclose لتحرير الذاكرة
هل المعروف كمل :D
شرحي ملخبط لانو ما عندي دلفي!!
عنجد يسلم إيديك على الشرح ... :lol:
هو المعروف كامل من الأول ... بس يعني ............. :P
على العموم خلص حتى الشغلات البسيطة رح شوفها بنفسي بالـ help
المهم يرضو عنا المشرفين :D
MAAAAAAAAAAAAAAAAAAAAAAAC
هذا الموضوع مغلق.