الجمعة 7 ذو القعدة 1423 هـ الموافق 10 يناير 2003 نستعرض اليوم الشاشة الرئيسية لتحليل البرامج ونقف على كيفية ترتيب الكائنات وعمل الازرار وآليات تشغيل البرنامج واغلاقه ثم ننظر في اساليب ادخال بيانات جديدة في الشاشة الاضافية. اسم الشاشة: frm main اسم ملف الشاشة: mainfrm.pas ويتم عرض بعض البيانات الأساسية من السجلات مثل «الاسم».... كما يمكن بواسطتها الوصول الى باقي اجزأ البرنامج الاخرى. يتم عرض السجلات الموجودة بطريقتين. اما عرض شامل وهو لا يشمل الفهرسة، او عرض مفهرس حسب الحرف الفعال. الكائنات المستخدمة: Table DataSource DBGrid BitBtn TabControl Panel StausBar طريقة ترتيب الكائنات * يتم وضع الـ TTable على الـ Form. ويتم ربطها مع الـ Alias الخاص بالبرنامج، كما يتم تعريف اسم ملف قاعدة البيانات المستخدم. * يتم ربط الـ TDataSource مع الـ TTable و ذلك بخاصية الـ DataSet الموجودة في الـ TDataSource. * يتم ربط الـ TDBGrid بالـ TDataSource و ذلك باستخدام خاصية DataSource الموجودة في الـ TDBGrid. * يتم تعريف الحقول في الـ TDBGrid التي نود استخدامها في العرض مثل «الاسم». * يتم وضع خصائص الـ TDBGrid بحيث لا يمكن إضافة او تعديل اي سجل بها، كما علينا التأكد من ان خاصية تحريك الاعمدة غير فعالة. * يتم ترتيب باقي الكائنات حسب الرغبة، ولكن يجب مراعات ترتيب الكائنات.... مثل وضع ازارير التعديل، الإضافة، الحذف مع بعضها وهكذا. عمل الازرار ازرار الفهرسة: و هي عبارة عن الكائن TtabControl. عند الضغط على احد هذه الازرار، يجب فلترة البيانات بحيث لا تظهر الى الاسمأ التي تبدأ بالحرف الفعال، وفي حال كان زر «الكل» هو الفعال، فنلغ الفلترة لتظهر كل السجلات. إضافة: عند الضغط على هذا الزر، تظهر شاشة الادخال/التعديل، وتكون جاهزة للإضافة. تعديل: يكون هذا الزر مطفأ (Disabled) ان لم يكن هناك سجل فعال في القائمة. و في حال الضغط عليه، يجب تحميل شاشة الادخال/التعديل، ومن ثم يتم استرجاع بيانات السجل الفعال ونضع الشاشة في حالة تعديل. عرض: كما في تعديل، يجب التأكد من وجود سجل فعال، ومن ثم يتم فتح شاشة الادخال/التعديل ويتم استرجاع بيانات السجل الفعال. و تكون الشاشة بحالة عرض، اي لا يسمح بالتعديل او الحفظ. حذف: كما بالسابق، يتم التأكد من وجود سجل فعال، ومن ثم تظهر رسالة تأكيد وعند موافقة المستخدم يتم حذف السجل. بحث: عند الضغط على هذا الزر، يتم تحميل شاشة البحث. الطباعة: عند الضغط على هذا الزر، يتم تحميل شاشة الطباعة ويكون هناك خياران بهذه الحالة. اما ان يتم طباعة كل السجلات، او يتم طباعة السجل الفعال ان وجد ان لم يوجد سجل فعال في الشاشة الرئيسية، يتم اضفاء هذا الخيار. إغلاق: وهو لانهاء عمل البرنامج. عندما يقوم المستخدم بالنقر نقرتين على اي سجل في القائمة، يتم فتح عرض السجل. يتم عرض عدد السجلات في شريط الحالة حسب الحرف الفعال، كما يتم عرض حالة البرنامج مثل «إضافة/تعديل/عرض/جاهز» عند تشغيل البرنامج بما ان هذه الشاشة هي الشاشة الرئيسية، فستكون هي اول شاشة تظهر لنا عند بدأ التشغيل. يتم التأكد من ان الـ Alias موجود، وان لم يكن موجود، تتم إضافته . دائماً تتم عمليه تحديث فهرس البيانات للـ Alias. يتم عرض كلمة «جاهز» في شريط الحالة. يتم استخدام الـ API الخاص لتحويل لوحة المفاتيح الى العربي. يتم تفعيل زر «الكل»، ويتم عرض كل السجلات. يتم فتح ملف قاعدة البيانات. عند اغلاق البرنامج يتم اغلاق قاعدة البيانات ويتم بهذه الشاشة إدخال بيانات جديدة، تعديل بيانات، او عرض بيانات. كما يجب تعريف متغير عام بالشاشة، وذلك لاستخدامه للتعريف عن سبب تحميل الشاشة وستكون الخيارات (omAdd, omEdit, omBrowse). و om تعني Open Mode، واسم المتغير TAddOpenMode و يتم تعريفه تحت تعريف الشاشة وقبل تعريف المتغيرات (var) كالتالي. TfrmAdd = class(TForm) private public end; Type TAddOpenMode = (omAdd, omEdit, omBrowse); var frmAdd: TfrmAdd; implementation الكائنات المستخدمة f Ttable - 1 * TdataSource - 1 * TDBEdit - 11 * TbitBtn - 3 * TDBMemo - 2 * TDBComboBox - 1 * TpageControl - 1 * Tlabel - 12 طريقة ترتيب الكائنات * يتم وضع الـ TTable على الـ Form. و يتم ربطها مع الـ Alias الخاص بالبرنامج، كما يتم تعريف اسم ملف قاعدة البيانات المستخدم. * يتم ربط الـ TDataSource مع الـ TTable و ذلك بخاصية الـ DataSet الموجودة في الـ TDataSource. * يتم ربط الـ TDBEdit، TDBMemo بالـ TDataSource و ذلك باستخدام خاصية DataSource الموجودة في الكائنات، كما يتم تعريف كل كائن مع الحقل المناسب. * يتم تعريف كل كائن مع اسم الحقل الخاص به. * يتم ترتيب الكائنات حسب الرغبة، ولكن يجب مراعات ترتيب الكائنات.... مثل وضع الازرار مع بعضها وهكذا. * يتم استخدام الـ TpageControl لتقسيم ترتيب الكائنات. عمل الازرار موافق: يكون هذا الزر مطفأ ما لم يكن هناك بيانات بحقل الاسم. و عند الضغط عليه يتم حفظ البيانات وإغلاق الشاشة. و يكون هذا الزر مرئي في حالة فتحت الشاشة بالخيارين (omAdd, omEdit,). إضافة: و يكون هذا الزر مرئي فقط في حالة فتحت الشاشة بخيار (omAdd)، كما يجب مراعات وجود بيانات بحقل الاسم. و عند الضغط عليه، يتم حفظ البيانات وتجهيز الشاشة لإدخال جديد. إغلاق: و يستخدم لإغلاق الشاشة. و لكن في حال فتحت الشاشة بخيار (omBrowse) يتم تغير موقع الزر ليحل محل زر (موافق) عند اغلاق البرنامج يتم اغلاق قاعدة البيانات تستخدم هذه الشاشة لطباعة سجل او اكثر. يتم تعريف متغير من نوع dataset وذلك لربطه بالـ ttble Dataset أو tqueryالخاص بالشاشة التي استدعة هذه الشاشة، وفي حال كانت الشاشة الرئيسية هي التي استدعة هذه الشاشة وكان خيار المستخدم طباعة كل الحقول. فيتم الغاء الـ filterمؤقتا، وذلك لطباعة كل الحقول وبعد ذلك يعاد الـ filter الى وضعه السابق. الكائنات المستخدمة. tradiobutton tbitbth طريقة ترتيب الكائنات ترتب هذه الكائنات حسب الحاجة. ولاتوجد اي قيود. عمل الازرار عرض: عند الضغط على هذا الزر، يتم عرض التقرير الى الشاشة. طباعة: يتم طباعة هذا التقرير الى الطابعة اغلاق: وهو لاغلاق هذه الشاشة.