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

كيف يمكن معرف اسم الملف وامتداده

بدأه أحمد_ليبيا في 26 مارس 2008 · 9 رد · 955 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

..

- البرنامج / اضغط هنا

- كيف يمكن معرفة مسار ملف موجود في D ومعرفة اسمه ومتداده

- الرجاء ارفاق البرنامج بعد التعديل.

..

moslimbag8.gif

------

saaid.jpg

#2

استخدم كل من

ExtractFilePath

ExtractFileName

ExtractFileExt

والسلام عليكم

d4baa0.gif
#3

بارك الله فيك اخوي

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

moslimbag8.gif

------

saaid.jpg

#4
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, ....

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

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

#5
أحمد_ليبيا كتب:
ولكن الدالة ExtractFileName تاتي باسم وامتداد الملف هل يوجد دالة اخرى تاتي باسم الملف فقط

اسم الملف هو الاسم نقطة اللاحقة

ان كنت تريد حذف الاحقة من الاسم يمكنك استخدام كل من Pos لاعرف موضع النقطة و Copy لتاخذ فقط الجزء الاول من الاسم حنذتى النقطة

والسلام عليكم ورحمة الله

d4baa0.gif
#6

السلام عليكم.

...

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

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);

moslimbag8.gif

------

saaid.jpg

#7

هذا كود لحذف الخانات الاربعة الاخيرة من اسم الملف, يمكن ايضا الاعتماد على النقطة كما قال الاخ الأرنب الابيض:D

var filename: string;
begin
  filename:= Edit1.Text;
  filename:= Copy(filename,1,length(filename) -4);
  ShowMessage(filename);

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

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

#8

اخي وائل انتبه لنقطة هامة،

قبل استخدام Copy عليك ان تتحقق من موضع النقطة "." التي تفصل اللاحقة

لسببين:

1- عدد الحروف ليس دائما 3 يمكن ان يكون 4 او اثنيت او حتى واحد مثل .h

2- خيار اخفاء اللاحقة في النظام قديكون مفعل وبالتالي لاتظهر

والسلام عليكم ورحمة الله

d4baa0.gif
#9
الأرنب الأبيض كتب:
اخي وائل انتبه لنقطة هامة،

قبل استخدام Copy عليك ان تتحقق من موضع النقطة "." التي تفصل اللاحقة

لسببين:

1- عدد الحروف ليس دائما 3 يمكن ان يكون 4 او اثنيت او حتى واحد مثل .h

2- خيار اخفاء اللاحقة في النظام قديكون مفعل وبالتالي لاتظهر

والسلام عليكم ورحمة الله

معك حق, قد يكون ايضا اسم الملف نفسه يحتوي على نقاط, لذا يجب عمل قص إلى أخر نقطة في الملف طبعا يجب ان تكون extension ظاهرة

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

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

#10
اقتباس
هذا كود لحذف الخانات الاربعة الاخيرة من اسم الملف, يمكن ايضا الاعتماد على النقطة كما قال الاخ الأرنب الابيض

..

اخوي هل جربت الكود .. لا يوجد به شي من عملية المسح

- ارجوا معاينة الكود حتى اتمكن من استخدامه بشكل جيد

moslimbag8.gif

------

saaid.jpg

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