التعرف على وحدة دلفي UNIT
نعرف في البرمجة أن البرنامج ما هو إلاّ مجموعة اوامر سطرية او غرضية
توجيه يقوم الكومبايلر بترجمتها إلى لغة حوسبية Langage Machine .في دلفي يقوم الكومبايلر
بترجمة اليونيت – الوحدة – اما الواجهة الرسومية فما هي الا مجموعة اغراض مبرمجة
سطريا و مذمجة في مكتبات . و لهذه الأسباب من الأولى أن نتعرف على اجزاء وحدة
دلفي.
توجيه يقوم الكومبايلر بترجمتها إلى لغة حوسبية Langage Machine .في دلفي يقوم الكومبايلر
بترجمة اليونيت – الوحدة – اما الواجهة الرسومية فما هي الا مجموعة اغراض مبرمجة
سطريا و مذمجة في مكتبات . و لهذه الأسباب من الأولى أن نتعرف على اجزاء وحدة
دلفي.
–
ملاحظة :
هذا درس نظري محض قد يبدو صعبا للمبتدئين في الدلفي لكنه ضروري لتسهيل العمل في
الدروس التطبيقية . و بهذا يبقى لنا درس او درسان نظريان على الأكثر للبدى في دروس
تطبيقية . و لهاذا لن نقوم بوضع أمثلة حتى لا تتعقد الأمور.
ملاحظة :
هذا درس نظري محض قد يبدو صعبا للمبتدئين في الدلفي لكنه ضروري لتسهيل العمل في
الدروس التطبيقية . و بهذا يبقى لنا درس او درسان نظريان على الأكثر للبدى في دروس
تطبيقية . و لهاذا لن نقوم بوضع أمثلة حتى لا تتعقد الأمور.
تتكون وحدة الدلفي من عناصر عدة و هي:
قسم المبادلات الخارجية )الواجهة( INTERFACE:
وهذا أهم قسم فهو مختص بالعناصر التي تمكّن نظاما خارجيا او نظاما ما
بالإتصال و التعامل مع برنامجنا و هو ينقسم إلى:
بالإتصال و التعامل مع برنامجنا و هو ينقسم إلى:
قسم المستعملات USES
:
:
تستعمل للاتصال بوحدات مبرمجة مسبقا و مخزنة في مكان معلوم و بهذا
بإمكاننا استعمال خواص و متغيرات وحدات أخى لبرامج أخرى في برنامجنا و هذا ما يكسب
البرنامج إنسيابية و سلاسة منقطعة النظير. لكي يتوضح الامر لا يسعنا سوى التمثيل .
نفرض أننا قمنا بصناعة برنامج للتمثيل البياني للدوال و اسمينا الوحدة graph.pas ووضعناها في السي درايف . ثم بدأنا صنع
برنامج يقوم بحل المعادلات و احتجنا في برنامجنا تمثيل الحلول بيانيا . فلا داعي
لصناعة البرنامج من جديد بل نخزن برنامجنا في نفس مجلد الـ Graph و في قسم اليوزيس نكتب Graph و نستعمل كل خواصه و نفس الكلام لاستعمال
مكتبات خارجية.
بإمكاننا استعمال خواص و متغيرات وحدات أخى لبرامج أخرى في برنامجنا و هذا ما يكسب
البرنامج إنسيابية و سلاسة منقطعة النظير. لكي يتوضح الامر لا يسعنا سوى التمثيل .
نفرض أننا قمنا بصناعة برنامج للتمثيل البياني للدوال و اسمينا الوحدة graph.pas ووضعناها في السي درايف . ثم بدأنا صنع
برنامج يقوم بحل المعادلات و احتجنا في برنامجنا تمثيل الحلول بيانيا . فلا داعي
لصناعة البرنامج من جديد بل نخزن برنامجنا في نفس مجلد الـ Graph و في قسم اليوزيس نكتب Graph و نستعمل كل خواصه و نفس الكلام لاستعمال
مكتبات خارجية.
قسم النوع Type:
تعريف صنف جديد موروث من كنصر أصلي مثلا الفورم يمكن استعمل عدد هائل
منها و هذا بتوريث خواص العنصر الاصلي Tform للفورم التي نحتاجها أو Tlabel للعصر Label النصي … هذا ما يدعى
بالكلاس في البرمجة غرضية التوجيه (Classe d’un type) و على العموم العناصر و الاشياء في الدلفي تعرف
بزيادة حرف T قبلها
للتفريق بين العناصر و المهام Thread التي سنتطرق لها حين الوصول إلى مستوى متقدم
من الدروس .
منها و هذا بتوريث خواص العنصر الاصلي Tform للفورم التي نحتاجها أو Tlabel للعصر Label النصي … هذا ما يدعى
بالكلاس في البرمجة غرضية التوجيه (Classe d’un type) و على العموم العناصر و الاشياء في الدلفي تعرف
بزيادة حرف T قبلها
للتفريق بين العناصر و المهام Thread التي سنتطرق لها حين الوصول إلى مستوى متقدم
من الدروس .
و هذا القسم بنفسه ينقسم إلى 2جزئين :
Private: و هنا نعلم البرنامج بالعناصر
التي تستعمل فقط من طرف البرنامج نفسه لا غير.
التي تستعمل فقط من طرف البرنامج نفسه لا غير.
Public: و هنا نصرح بالأشياء
التي يمكن استعمالها من أي جهة او برنامج شئنا سواءا من داخل البرنامج نفسه أو من
برامج أخرى خارجية.
التي يمكن استعمالها من أي جهة او برنامج شئنا سواءا من داخل البرنامج نفسه أو من
برامج أخرى خارجية.
مثال : نصنع برنامج يحتوي على edit رقم العامل ، إسمه ، لقبه
و مهنته . الرقم يستعمله فقط البرنامج
نفسه اما بقية الـ يمكن استعمالها من برنامج خارجي . الرقم نصرح به في الـ Private أما
البقية فنصرح بها في الـ Public .
و مهنته . الرقم يستعمله فقط البرنامج
نفسه اما بقية الـ يمكن استعمالها من برنامج خارجي . الرقم نصرح به في الـ Private أما
البقية فنصرح بها في الـ Public .
ينتهي هذا القسم بـ End ; لأنه Bloc اوامر مستقل.
قسم المتغيرات Var : و هذا قسم جد هام
و معروف لدى مبرمجي الباسكال سابقا. فبوضعنا لمشروع جديد نجد تلقائيا في الهذا
القسم متغير من نوع Tform1 و هو متغير خاص بالفورم
الاصلي للبرنامج و هذا النوع لسي معروف ذاتيا في الدلفي مثل integer و string و غيرها و إنما مصر
سابقا في القسم السابق Type.
و معروف لدى مبرمجي الباسكال سابقا. فبوضعنا لمشروع جديد نجد تلقائيا في الهذا
القسم متغير من نوع Tform1 و هو متغير خاص بالفورم
الاصلي للبرنامج و هذا النوع لسي معروف ذاتيا في الدلفي مثل integer و string و غيرها و إنما مصر
سابقا في القسم السابق Type.
قسم implementation: قسم خاص للتصرح
بالمتحولات، التوابع و الدوال تنفصل فيه لاحقا.
بالمتحولات، التوابع و الدوال تنفصل فيه لاحقا.
تمرين صغير : اصنع تطبيقا به 5 عناصر Edit و عنصري Memo بحيث كلما غيرنا المؤشر
من عنصر لآخر يتغير عنوان الفورم إلى عنوان العنصر . أرسل الكود المصدري إلى raghib@th3pro.com أو ضعه في المنتدى و
سأقوم بالتصحيح إن شاء الله.
من عنصر لآخر يتغير عنوان الفورم إلى عنوان العنصر . أرسل الكود المصدري إلى raghib@th3pro.com أو ضعه في المنتدى و
سأقوم بالتصحيح إن شاء الله.
مع تحيات أخوكم كرم.