الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

معالجة جميع الملفات داخل مجلد

مغلق
بدأه The Tornado في 26 يوليو 2006 · 11 رد · 1,003 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

هل من طريقة للمرور على حميع الملفات في مجلد معين و معالجتها

مثلا أريد حذف جميع الملفات في هذا المجلد ... أو عمل rename لها جميعا على التسلسل

و شكرا

MAAAAAAAAAAAAAAAAAAAAAAAC

#2
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

#3

لسا ما جربت الكود على الـ complier بس شكلو واضح ...... شكرا الك ...

MAAAAAAAAAAAAAAAAAAAAAAAC

#4

عفوا اخي

فالحلقة لن تخرج منها الى يوم القيامة :D

يجب تعديل السطر التالي

res:=FindNext(_search);

ثم بالنسبة للبارامتر اللي هو الباث طبعا يجب اي يكون مثلا

'c:\folder1\'

ثم السطر التالي يعدل

  res:= FindFirst(the_path+ '*.txt', faAnyFile, _search);

تم تعديل هذه المشاركة بواسطة essam7 في 26 يوليو 2006 في 08:00

#5

تمام

شكرا كتير الك

البرنامج نفذ و لا احلى من هيك :lol:

بس إذا ممكن شرح شوي

يعني شو هيدا النمط TSearchRec و ليش حطيت (_) قبل اسم المتحول و شو بيعمل كل من findfirst و findnext

و مشكور على تعبك مقدما ;) B)

تم تعديل هذه المشاركة بواسطة aubada في 29 يوليو 2006 في 20:37

MAAAAAAAAAAAAAAAAAAAAAAAC

#6
يعني شو هيدا النمط TSearchRec و ليش حطيت (_) قبل اسم المتحول و شو بيعمل كل من findfirst و findnext

يبدو انك جديد على الدلفي !

هناك شئ إسمه Delphi help ستجد فيه شرح موجز و كافٍ لما تسأل عنه

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#7

بسم الله الرحمن الرحيم

يمكنك استعمال الفنكشن

WINSHELLAPI int WINAPI SHFileOperation(

	LPSHFILEOPSTRUCT lpFileOp	
   );

فهي أكثر فاعلية ويمكنها التعامل مباشرة مع *.*

1141068814.gif

It doesn't matter how slow you go, as long as you don't stop

#8
اقتباس
يبدو انك جديد على الدلفي !

هناك شئ إسمه Delphi help ستجد فيه شرح موجز و كافٍ لما تسأل عنه

لست جديدا تماما على دلفي و لكني في مرحلة التكوين ...

و في كثير من الأحيان أقرأ مطولا في المساعدة التي مع دلفي

و لكن إذا كان هنالك من يعطيك جوابا سريعا و السؤال بسيط .. فلم لا .. ؟؟ :D

MAAAAAAAAAAAAAAAAAAAAAAAC

#9
اقتباس
و لكن إذا كان هنالك من يعطيك جوابا سريعا و السؤال بسيط .. فلم لا .. ؟؟

كنت اؤيد ان نعطي الاعضاء جوابا سريعا لما يريد ام الان فلا :angry: .

وقد اقتنعت بالمثل التالي: لا تعطني سمكة و انما علمني كيف اصطاد

و قد قام الاخ cipher بتعليمك كيف تصطاد, فاذهب الى الصيد الان :lol: و اذا كان هناك نوع من السمك لم تستطع صيده

فارجع الى المنتدى و اخبر الشباب عليه حتى يعطوك طريقة صيده :lol:

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

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#10
اقتباس
و هكذا مرة على مرة تتعلم كيف تحل مشكلتك بنفسك دون الرجوع الى المنتدى الى في حالة اصيطاد الحيتان او سمك القرشteeth_smile.gif

يا أخي لقد أخبرتك أنني أعتمد على الـ help في أغلب الأحيان .. و تستطيع أن ترى أن أسئلتي في المنتدى قليلة جدا ...

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

أنا لا أقصد الآن ... سأقرأ الـ help و بيمشي الحال أكيد إن شاء الله ، و لكن من أجل المرات القادمة طالما أن الإجابات بسيطة و السائل عادة لا يعتمد بشكل مطلق على المنتدى (مثل حالتي) فلماذا لا .............

MAAAAAAAAAAAAAAAAAAAAAAAC

#11
اقتباس
لكن الأخ 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

شرحي ملخبط لانو ما عندي دلفي!!

#12

عنجد يسلم إيديك على الشرح ... :lol:

هو المعروف كامل من الأول ... بس يعني ............. :P

على العموم خلص حتى الشغلات البسيطة رح شوفها بنفسي بالـ help

المهم يرضو عنا المشرفين :D

MAAAAAAAAAAAAAAAAAAAAAAAC

هذا الموضوع مغلق.

مواضيع مشابهة