الجديد

كيف يستخدم دلفي ملفات الموارد

كيف يستخدم دلفي ملفات الموارد


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

من الصور النقطية إلى الرموز إلى المؤشرات إلى جداول السلسلة ، يستخدم كل برنامج Windows موارد.مصادر هي عناصر البرنامج التي تدعم البرنامج ولكنها ليست تعليمات برمجية قابلة للتنفيذ. في هذه المقالة ، سنتعرف على بعض أمثلة استخدام الصور النقطية والرموز والمؤشرات من الموارد.

موقع الموارد

يحتوي وضع الموارد في ملف exeمزايا:

  • يمكن الوصول إلى الموارد بسرعة أكبر لأنه يستغرق وقتًا طويلاً لتحديد موقع مورد في الملف القابل للتنفيذ أكثر من تحميله من ملف قرص.
  • يمكن احتواء ملف البرنامج وموارده في وحدة واحدة (ملف .exe) دون الحاجة إلى الكثير من الملفات الداعمة.

محرر الصور

بادئ ذي بدء ، نحن بحاجة إلى إنشاء ملف مورد. الملحق الافتراضي لملفات الموارد هو.RES. يمكن إنشاء ملفات الموارد باستخدام برنامج Delphi Image Editor.

يمكنك تسمية ملف المورد بأي شيء تريده ، طالما أنه يحتوي على الامتداد ".RES" واسم الملف بدون الامتداد ليس هو نفسه اسم أي وحدة أو اسم مشروع. هذا أمر مهم ، لأنه افتراضيًا ، يكون لكل مشروع من مشاريع دلفي يتم تجميعه في تطبيق ملف مورد يحمل نفس اسم ملف المشروع ، ولكن بالامتداد ".RES". من الأفضل حفظ الملف في نفس الدليل مثل ملف المشروع الخاص بك.

بما في ذلك الموارد في التطبيقات

من أجل الوصول إلى ملف الموارد الخاص بنا ، يجب أن نطلب من Delphi ربط ملف الموارد الخاص بنا بتطبيقنا. يتم تحقيق ذلك عن طريق إضافة توجيه برنامج التحويل البرمجي إلى التعليمات البرمجية المصدر. يحتاج هذا التوجيه إلى اتباع توجيه النموذج فورًا ، مثل ما يلي:

{$ R * .DFM}
{$ R DPABOUT.RES}

لا تقم بمسح جزء {$ R * .DFM} عن طريق الخطأ ، لأن هذا هو سطر التعليمات البرمجية الذي يخبر Delphi بالربط في الجزء المرئي للنموذج. عندما تختار الصور النقطية لأزرار السرعة أو مكونات الصورة أو مكونات الأزرار ، فإن دلفي تشمل ملف الصورة النقطية الذي اخترته كجزء من مورد النموذج. يعزل Delphi عناصر واجهة المستخدم الخاصة بك إلى ملف .DFM.

لاستخدام المورد فعليًا ، يجب إجراء بعض مكالمات Windows API. يمكن استرداد الصور النقطية والمؤشرات والرموز المخزنة في ملفات RES باستخدام وظائف API LoadBitmap, LoadCursor، و LoadIcon على التوالي.

الصور في الموارد

يوضح المثال الأول كيفية تحميل صورة نقطية مخزنة كمورد وعرضها في TImage مكون.

إجراء TfrMain.btnCanvasPic (المرسل: TObject) ؛
فار bBitmap: TBitmap؛
ابدأ
bBitmap: = TBitmap.Create؛
محاولة
bBitmap.Handle: = LoadBitmap (hInstance، 'ATHENA')؛
Image1.Width: = bBitmap.Width؛
Image1.Height: = bBitmap.Height؛
Image1.Canvas.Draw (0،0، bBitmap)؛
أخيرا
bBitmap.Free.
النهاية;
النهاية;

ملاحظة: إذا لم تكن الصورة النقطية المراد تحميلها موجودة في ملف المورد ، فسيظل البرنامج قيد التشغيل ، ولن يعرض الصورة النقطية. يمكن تجنب هذا الموقف عن طريق اختبار لمعرفة ما إذا كانbBitmap.Handle هو صفر بعد دعوة لLoadBitmap () واتخاذ الخطوات المناسبة. لا يحل الجزء التجريبي / الأخير في الكود السابق هذه المشكلة ، إنه هنا فقط للتأكد من إتلاف bBitmap وتحرير الذاكرة المرتبطة به.

هناك طريقة أخرى يمكننا استخدامها لعرض صورة نقطية من أحد الموارد وهي كما يلي:

إجراء TfrMain.btnLoadPicClick (المرسل: TObject) ؛
ابدأ
Image1.Picture.Bitmap.
LoadFromResourceName (HINSTANCE، "EARTH ')؛
النهاية;

المؤشرات في الموارد

Screen.Cursors هي مجموعة من المؤشرات التي قدمتها دلفي. باستخدام ملفات الموارد ، يمكننا إضافة مؤشرات مخصصة إلى خاصية المؤشرات. ما لم نرغب في استبدال أي من الإعدادات الافتراضية ، فإن أفضل استراتيجية هي استخدام أرقام المؤشر التي تبدأ من 1.

إجراء TfrMain.btnUseCursorClick (المرسل: TObject) ؛
CONST NewCursor = 1 ؛
ابدأ
Screen.CursorsNewCursor: =
LoadCursor (HINSTANCE، 'CURHAND')؛
Image1.Cursor: = NewCursor؛
النهاية;

أيقونات في الموارد

إذا نظرنا إلى دلفيمشروع خيارات التطبيق الإعدادات ، يمكننا أن نجد أن دلفي توفر الأيقونة الافتراضية للمشروع. يمثل هذا الرمز التطبيق في مستكشف Windows وعندما يتم تصغير التطبيق. يمكننا تغيير هذا بسهولة عن طريق النقر فوق الزر "تحميل رمز".

إذا أردنا ، على سبيل المثال ، تحريك أيقونة البرنامج عند تصغير البرنامج ، فسوف تقوم التعليمة البرمجية التالية بالمهمة.

للرسوم المتحركة ، ونحن بحاجة إلىTTimer مكون في النموذج. يقوم الكود بتحميل رمزين من ملف المورد إلى صفيفTIcon شاء؛ تحتاج هذه المجموعة إلى الإعلان في الجزء العام من النموذج الرئيسي. سنحتاج أيضاNrIco، وهذا هو نوع متغير صحيح ، أعلن فيعامة جزء. الNrIco يستخدم لتتبع الأيقونة التالية لإظهارها.

عامة
nrIco: عدد صحيح
MinIcon: array0 ... 1 من TIcon ؛

إجراء TfrMain.FormCreate (المرسل: TObject) ؛
ابدأ
MinIcon0: = TIcon.Create.
MinIcon1: = TIcon.Create.
MinIcon0.Handle: = LoadIcon (HINSTANCE، 'ICOOK')؛
MinIcon1.Handle: = LoadIcon (HINSTANCE، 'ICOFOLD')؛
NrIco: = 0؛
Timer1.Interval: = 200؛
النهاية;

إجراء TfrMain.Timer1Timer (المرسل: TObject) ؛
beginif IsIconic (Application.Handle) ثم ابدأ
NrIco: = (NrIco + 1) عصري 2;
Application.Icon: = MinIconNrIco.
النهاية;
النهاية;

إجراء TfrMain.FormDestroy (المرسل: TObject) ؛
ابدأ
MinIcon0.Free.
MinIcon1.Free.
النهاية;

في ال Timer1.OnTimer معالج الأحداث ، IsMinimized يتم استخدام الوظيفة لمعرفة ما إذا كنا بحاجة إلى تنشيط رمزنا الرئيسي أم لا. هناك طريقة أفضل لتحقيق ذلك تتمثل في التقاط أزرار التكبير / التصغير والحد من التصرف.

الكلمات الأخيرة

يمكننا وضع أي شيء (جيدًا ، وليس كل شيء) في ملفات الموارد. توضح لك هذه المقالة كيفية استخدام الموارد لاستخدام / عرض صورة نقطية أو مؤشر أو رمز في تطبيق Delphi الخاص بك.

ملاحظة: عندما نقوم بحفظ مشروع دلفي على القرص ، يقوم دلفي تلقائيًا بإنشاء ملف .RES واحد له نفس اسم المشروع (إذا لم يكن هناك شيء آخر ، فإن الرمز الرئيسي للمشروع موجود بداخله). على الرغم من أنه يمكننا تغيير ملف المورد هذا ، إلا أنه لا ينصح بذلك.


شاهد الفيديو: برنامج تسيير الموظفين بالدلفي وsql 2018 (يوليو 2022).


تعليقات:

  1. Hengist

    متغير ممتاز

  2. Pentheus

    شكرا لدعمكم. سأكون.

  3. Zutilar

    أهنئ ، الفكر الممتاز

  4. Kendric

    الكل يخاف انه خطير .. انا راحل !!!!!!!

  5. Mauran

    النكتة قاسية!



اكتب رسالة