إضافة البيانات
1- نبقى في الوحدة الأولىUnit1 بالنقر على اسمها في أعلى المحرر (إن كانت غير محددة)، ونعرض الفورم " Form1" باستعمال المفتاح "F12" بلوحة المفاتيح، نعين الزر "ButtonAdd" وهو زر يستعمل لإدراج البيانات من خلال الفورم Form2 .
FDQuery2.Insert; application.CreateForm(TForm2, Form2); Form2.Show;
نحصل على الشكل التال:
في هذا الكود نقوم بتنفيذ الأمر "إدراج" " Insert" على الاستعلام FDQuery2، بعده نقوم بتهيئة الإطار CreateForm وعرضه " Show" للمستخدم، حتى يظهر الإطار "Form2" عند تنفيذ البرنامج.
2- ننتقل إلى الوحدة الثانية Unit2 ونعرض الإطار Form2.
الإطار Form2 يحتوي على الزر"ButtonSave" وخانتي الاسم واللقب و زر لتحميل الصورة "ButtonPhoto" بالإصافة إلى كائن Image1 لعرض هذه الصورة كما رأينا في الموضوع السابق.
ونبدأ بكتابة الكود الخاص بالزر"ButtonPhoto" ، هذا الزر يمكننا من عرض مربع حوار لاختيار وفتح صورة موجودة على القرص .لكتابة الكود ، ننقر نقرا مزدوجا على الزر ونكتب ما يلي :
if OpenDialog1.Execute then with form1 do begin if not(FDQuery2.State in [dsinsert, dsedit]) then FDQuery2.Edit; FDQuery2PHOTO.LoadFromFile(OpenDialog1.FileName); end;
وهذا الشكل النهائي الخاص بهذا الإجراء :
-يمكن تطبيق نفس الكود على الإجراء "OnDblClick" للعنصر Image1 وذلك كما يلي :
- نعين العنصر Image1 على الفورم Form2 .
-نشير إلى علامة التبويب "الأحداث" في شريط "مفتش العناصر" ،نعيين الخاصية "OnDblClick" ونختار القيمة "ButtonPhotoClick" كما في الشكل :
- نعين العنصر Image1 على الفورم Form2 .
-نشير إلى علامة التبويب "الأحداث" في شريط "مفتش العناصر" ،نعيين الخاصية "OnDblClick" ونختار القيمة "ButtonPhotoClick" كما في الشكل :
3- نكتب الكود الخاص بالزر "ButtonSave" ، وهو زر يستعمل لحفظ البيانات بعد إدخالها.
يظهر محرر الكود بالنقر المزدوج على الزر المعني، ويمكن كتابة الكود التالي:
يظهر محرر الكود بالنقر المزدوج على الزر المعني، ويمكن كتابة الكود التالي:
with form1 do if FDQuery2.State in [dsinsert, dsedit] then FDQuery2.post; close;
فنحصل على شكل مشابه لما يلي :
الكود يبين أن العنصر FDQuery2 موجود بالفورم "form1 " ، وأن الأمر حفظ "post" لا يتم تنفيذه حتى تكون FDQuery2 في حالة إدراج " dsinsert" أو تحرير "dsedit" ، بعدها يتم إغلاق الإطار "close" سواء تم تنفيذ الأمر post أم لا.
- لكي نرى البيانات الجديدة بعد تحديثها نقوم بإضافة الكود التالي في الحدث "Onclose" الإطار form2 كما يلي:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin with form1 do begin FDQuery2.Active := false; FDQuery2.Active := true; end; Action := TCloseAction.caFree; end;
ليست هناك تعليقات:
إرسال تعليق