استعمال SQLite في تطبيق دلفي متعدد الأجهزة- تحرير كود إضافة البيانات

إضافة البيانات 

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" كما في الشكل :
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;
السابق

ليست هناك تعليقات:

إرسال تعليق

المشاركات الشائعة