كيف أتعامل مع ملفات المصادر *.Res
#1
بسم الله الرحمن الرحيم

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

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

وجزاكم الله خيرا
الرد
#2
سؤالك غير واضح
الرد
#3
أخي الكريم , هناك ملفات خاصة باحتواء الصور لاستدعائها فيما بعد من خلال البرنامج
بدلا من حفظ الصور في مجلدات , يتم حفظها في ملف بالمتداد Res
ومن ثم استدعائها من خلال البرنامج بسهولة
الرد
#4
وعليكم السلام

أولا أحب أن انبهك بوجود موضوع للأخ عبد العزيز بخصوص استعمال الموارد (Resource) هــــنــــــا

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

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

ملفات الموارد ما هي إلا ملفات ذات امتداد 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 : هي التي ستمكننا من استدعاء المورد

أيضا أنظر مثال اضافة البسملة لتطبيقك عند التشغيل

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

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

تحياتي Smile
الرد
#5
بالنسبة لكود استدعاء MyIcon هذا التصحيح:

كود :
[COLOR=Black]var ForMyIcon: TIcon; begin ForMyIcon:= TIcon.Create; ForMyIcon.Handle := LoadIcon(HInstance, 'MyICON'); Icon := ForMyIcon; Image1.Picture.Icon := Icon; ForMyIcon.free; End;[/COLOR]

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


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم