أنت غير مسجل في منتديات لايف نت . للتسجيل الرجاء إضغط هنـا

 
     


 

 
الإعلانات والأخبار

إعلان شركة عيون الشرق ينتهي 1/4/2009 
عدد الضغطات  : 33 إعلان شبكة بايرن ميونخ ينتهي في 1/4/2009 
عدد الضغطات  : 30 اعلان شبكة العمدة ينتهي في 1/4/2009 
عدد الضغطات  : 60 :: مساحة إعلانية ::
موقع سيلينا ينتهي في 1/1/2010 
عدد الضغطات  : 39 مركز تحميل لايف نت 
عدد الضغطات  : 70 مسلسل الياس 
عدد الضغطات  : 276  
عدد الضغطات  : 34


آخر 10 مشاركات ديكور غرفة الجلوس ............. (الكاتـب : sweet girl - آخر مشاركة : sweet girl - مشاركات : 0 - )    <->    ديكورات داخلية لغرف مستشفيات .... (الكاتـب : ابو المجد الدمشقي - آخر مشاركة : ابو المجد الدمشقي - مشاركات : 0 - )    <->    فن الرسم على غبار السيارات (الكاتـب : rema1 - آخر مشاركة : sweet girl - مشاركات : 16 - )    <->    من هو الرجل ................. (الكاتـب : sweet girl - آخر مشاركة : sweet girl - مشاركات : 0 - )    <->    **,, كــن قلبــاً نقيــاً وإنسـى الجــراح ,,** (الكاتـب : سالي - آخر مشاركة : sweet girl - مشاركات : 5 - )    <->    البنات قبل وبعد ...؟؟؟ (الكاتـب : بنوتة مصرية - آخر مشاركة : sweet girl - مشاركات : 14 - )    <->    الأسير اللبناني المحرر سمير القنطار يصل إلى دمشق ويلتقي الرئيس الاسد (الكاتـب : أبو عبدو - آخر مشاركة : HEV14 - مشاركات : 1 - )    <->    الكن يا صبايا (الكاتـب : sweet girl - آخر مشاركة : sweet girl - مشاركات : 3 - )    <->    صور رااائعة لجنين الفيل سبحان الله (الكاتـب : مدحت - آخر مشاركة : sweet girl - مشاركات : 7 - )    <->    هل نخسر الكالسيوم عند شرب القهوة؟ (الكاتـب : rema1 - آخر مشاركة : HEV14 - مشاركات : 9 - )    <->   
مواضيع ننصح بقراءتها لايف نت في عيده الثاني      عسل عسل Kaspersky Anti-Virus & Internet Security 2009 8.0.0.506 Finall عملاق الفيروسات + التعريب وصل      قلبي وشو بدي قله _ وائل كفوري mp3
العودة   منتديات لايف نت العودة ღ♥ღ لايف نت التقني ღ♥ღ العودة منتدى لغات البرمجة
القرآن الكريم الترجمة توبيكات للماسنجر إسترجاع كلمة المرور طلب كود تفعيل العضوية تفعيل العضوية
قوانين الموقع كرة القدم أهم الأخبار مفاتيح الدول المسابقات لعبة X O سوليتير خرائط جوجل الخطة الاعلانية
أفلام ثيمات XP مسينجر دروس تعليمية تعاريف البرامج دليل المواقع ترددات ديجتال أكواد جافا

منتدى لغات البرمجة تعلم أو استفسر عن اجمل لغات البرمجة

الإهداءات
HEV14 من ادارة لايف نت : تمنياتي بالشفاء العاجل لوالد كيج ... اللهم رب الناس ، اذهب الباس ، اشف وأنت الشافى ، لاشفاء إلا شفاؤك ، شفاء لايغادر سقما أمير بلاد الحب من مملكة الحب : مبروك لايف نت عيدها التاني وعقبال 1000000 الزعيم الفلسطيني من قلب لايف نت : كل عام واللايف نت بألف خير وعقبال ال100 سنة HEV14 من ادارة لايف نت : مبروك الستايل الجديد وكل عام واللايف نت بازدهار وتفوق ابو المجد الدمشقي من المكتب خصوصي : عقبال المية لايف نت نبض الحياة من جواااااااااقلبي : كل عام ولايف نت بألف بألف بألف خير ومن حسن لآحسن يارب وعقباااال الميه لالاشو الميه المليون يااارب وأحلى تحيه لأحلى شباب وصبايا بالكون كلو بحبكم مووووت تاج الوقار من من هذه الدنيا : السلام عليكم .. كل عام ولايف نت بخير وأدارتها الكريمة ومشرفيها ومشرفاتها الأكارم بخير والأعضاء بألف خير ... sweet girl من نجاح روعة : الف مبروك يا لايف نت وكل اهلها الرائعين وشكر خاص لمدير الموقع على تميزاتو الرائعة وكل الاعضاء وخصوصا mgndbel أمير بلاد الحب من كل عام ولايف نت أحلى : " صباح الورد " مبارك للجميع عيد لايف نت HEV14 من عيد ميلاد لايف نت : مساء الورد والياسمين لكل يلي معنا متواجدين مدحت من عيد سعيد : في أحلى يوم بالشهر حبيت أسبق البشر وأهني اللي أحلى من القمر وأبارك له بيوم ميلاد العمر وأقوله كل عام وانتي بخير لايف نت وعقبال بليون عمر دلوعه زوجها من وادي الرافدين : سلامي الى جميع العاملين بالمنتدى واهداء خااص حق ابو ؟؟؟؟؟ احبك يابعد كل الملا وحبي لك عن العشاق غير بقلبي حس ياروحي الغلا وحس بالحب والقدر الكبير

رد
   
LinkBack أدوات الموضوع طرق مشاهدة الموضوع
  مشاركة رقم : 1 (permalink)  
قديم 03-10-2007, 11:49 AM
علم الدولة : syria
الصورة الرمزية MaZeN
مشرف سابق

رقم العضوية : 95
تاريخ التسجيل : Jan 2007
العمر : 23
المشاركات : 4,903
الجنس :
على النت: 1999
المؤهل الدراسي : جامعي
الجوال : Motorola L7
بمعدل : 7.10 يوميا
إرسال رسالة عبر مراسل MSN إلى MaZeN إرسال رسالة عبر مراسل Yahoo إلى MaZeN

MaZeN غير متواجد حالياً عرض البوم صور MaZeN



المنتدى : منتدى لغات البرمجة
افتراضي برمجة Dll (لغة دلفي) 2007

 

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


توقيع MaZeN




  مشاركة رقم : 2 (permalink)  
قديم 09-10-2007, 09:03 PM
علم الدولة : syria
الصورة الرمزية H_CAGE
مـــدير المــوقــع

رقم العضوية : 1
تاريخ التسجيل : Nov 2006
الدولة : عيون لايف نت
العمر : 25
المشاركات : 7,810
الجنس :
على النت: 2000
المؤهل الدراسي : إجازة في المصارف و شركات التأمين
الجوال : N73_White
بمعدل : 10.70 يوميا
إرسال رسالة عبر مراسل MSN إلى H_CAGE

H_CAGE غير متواجد حالياً عرض البوم صور H_CAGE



كاتب الموضوع : MaZeN المنتدى : منتدى لغات البرمجة
افتراضي رد: برمجة Dll (لغة دلفي) 2007

شـكــ وبارك الله فيك ـــرا ... تحياتي

توقيع H_CAGE



23/11/2008

يوم لايف نت الثاني ..




  مشاركة رقم : 3 (permalink)  
قديم 22-12-2007, 08:29 PM
علم الدولة : egypt
الصورة الرمزية البرنس محمد على
مشرف

رقم العضوية : 13690
تاريخ التسجيل : Nov 2007
الدولة : مصـــــــــر
العمر : 23
المشاركات : 815
الجنس :
على النت: 2000
المؤهل الدراسي : طالب جامعــــــــــــى
الجوال : كرة قدم
بمعدل : 2.27 يوميا
إرسال رسالة عبر مراسل Yahoo إلى البرنس محمد على

البرنس محمد على غير متواجد حالياً عرض البوم صور البرنس محمد على



كاتب الموضوع : MaZeN المنتدى : منتدى لغات البرمجة
افتراضي رد: برمجة Dll (لغة دلفي) 2007

بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين

توقيع البرنس محمد على





البوسة دى للاهلوية فقط


  مشاركة رقم : 4 (permalink)  
قديم 16-02-2008, 04:48 PM
علم الدولة : syria
الصورة الرمزية smok200
مراقب عام

رقم العضوية : 134
تاريخ التسجيل : Jan 2007
الدولة : دمشق
المشاركات : 8,636
الجنس :
على النت: 2001
المؤهل الدراسي :
الجوال : N70 M
بمعدل : 12.78 يوميا

smok200 غير متواجد حالياً عرض البوم صور smok200



كاتب الموضوع : MaZeN المنتدى : منتدى لغات البرمجة
افتراضي رد: برمجة Dll (لغة دلفي) 2007

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

تسلم ايدك على البرمجة الرائعة


توقيع smok200

*














جولاني وافتخر



رد

مواقع النشر



الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
أدوات الموضوع
طرق مشاهدة الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
جديد الكاسبر Kaspersky 2007 7.0.1.308 Beta بإصداريه بتاريخ 13/12/2007 وصل لعيون ((أبووديع الورد)) HaMuDi برامج الحماية AntiVirus 15 15-11-2008 01:04 AM
بيئة تطوير دلفي . Delphi programming environment MaZeN منتدى لغات البرمجة 4 18-07-2007 05:19 PM
البرمجة غرضية التوجة في دلفي 1 MaZeN منتدى لغات البرمجة 2 18-07-2007 05:10 PM


الإعلانات النصية في شبكة لايف نت المتكاملة :

http://vb.lifenet-sy.com www.lifenet-sy.net www.lifenet-sy.org لايف نت www.lifenetextra.com لايف نت جروب
أعلن هنا أعلن هنا كلمات دليلية أعلن هنا منتديات العمدة أعلن هنا
أعلن هنا أعلن هنا أعلن هنا كمبيوتر أعلن هنا أعلن هنا
 
 
الاتصال بنا شبكة لايف نت المتكاملة الأرشيف بيان الخصوصية ستايل من تصميم ابو راشد مشرف عام منتديات المودة لعرض معلومات الموقع في أليكسا الأعلى  - Rss
الساعة الآن 05:58 PM.
Powered by vBulletin® Version 3.7.4, Copyright ©2000 - 2008,
 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78