اكثر المحتويات زيارة
الدوال في الاكسل (4,649 مشاهده)
ربط قاعدة بيانات أكسس (MS Access) مع برنامج الفيجوال بيسك بطريقة(ODBC) (3,223 مشاهده)
الدرس الثالث : بعض تطبيقات الدوال في اكسل (2,413 مشاهده)
تعريف الاستعلام وطريقة عرضه في آكسس، أنواع الاستعلامات، نافذة تحديد الاستعلام! (1,853 مشاهده)
الدرس الثاني: بعض الحيل لتسهيل برنامج اكسل (1,698 مشاهده)
شرح طريقة استعمال الأوتلوك مع بريد الهوتميل (1,660 مشاهده)
تغيير لغة واجهة التطبيق من عربي الى انجليزي وبالعكس لـ Windows-based applications (1,659 مشاهده)
أنواع العلاقات وطريقة الربط بين الجداول. (1,568 مشاهده)
مقدمة عامة حول الاكسل وحيل خاصة بالاكسل (1,372 مشاهده)
الدرس الأول : عمل شريحة في البوربوينت (1,317 مشاهده)
أنشئ قاعدة بياناتك التي ستستند إليها في تعلم طريقة ربط الجداول والاستعلامات. (1,315 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس . (1,151 مشاهده)
كيفية حل مشاكل الانترنت اكسبلور Internet Explorer (1,135 مشاهده)
اضافه صوت ونص لخلفيه في باور بوينت (1,096 مشاهده)
درس تعريب المجلة (1,080 مشاهده)
برنامج Windows Movie Maker لتكوين أفلام (1,067 مشاهده)
شرح طريقة التجميع Grouping في برنامج الاكسل (1,060 مشاهده)
التعرف على مكونات الكمبيوتر (1,029 مشاهده)
مقدمة في ربط قواعد البيانات داخل بيئة الـ .NET باستخدام الـ VB.NET (981 مشاهده)
كيف تجعل برنامجك أكثر تألقا وجمالا باستخدام أداة Active Skin (909 مشاهده)
مقدمة عن لغة البيسك (898 مشاهده)
ما هو المات لاب MATLAB؟ (890 مشاهده)
الفيجوال بيسك - مقدمة (865 مشاهده)
دروس في الأوفيس الأكسس - Access0- (831 مشاهده)
نبذه عن الفيجوال بيسك (795 مشاهده)
الجديد
التحويل التلقائي للحروف ل- ل- ه إلى اسم الجلالة0---- (490 مشاهده)
النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0---النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0--- (284 مشاهده)
ضبط خيارات اللغة فى الـ Microsoft Word0--- (303 مشاهده)
استخدام لوحة المفاتيح في الـ Word0---- (431 مشاهده)
إضافة كلمة سر إلي ملفات الورد دون استخدام برامج0--- (384 مشاهده)
دمج المراسلات0-- (198 مشاهده)
وضع صورة كخلفية للنص0-- (287 مشاهده)
السماح للمستخدمين بتعديل أجزاء من ملف وورد محمي (Word2003)0--- (223 مشاهده)
كتابة الأرقام الكسرية ورموز المعادلات0-- (342 مشاهده)
درس كامل عن الدمج السهل من لوحة المفاتيح ف0-ي برنامج الـ Word (260 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (736 مشاهده)
دورة الأكسيس : الدرس الرابع : العلاقات0---- (439 مشاهده)
أساسيات في Access0--0 (283 مشاهده)
تصميم تقرير لطباعة البيانات0---- (343 مشاهده)
تصميم نموذج استعراض البيانات‏0--تصميم نموذج استعراض البيانات‏0-- (319 مشاهده)
تصميم نموذج إدخال‎ ‎البيانات0--- (340 مشاهده)
إنشاء قوائم خاصة باستخدام الماكرو(1)0-- (289 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (2)0-- (234 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (1)0- (240 مشاهده)
استعلامات SQL في Access - تعديل الجداول وإضافة الحقول0- (281 مشاهده)
استعلامات SQL في Access - تحديث البيانات الجدولية0-- (249 مشاهده)
الاستعلامات الإجرائية -4 (استعلام الحذف)0--- (144 مشاهده)
الاستعلامات الإجرائية -2 (استعلام الإلحاق)0--- (174 مشاهده)
تصميم تقرير لطباعة الإجمالي0--- (206 مشاهده)
استعلامات التحديد Select Query مع أمثله (1)0--- (258 مشاهده)
البحث

من هنا وهناك
قريبا باذن الله
قريبا باذن الله
قريبا باذن الله
قريبا باذن الله
قريبا باذن الله
مقدمة في DLL -

مقدمة فى برمجة DLL (لغة دلفي)




بسم الله الرحمن الرحيم

 


مقدمة في DLL   :


إن موضوع DLL هو من المواضيع المهمة في مجال تطوير البرمجيات ،وهو يمكنك من الإستغلال الأمثل لقدراتك البرمجية, وجعل تطبيقاتك أكثر عالمية (اتساع مدى تداول برمجياتك) ،إلى غير ذلك من الأمور التى يوفرها DLLs لك والتي سأحاول من خلال هذه الدروس إسقاط الضوء عليها ،وقبل ذلك سأعرفك بمعنى هذا المصطلح DLLs الذي كثيراً ما يصادفك منتهيةً إلى شرح طريقة بناء واستخدام DLLs فى تطبيقاتك.


سؤال: هل استخدام DLLs   جديد بالنسبة لك فعلاً ؟

 



جواب: طبعاً لا ،فأنت كمستخدم للنظام Windows   تقوم باستخدام DLLs    بشكل مستمر ، كيف ذلك ؟

 



إذا ألقيت نظرة على الحافظة Windows   أو الحافظة Windows\system   ستعرف معنى ما أقول ، ففى هاتين الحافظتين ستجد المئات من الملفات ذات الامتداد (  .dll  ) .. لماذا وجدت هذه الملفات ؟ وما أهميتها ؟

 



   فى الحقيقة هذه الملفات تحوى دوال Windows API   وموارد النظام (Windows Resources  ) التي تستخدمها أثناء عملك في بيئة النظام Windows    .

 



فمثلاً الدالة (LoadCursor  ) والدالة (DrawText  ) المستخدمتان في لغة دلفي هما معرفتان فى الملف (USER32.dll  ) ، وكل ماعليك القيام به لاستخدامهما هو تضمين الوحدة Windows   ضمن الكلمة المحجوزة uses   ،وهكذا تستطيع الوصول لهاتين الدالتين وغيرهما من دوال Windows API   .

 



وكذلك الأمر بالنسبة لموارد Windows   كصناديق الحوار (File Open, Print , Print Setup  ) وغيرها مخزنة كموارد Resources   فى الملف (COMCTL32.dll  ).

 



من خلال هذا الاستهلال البسيط عرفنا أن ملفات DLLs   هى جزء أساسي في بنية النظام Windows   والتطبيقات العاملة تحته ، ولكن ما هو DLLs   ؟

 



تعريف DLL  : إن DLL   هو اختصار للعبارة  الإنجليزية (Dynamic Link Library  ) مكتبة الربط الديناميكية أو الحيوية ، وملف DLL   هو عبارة عن واحدة أو أكثر من قطع الكود التى تخزن فى ملف بامتداد (  .dll  ) وهو يعمل فى توحد مع الملف التنفيذي (  .exe  ) لتوفير وظائف معينة للتطبيق.

 



وبالتالي ملف DLL   هو ملف مترجم يتم استدعاؤه من البرامج التنفيذية ،لكنه هو ذاته ليس برنامجاً مستقلاً ولا يمكن تنفيذه بمفرده.

 



البرامج التى تستدعي DLL   تدعى : البرامج المستدعية لأنها تستدعى دوال أو إجراءات من dll   .

 



أنواع DLLs   : يمكن تصنيف DLLs   إلى نوعين هما :

 



1-CODE DLLs    : عند احتواء ملف DLL   على كود فقط .

 



2-RESOURCE DLLs   : عند احتواء ملف DLL   على مصادر مثل ملفات الصور ،ملفات الصوت ،السلاسل.

 



كما يمكن أن يحتوى ملف DLL   واحد على كل من الكود والموارد معاً.

 



شكل الدوال والإجراءات فى DLL   :

 



تظهر الدوال والإجراءات فى DLL   فى شكلين :

 



1-دوال وإجراءات مصدّرة :وهى الدوال والإجراءات التى يصدرها DLL   إلى التطبيقات أو ال DLLs   الأخرى.

 



2-دوال وإجراءات داخلية: وهى الدوال والإجراءات التى للاستخدام الداخلى لنفس ال DLL   ولا يمكن رؤيتها من خلال تطبيقات أو DLLs   الأخرى.

 



سؤال: هل يمكنك أن تبني DLLs   خاصة بك ؟

 



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

 



وطريقة استدعاء دوال وإجراءات DLLs   التى ننجزها بأنفسنا لا تختلف مطلقاً عن طريقة استدعاء دوال وإجراءات Windows API   .

 



رغم كثرة تساؤلاتنا فى هذا الدرس إلا أن السؤال التالي قد يلح عليك : لماذا أحتاج لبناء واستعمال DLLs   ؟

 



يمكن تصنيف ما يقدمه لك استعمالك لل DLLs   إلى الأمور المهمة التالية :

 



1-فعالية إعادة استخدام الكود:

 



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

 



وربما من الأمور التى لاحظتها خلال مشوارك البرمجى أن الكثير من الأكواد يتكرر استعمالها معك في كثير من التطبيقات (خاصة ذلك الكود المتعلق بالتعامل مع بيئة Windows   من فورمات وصناديق رسائل وقوائم إلى آخره)،لإيضاح الموضوع أكثر لنفترض أنك كتبت قطعة كود (دالة مثلاً) لتعالج به خدمة معينة فى Windows   وقد استغرق منك إنجاز هذا الكود الكثير من الوقت والجهد ،ألن يكون جميلاً إذا استطعت إعادة استخدام نفس الكود فى باقي تطبيقاتك التي تحتاجه دون أن تضطر لكتابته مرة أخرى وحتى لوكانت هذه التطبيقات مبنية بلغات برمجية أخرى غير لغة الدلفي كـ(Visual Basic, Visual C++  ) ؟ إن DLLs   تمكنك من فعل ذلك.

 



والأفضل من هذا أنك تستطيع بيع DLLs   التى أنجزتها أوتقديمها لمبرمجين آخرين بإمكانهم إستعمالها أيضاً.

 



إذاً بعد أن تكتب DLL   تستطيع استعماله بسهولة أينما ومتى أردت.

 



2-تقاسم الكود فيما بين عدة تطبيقات:

 



فى حالة وجود عدة مستخدمين لكل منهم نظامه الخاص الذى يعمل عليه وجميع هؤلاء المستخدمين مرتبطين بشبكة واحدة .

 



قد يكون هناك جزء من الكود يحتاجه كل واحد منهم ،فبدلاً من كتابة هذا الجزء لعدة مرات حسب عدد المستخدمين فإن DLL   يمكنك من كتابته لمرة واحدة ليشترك فيه جميع المستخدمين.

 



لنعطى مثالاً :إذا كان هناك خمس مستخدمين وقمنا ببرمجة خمس تطبيقات لهؤلاء المستخدمين (المستخدمين مرتبطين فى شبكة) لنفترض أن التطبيقات الخمسة يتكرر فيها جزء مشترك من الكود (متشابه) حجمه   100kb   ،وبالتالى يوجد   500kb   هى تكرار لنفس الكود ،باستخدام DLL   يمكننا كتابة هذا الكود المتكرر لمرة واحدة وتخزينه فى ملف DLL   ويمكن للتطبيقات الخمسة أن تصل إليه، وبالتالى نكون قد أنقصنا الحجم الكلى للكود بمقدار   100kb   لكل واحد منها ،تظهر فائدة هذا الأمر بوضوح فى حالة وجود مئات المستخدمين أكثر من ظهورها مع هذا العدد المحدود.

 



3-تقسيم الكود:

 



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

 



فعندما تقوم بتطوير تطبيقك وترغب فى تقديمه لمستخدميك (ذوي النسخة السابقة من التطبيق) فإن شحذ DLL   جديد للمستخدمين بدلاً عن إعادة تجميع (ترجمة) وشحذ مدخلات الملف التنفيذى يعد من الأمور الجيدة لك كمبرمج .

 



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

 



4-تدويل برامجك:

 



منذ سنوات قليلة مضت كنت تستطيع كتابة برنامجك دون أن تقلق حول السوق العالمية ،حيث تستطيع كتابة البرنامج وبناء (menu items,dialog boxes, hint text ,error message  )وغيرها باستخدام لغتك الوطنية ،وتنزل برنامجك إلى السوق دون القلق حوله بعد ذلك .

 



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

 



طريقة واحدة يمكن استخدامها وهى بناء RESOURCES DLLS   الذى يحتوى سلاسل مصدرية بلغات مختلفة ،فإما أن تعمل DLL   منفصل لكل لغة فيكون لديك عدة DLLs   بعدة لغات وتقوم فى تطبيقك بتحميل DLL   الذي يحوي السلاسل المصدرية للغة المطلوبة ،أو أن تعمل DLL   واحد ويحوي جميع السلاسل المصدرية بكل اللغات ثم تحمّل السلاسل المضدرية للغة المطلوبة من هذا الـ DLL   .

 



فى زمن RunTime   تستطيع استخدام الدالة LoadString   لتحميل السلاسل وإسنادها إلى أدوات ومكونات البرنامج المختلفة حسب احتياجاتك.

 



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

 



5-فعالية استخدام مصادر Windows   :

 



كلما كان تطبيقك قادراً على استغلال موارد النظام بشكل جيد كلما أعتبر تطبيقك قوياً .

 



هذه الأيام الأنظمة أسرع ،تملك ذاكرة RAM   أكبر ،ومساحة Hard Disk   أكبر ، أكثر من أي وقت مضى ،وعملك كمبرمج أن تجعل تطبيقاتك تستغل هذه الموارد بالشكل الأمثل.

 



إن DLLs   يساعدك فى تحقيق ذلك ،لنرجع إلى مثالنا السابق بخصوص التطبيقات الخمسة ،قلنا أن هذه التطبيقات تشترك فى جزء من الكود وقلنا بأننا باستخدام DLLs   فإننا نستطيع أن نضع هذا الكود المشترك فى ملف DLL   ويمكن لكل واحد من التطبيقات الخمسة أن يصل إليه ،عندما ثلاثة تطبيقات منها مثلاً تعمل فى نفس الوقت فإنها ستحمًل بعضاً من ذات الكود داخل الذاكرة ،هذا تخريب لمصادر النظام ،لأن كل برنامج يحمل نسخته الخاصة لنفس الكود ،بدلاً عن ذلك يمكنك باستخدام DLL   لتحميل الكود مرة واحدة فقط ،كل التطبيقات يمكنها استخدام نفس الكود فى الذاكرة وبالتالى ينقص الهدر فى النظام (هنا حالة التحميل الديناميكي للـDLL   والتى سنناقشها فى دروس قادمة).

 



 الخلاصة:

 



من خلال هذا الدرس استطعنا أن نكون فكرة واضحة عن ماهية DLL   ،وعرفنا لماذا نحتاج DLL   كمفهوم من مفاهيم تطوير البؤمجيات تحت النظام Windows   .

 



المراجع:

 



1-   Teach Yourself Borland Delphi In 21 Days  

 



2-Essential Pascal  

 



3-Help of Delphi  

 



4-Help of Visual Basic  

 


مقدمة في DLL -

أضف هذه المادة في موقعك:
مواد مشابهة:
 دورة كاملة في الدلفي اعداد ORWA دورة كاملة في الدلفي اعداد ORWA
دورة كاملة في الدلفي اعداد ORWA
(مرات المشاهدة: 545 مرات)
تحميل واستدعاء دوال وإجراءات DLL تحميل واستدعاء دوال وإجراءات DLL
تحميل واستدعاء دوال وإجراءات DLL
(مرات المشاهدة: 144 مرات)
مقدمة عن الدلفي مقدمة عن الدلفي
مقدمة عن الدلفي
(مرات المشاهدة: 302 مرات)
حلقات التكرار While - For - Repeat حلقات التكرار While - For - Repeat
حلقات التكرار While - For - Repeat
(مرات المشاهدة: 101 مرات)
التعرف على مشروع دلفي التعرف على مشروع دلفي
التعرف على مشروع دلفي
(مرات المشاهدة: 204 مرات)
Resources فى DLLs1 Resources فى DLLs1
Resources فى DLLs1
(مرات المشاهدة: 48 مرات)
إنجاز وحدة DLL فى لغة دلفي إنجاز وحدة DLL فى لغة دلفي
إنجاز وحدة DLL فى لغة دلفي
(مرات المشاهدة: 146 مرات)
حلقات التكرار While - For - Repeat- حلقات التكرار While - For - Repeat-
حلقات التكرار While - For - Repeat-
(مرات المشاهدة: 139 مرات)
نافذة الخصائص والأحداث بدلفي نافذة الخصائص والأحداث بدلفي
نافذة الخصائص والأحداث بدلفي
(مرات المشاهدة: 145 مرات)
الدالة Case- الدالة Case-
الدالة Case-
(مرات المشاهدة: 52 مرات)
تعارف اهداءات ترحيب تبريك الحوار العام الفسحة العامة الطلاب و الاختبارات و الاسئله الجريمه حوادث كوارث جرائم معجم لهجات الفاظ مصطلحات عبارات حكم المنتدى الاسلامى تفسير الاحلام dreams صوتيات اسلاميه اناشيد محاضرات خطب وعظ الخينة الرمضانية اللغة الانجليزيه English الطرائف والمرح والفكاهه والتسليه العاب اكس بوكس بلاستيشن XBOX360 & PS3 playstation بلاي استيشن دريم كاست نتندو Anime انمي افلام كرتون السياحة و السفر والرحلات الافلام المنوعه افلام عربيه افلام اجنبيه الصور المضحكه والتعليق مسابقات الغاز حكاوي تطوير المواقع و السكربتات Ajax XML CSS JavaScript PHP Perl CGI seo Search Engine web2 تطوير و صيانة المنتديات vBulletin مشاكل و حلول للمنتديات و المواقع المشكله و الحل و الصيانة الهاكات برودكت بلقن Product - Plugins استايلات قوالب واجهاتstyle - template حراج انترنت مستعمل + جديد اشهار مواقع تبادل اعلانات بيع و شراء منتديات ستلايت فضائيات قنوات ترددات كامات شفرات مفاتيح شيرنج Sharing كروت ساتلايت و الرسيفرات الشعر العام البوح بالخافي فصحى نبطي الخاطرة الأدبية خواطر منوعه قصص روايات الكمبيوتر الحاسب والاجهزة العام البرامج الكاملة وشروحها وتعريب البرامج البرامج العربية والمعربة البرامج المشروحة و شروحات البرامج فوتوشوب photoshop رسم تصميم فلاتر فرش تدرجات خطوط باترن اشكال جوال بلوتوث جميع اجهزة الجوال mobile bluetooth بوكيت بي سي Pocket PC اجهزة كفية بلوتوث bluetooth فلاش سويتش سويش ماكس FLASH _ SWiSH الهكرز و الاختراق حماية فيروسات اختراق كراك hacker crack virus حواء للبنات نسائي للحريم فقط والبنوتات المطبخ للطبخ والاكل وكل امور المطابخ تطوير الذات و البرمجة اللغوية العصبية عيادة طبية للفلوق وغيرها صحه وعلاج health طقها والحقها الرياضي رياضه عربيه منوعه رياضه اجنبيه دوري اسباني وايطالي وغيره قنص صيد رحلات برية بحرية سيارات دراجات نارية تفحيط ترهيم
جميع الحقوق محفوظة مدرسة المشاغبين منتديات مدرسة المشاغبين  Copyright © All rights reserved sitemap