السلام عليكم
..
- البرنامج / اضغط هنا
- كيف يمكن معرفة مسار ملف موجود في D ومعرفة اسمه ومتداده
- الرجاء ارفاق البرنامج بعد التعديل.
..
بارك الله فيك اخوي
ولكن الدالة ExtractFileName تاتي باسم وامتداد الملف هل يوجد دالة اخرى تاتي باسم الملف فقط
var
fullFileName : string;
begin
// Set up a full file name with drive and path
fullFileName := 'C:\Program Files\Borland\Delphi7\Projects\Unit1.dcu';
// Show the component parts of this full name
ShowMessage('Drive = '+ExtractFileDrive (fullFileName));
ShowMessage('Dir = '+ExtractFileDir (fullFileName));
ShowMessage('Path = '+ExtractFilePath (fullFileName));
ShowMessage('Name = '+ExtractFileName (fullFileName));
ShowMessage('Ext = '+ExtractFileExt (fullFileName));
end;ٌresults:
Drive = C: Dir = C:\Program Files\Borland\Delphi7\Projects Path = C:\Program Files\Borland\Delphi7\Projects\ Name = Unit1.dcu Ext = .dcu
اقتباسولكن الدالة ExtractFileName تاتي باسم وامتداد الملف هل يوجد دالة اخرى تاتي باسم الملف فقط
لا يوجد دالة جاهزة و يمكنك استخدام توابع معالجة النصوص لحل المشكلة, كأستخدام Copy, midstr, pos, ....
رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.
لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"
أحمد_ليبيا كتب:ولكن الدالة ExtractFileName تاتي باسم وامتداد الملف هل يوجد دالة اخرى تاتي باسم الملف فقط
اسم الملف هو الاسم نقطة اللاحقة
ان كنت تريد حذف الاحقة من الاسم يمكنك استخدام كل من Pos لاعرف موضع النقطة و Copy لتاخذ فقط الجزء الاول من الاسم حنذتى النقطة
والسلام عليكم ورحمة الله
السلام عليكم.
...
لقيت طريقة ربما تكون جيدة للحصول على اسم الملف من غير امتداده :
function FilEx(St: String): string; var i, j : Integer; s : string; begin i := 0; j := 0; s := ''; i := Length(st); while st <> '.' do begin s := s + st; j := j + 1; i := i - 1; end; st := ''; for i := j downto 1 do begin st := st + s; end; FilEx := st end;
هذا الكود عبارة عن دالة تقوم بقراءة string مثلا: Edit2.Text := FilEx(Edit1.Text);
هذا كود لحذف الخانات الاربعة الاخيرة من اسم الملف, يمكن ايضا الاعتماد على النقطة كما قال الاخ الأرنب الابيض:D
var filename: string; begin filename:= Edit1.Text; filename:= Copy(filename,1,length(filename) -4); ShowMessage(filename);
رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.
لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"
اخي وائل انتبه لنقطة هامة،
قبل استخدام Copy عليك ان تتحقق من موضع النقطة "." التي تفصل اللاحقة
لسببين:
1- عدد الحروف ليس دائما 3 يمكن ان يكون 4 او اثنيت او حتى واحد مثل .h
2- خيار اخفاء اللاحقة في النظام قديكون مفعل وبالتالي لاتظهر
والسلام عليكم ورحمة الله
الأرنب الأبيض كتب:اخي وائل انتبه لنقطة هامة،قبل استخدام Copy عليك ان تتحقق من موضع النقطة "." التي تفصل اللاحقة
لسببين:
1- عدد الحروف ليس دائما 3 يمكن ان يكون 4 او اثنيت او حتى واحد مثل .h
2- خيار اخفاء اللاحقة في النظام قديكون مفعل وبالتالي لاتظهر
والسلام عليكم ورحمة الله
معك حق, قد يكون ايضا اسم الملف نفسه يحتوي على نقاط, لذا يجب عمل قص إلى أخر نقطة في الملف طبعا يجب ان تكون extension ظاهرة
رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.
لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"
اقتباسهذا كود لحذف الخانات الاربعة الاخيرة من اسم الملف, يمكن ايضا الاعتماد على النقطة كما قال الاخ الأرنب الابيض
..
اخوي هل جربت الكود .. لا يوجد به شي من عملية المسح
- ارجوا معاينة الكود حتى اتمكن من استخدامه بشكل جيد