المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : كيف أتعامل مع ملفات المصادر *.Res


Delphawi
09-04-2008, 10:36 PM
بسم الله الرحمن الرحيم

السلام عليكم اخواني في منتديات الدلفي العربية

أود أن أسأل سؤالا بسيطا عن التعامل مع ملفات الموارد من خلال دلفي 7 , والتي تكون لها اللاحقة *.res

وجزاكم الله خيرا

bilgads
10-04-2008, 07:35 PM
سؤالك غير واضح

Delphawi
10-04-2008, 10:00 PM
أخي الكريم , هناك ملفات خاصة باحتواء الصور لاستدعائها فيما بعد من خلال البرنامج
بدلا من حفظ الصور في مجلدات , يتم حفظها في ملف بالمتداد Res
ومن ثم استدعائها من خلال البرنامج بسهولة

merouane
12-04-2008, 06:07 AM
وعليكم السلام

أولا أحب أن انبهك بوجود موضوع للأخ عبد العزيز بخصوص استعمال الموارد (Resource) هــــنــــــا (http://www.delphi4arab.com/forum/showthread.php?t=42)

وقد استعملها لوجه الخصوص لإدراج الأصوات " اضافة البسملة لتطبيقك عند التشغيل" ونفس الطريقة بالنسبة للصور والملفات.

لكن لا حرج في إضافة بعض المفاهيم.

ملفات الموارد ما هي إلا ملفات ذات امتداد RES تستدعى من طرف دلفي للتجميع بواسطة إضافة السطر
{R FileResource.res$}

حيث FileResource الملف المراد إدراجه للتطبيق.

لكن، للحصول عليه ننشئ ملف ذو امتداد FileResource.rc ) rc ) ، وذلك بالطبع عن طرق محرر نصوص عادي مثل NotePad، أما المحتوى فهو عبارة عن سطر يحتوي على: اسم المورد ، نوعه ، محتوى المورد وهم على التوالي:
IDRes TYPE DataRes

مثال:
MyIcon ICON IconTest.ico
MyWav WAV Ring.wav
MyFile RCData MyFile.xxx
conTest.ico: كتبناه هكذا لأنه في نفس المجلد
جدول انواع الموارد من ميكروسوفت:
http://msdn2.microsoft.com/en-us/library/aa381043.aspx

ثم سنحتاج إلى تجميعه (compilation) وذلك عن طريق cmd.exe

من خلال cmd نذهب إلى المجلد الذي يحتوي ملف rc الذي تكون قد أنشأته وتكتب :
brcc32 FileResource.rc

لنحصل على FileResource.res

وكما ذكر أعلاه نضيف لشيفرة البرنامج السطر التالي بعدimplementation
{R FileResource.res$}

الأن بقي لنا كيفية الاستعمال:

مثلا سنقوم باستدعاء MyIcon

var
ForMyIcon: TIcon;

begin
ForMyIcon:= TIcon.Create;
ForMyIcon.Handle := LoadIcon(HInstance, 'MyICON');
Icon := ForMyIcon;
Image1.Picture.Icon := Icon;
Icone.free;
End;


HInstance : هي التي ستمكننا من استدعاء المورد

أيضا أنظر مثال اضافة البسملة لتطبيقك عند التشغيل (http://www.delphi4arab.com/forum/showthread.php?t=42)

تستطيع استعمال البرنامج resource builder

http://www.resource-builder.com/images/mainform.gif http://www.resource-builder.com/images/resbuilder_main_sm.gif

http://www.resource-builder.com/download.html



بهذا تكون نهاية الشرح .. آمل أنه مفهوم و مفيد

تحياتي :)

merouane
12-04-2008, 10:15 PM
بالنسبة لكود استدعاء MyIcon هذا التصحيح:

var
ForMyIcon: TIcon;

begin
ForMyIcon:= TIcon.Create;
ForMyIcon.Handle := LoadIcon(HInstance, 'MyICON');
Icon := ForMyIcon;
Image1.Picture.Icon := Icon;
ForMyIcon.free;
End;

فعذرا على السهو ...