11-12-2008, 11:48 PM
- استعمال بعض المكونات الأخرى للاطلاع على محتويات الجدول ، و ادخال أو تعديل البيانات.
يمكن استخدام محرر الحقول لتعريف لائحة من الحقول ضمن الجدول ( عنصر الجدول Table)
ومن أجل كل حقل تنشئ دلفي عنصر من النوع Tfield وهذا العنصر غير مرئي ولكن يمكن من خلاله الوصول إلى قيمة الحقل والتحكم بمواصفاتها .
_ لفتح صندوق حوار محرر الحقول اضغط مرتين على العنصر Table لتظهر النافذة المجاورة ، إضغط بزر الفأرة الأيمن في وسط هذه النافذة لتظهر قائمة اختر منها Ajouter tous les chapms - Add All Field عندها ستظهر حقول الجدول في هذه النافذة ، وفي هذه الحالة يمكنك تحديد حقل أو أكثر أو كل الحقول ثم تقوم بعملية سحب عادية بالزر الأيسر للفأرة إلى الفورم ، و سوف تلاحظ العنصر DataSource ينشأ تلقائيا و يربط بالعنصر Table.
كما يمكنك تعديل ترتيب الحقول (التي ستظهر على DbGrid) ، أو حذف أو إنشاء حقل معين
(ملاحظة : لا يحذف الحقل من ملف الجدول بذاته ، يعني بامكانك الحذف من هنا و عند فتح الجدول بطريقة أخرى سوف تجد كل الحقول المنشأة سلفا بواسطة DataBase Descktop موجودة ، كما بامكانك الإستعادة عن طريق خيار Ajouter des champs او Add Fiels).
كما يمكنك تعديل ترتيب الحقول (التي ستظهر على DbGrid) ، أو حذف أو إنشاء حقل معين
(ملاحظة : لا يحذف الحقل من ملف الجدول بذاته ، يعني بامكانك الحذف من هنا و عند فتح الجدول بطريقة أخرى سوف تجد كل الحقول المنشأة سلفا بواسطة DataBase Descktop موجودة ، كما بامكانك الإستعادة عن طريق خيار Ajouter des champs او Add Fiels).
_ بعد سحب الحقول إلى الفورم ، يخطر ببالك أنه بإمكانك عرض حقول الجدول و الإطلاع على البيانات بدون العنصر DbGrid ، ثم لاحظ إسم كل عنصر ، هل مرت معك هذه الأسماء ؟
إنها أسماء مكونات متواجدة بـالقائمة ControleBD ، ماذا يعني هذا ؟ يعني أنه بإمكانك إستعمال هذه المكونات على الفورم لتعرض فيها بيانات الجدول على طريقتك ، و تربط ما تحتاج إليه . و بدون توضيح للطريقة ، نقول لاحظ خواص نفس المكونات التي قمت بسحبها آنفا و اربط بنفسك ما تحتاج إليه من العناصر. و إن شئت اضف أيضا DbGrid +DbNavigator ومارس بعض العمليات ليتسنى لك معايشة الأمر.
_ هناك مكونات أخرى لك أن تجرب ما تسنى لك ، و سنتعرض للمكون DblookupCombobox في العنصر الموالي من الدرس أو الموضوع.
_ الآن : إذا استعملنا العنصر DbEdit أو DbComBobox ، و كان بالمشروع إحدى مكونات التجميل Skins التي لا تحتوي على تلك العناصر ، (ارجع إلى: http://www.delphi4arab.net/forum/showthread.php?tid=481 )
_ فهل مظهر الواجهة بالعنصر DbComBobox أو sComBobox وكذلك DbEdit و sEdit يبدو نفسه (جميلا) ، لسبب بسيط جدا كهذا أو لأسباب برمجية ، نحتاج إلى إدراج عناصر غير عناصر DbNavigator فكيف الربط و التحكم بالجدول عن طريق هذه المكونات ؟
_ فهل مظهر الواجهة بالعنصر DbComBobox أو sComBobox وكذلك DbEdit و sEdit يبدو نفسه (جميلا) ، لسبب بسيط جدا كهذا أو لأسباب برمجية ، نحتاج إلى إدراج عناصر غير عناصر DbNavigator فكيف الربط و التحكم بالجدول عن طريق هذه المكونات ؟
_ الأمر سهل ، سنجرب تطبيق بسيط جدا بواسطة العنصر MaskEdit :
انشئ كمثال نفس الجدول الموضح بالصورة 001 أعلاه ، الذي يحتوي على حقلين (بالإنجليزية) : Name - - B_Day . ضع العناصر Table - DataSource – DbGrid - DbNavigator و اربط الخصائص كما مر معنا ، ضع عنصرين Maskedit تحت اسم MaskEdit1 - MaskEdit2 ، ضع 6 أزرار تأخد الكابشن :
جديد – حفظ – تعديل – التالي – السابق – حذف.
*/ ملاحظة : لم نقم بوضع العناصر DbGrid – DbNavigator إلا لملاحظة التحكم في الجدول ، وإلا فلسنا بحاجة لها .
على الزر الأول حرر
كود :
Table1.Insert;على الزر الثاني حرر
كود :
begin
{ Ajouter les donées / add data}
Table1.FieldValues['Name']:=Maskedit1.Text;
{ou bien / or
Table1.FieldByName('Name').AsString:=Maskedit1.Text; }
Table1.FieldValues['B_Day']:=Maskedit2.Text;
Table1.Post; { pour sauvegarder / for save }
end;على الزر الثالث حرر على الزر الرابع حرر
على الخـامس حرر كود :
Table1.ُEdit;كود :
Table1.next;كود :
Table1.Prior;كود :
Table1.Deleteفتحرر الكود البديل :
كود :
Table1.FieldValues['B_Day']:=DateTimePicker1.Date;الآن نفد المشروع وجرب ادخال و تعديل البيانات مع الحفظ و الحذف . مارأيك ؟
/ ...يتبع ..../
نتناول في المرة القادمة إن شاء الله العنصر الموالي ، المسطر أعلاه .... و السلام عليكم و رحمة الله و بركاته.


![[-]](https://delphi4arab.net/forum/D4A2020/collapse.png)