delphi4arab منتديات دلفي للعرب

نسخة كاملة : كيف يتم حذف اول حرف من اسماء مجموعه ملفات
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
[color="purple"]شكرا اخي على اهتمامك

ان شاء الله سأرفق لك صوره للملفات قبل وبعد تنفيذ الكود وايضا صوره بالوضع المطلوب
[/color]
السلام عليكم ورحمة الله

هذه بعض من الملفات المطلوب تطبيق الكود عليها

كود :
http://arabsh.com/files/0d32424f6cf0/new-folder-zip.html



حاول اخي الفاضل ان تطبق عليها الكود ولاحظ ان الامتداد تغير فعلا ولكن نص الامتدات الاول يبقى كما هو ..

ملحوظه الكود يتعامل مع الاسم والامتداد كسلسه نصية واحده وليس اسم وامتدات
وعليكم السلام ورحمة الله وبركاته

التعديل الوحيد بسبب وجود علامة ~
في بداية اسماء الملفات

كود :
var OldN : TSearchRec; NewN, Path : String; begin Path := 'C:\Temp\New Folder\'; if FindFirst(Path+'*.*', faArchive, OldN) = 0 then begin repeat NewN := OldN.Name; if UpperCase(Copy(NewN,1,3)) = '~ID' then Delete(NewN,1,3); if Copy(NewN,1,2) = '00' then Begin Delete(NewN,1,2); NewN := ChangeFileExt(NewN,'.mod'); End; ReNameFile(Path + OldN.Name ,Path + NewN); until FindNext(OldN) <> 0; FindClose(OldN); end; end;
كده الكود تمام الله ينور لكن الملفات التى لا تبدأ ب 00 لا يتم تغير الامتدات .

لكن اين اضع
كود :
NewN := ChangeFileExt(NewN,'.mod');
ليتم تنفذها خارج الجمله الشرطيه بمعنى في جميع الاحوال يتم تغير الامتدات ..

لان بعض الملفات لم يتم تغير امتدادتها

السلام عليكم
تم تعديل الكود ويعمل جيدا مع جميع الملفات الا ملف واحد ولا ادري لماذا ..

كود :
var OldN : TSearchRec; NewN, Path : String; begin Path := 'C:\Temp\New Folder\'; if FindFirst(Path+'*.*', faArchive, OldN) = 0 then begin repeat NewN := OldN.Name; NewN := ChangeFileExt(NewN,'.mod'); if UpperCase(Copy(NewN,1,3)) = '~ID' then Delete(NewN,1,3); if Copy(NewN,1,2) = '00' then Begin Delete(NewN,1,2); End; ReNameFile(Path + OldN.Name ,Path + NewN); until FindNext(OldN) <> 0; FindClose(OldN); end; end;

سؤال اخر

كيف اضيف حرفين قبل اسم الملف وليكن ID ?
[color="purple"]سؤال اخر

كيف اضيف حرفين قبل اسماء الملفات وليكن id وكيف اضيف بعدها حرف e لتصبح ide إذا كانت اسماء الملفات مكونه من ثلاث حروف ؟

اما إذا كانت اسماء الملفات اكثر من ثلاث حروف فيتم إضافه كلمه ID فقط بدون حرف E

[COLOR="DarkGreen"]
ملحوظه
نفس عدد الملفات 400 ملف[/COLOR][/color]
السلام عليكم

هنا يتم التأكد ان كانت بداية الملف تحتوي على 00 (بعد حذف ID~) عندها يقوم بحذف الـ00 وتعديل اللاحقة
كود :
if Copy(NewN,1,2) = '00' then Begin Delete(NewN,1,2); NewN := ChangeFileExt(NewN,'.mod'); End;

هنا يتم التأكد من أول ثلاثة حروف من اسم الملف
كود :
if UpperCase(Copy(NewN,1,3)) = '~ID' then

الرقم 3 يرمز الى عدد الحروف المراد التأكد منها
مثلاً لو اردت التأكد من حرفين فقط غير الرقم الى 2
وغير ID~ الى حرفين فقط مثلا D~
وهكذا....
كيف اضيف احرف بدل من احذف
استخدم Insert

كود :
Insert('IDE',NewN,2)

IDE = الحروف التي تريد أضافتها
NewN = اسم الملف كما هو في المثال السابق
2 = الموقع الذي تريد بدء اضافة الحروف فيه، و الرقم 2 يعني بعد الحرف الأول
الصفحات : 1 2