تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[مقال] كيفية إرسال قيم متغيرات بين الـForms في دلفي
#1
السلام عليكم ورحمة الله

في بعض الأحيان نحتاج إلى إرسال قيم بعض المتغيرات إلى فورم آخر، ثم العمل عليها هناك.

الأمر هذا ينطبق على كل من دلفي ولازاروس.


لنفرض أن الفورم الذي نريد إرسال المتغيرات إليه اسمه FCalculate، ووحدته اسمها FCalculateUnit.

نذهب إلى الفورم، لو كان معروضاً أمامنا نضغط الزر F12 ليظهر لنا الكود، والعكس الصحيح.

ننتقل إلى قسم التعريفات بالأعلى، وتحت Public نقوم بتعريف بعض المتغيرات:

كود :
 public
   Patient_ID:Integer;
   Test_ID:Integer;
   CBC_Counter:Integer;
   Test_Date:TDateTime;

نعود للفورم السابق، الذي نريد إرسال قيم البيانات منه، ونقوم باستخدام الوحدة الخاصة بالفورم FCalculate وهي FCalculateUnit بالطريقة التالية:

كود :
implementation
uses FCalculateUnit;

وفي المكان المناسب، نرسل قيم المتغيرات إلى الفورم FCalculate ثم نظهره:

كود :
           FCalculate.Patient_ID:=Patient_ID;
           FCalculate.Test_ID:=Test_ID;
           FCalculate.Test_Date:=CDate.Date;
           FCalculate.TTest_Name.Caption:=Test_Name;
           FCalculate.TTest_Result.Clear;
           FCalculate.TRemarks.Clear;
           FCalculate.CBC_Counter:=FMain.CBC_Counter;
           FCalculate.Insertion_Query.DataBase:= FMain.Conn;
           FCalculate.Trans.DataBase:= FMain.Conn;
           FCalculate.ShowModal;
الرد }}}
#2
إضافة بسيطة يمكن استخدام العبارة With لترتيب واختصار الكود
سمعت ان امبركاديرو كانت عازمة على الغاءها ولكن لازالت موجودة حتى أخر اصدارة

كود :
with FCalculate
          .Patient_ID:=Patient_ID;
          .Test_ID:=Test_ID;
          .Test_Date:=CDate.Date;
          .TTest_Name.Caption:=Test_Name;
          .TTest_Result.Clear;
          .TRemarks.Clear;
          .CBC_Counter:=FMain.CBC_Counter;
          .Insertion_Query.DataBase:= FMain.Conn;
          .Trans.DataBase:= FMain.Conn;
          .ShowModal;
end;
الرد }}}



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم