نظرة حول لفظ RAD في الدلفي دورة حياة الـ Form الجزء 2
#1
السلام عليكم و رحمة الله و بركاته 
في هذا الجزء سنستمر في التعرف على طريقة دلفي في البرمجة ظمن لفظة الـ RAD

يمكنك الإطلاع على الجزء الأول هنا

File -> New -> Windows VCL Form Application - Delphi

الذي سنقوم بفعله سنظيف زر الى الفورم Button من لوحة المكونات أضف زر و نلاحظ ماذا يفعله دلفي 

ملف الوحدة pas

PHP كود :
type
  TForm1 
= class(TForm)
    Button1: TButton;
  private
    { Private declarations }
  public
    { Public declarations }
  end; 
دلفي قام بتعريف Button1 مشتق من الصنف TButton 
ملف dfm

PHP كود :
object Form1: TForm1
  Left 
= 0
  Top 
= 0
  Caption 
= 'Form1'
  ClientHeight = 202
  ClientWidth 
= 447
  Color 
= clBtnFace
  Font
.Charset = DEFAULT_CHARSET
  Font
.Color = clWindowText
  Font
.Height = -11
  Font
.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch 
= 96
  TextHeight 
= 13
  object Button1
: TButton
    Left 
= 192
    Top 
= 112
    Width 
= 75
    Height 
= 25
    Caption 
= 'Button1'
    TabOrder = 0
  end
end 
ملف الـ dfm دلفي قام بحفظ خصائص الـ Button كما قلنا سابقا ملف dfm يحتوي على خصائص جميع المكونات الموجودة على الفورم أي خاصية تغيرها سيتم حفظها في ملف الـ dfm
لنعد الى ملف الوحدة pas و نرى ماذا يوجد هناك
PHP كود :
  TForm1 = class(TForm)
    Button1: TButton;
  private
    { Private declarations }
  public
    { Public declarations }
  end; 
اول ما تلاحظه private و public تذكرهم 
{ Private declarations } و  { Public declarations } عبارة عن تعليقات Comments يمكنك حذفهم 
private و public يحددان نطاق المتغيرات و الإجراءات لنسميها محددات الوصول لكن هناك محدد آخر لا يظهر و هو published لماذا لا يظهر دلفي يعتبره إفتراظي لذلك نقوم بكتابته للتتضح الصورة أكثر
لتصبح لدينا الوحدة كاتالي 
PHP كود :
type
  TForm1 
= class(TForm)
  published
    Button1
: TButton;
  private
    { Private declarations }
  public
    { Public declarations }
  end; 
لدينا الآن ثلاثة محددات published و private و public
published و public لمهما نفس النطاق لماذا دلفي قام بإظافة الزر تحت published و ليس public اذا كان لهما نفس النطاق السبب أن published يوفر معلومات للـ Object Inspector عكس الـ Public
الذي إعتدت على فعله في دلفي تقوم بسحب زر من لوحة المكونات و تظغط عليه مرتين في الـ Design Mode و تكتب الكود ضمن جسم الإجراء الذي سنقوم بفعله لتوضيح الفرق بين public و published هو التالي لا تقم بالظغط على الزر كما اعتدت على فعله و انما قم بكتابة الـ procedure التالي يدويا ضمن المحدد published
PHP كود :
procedure DoClick(Sender: TObject); 

سيصبح لدينا التالي
PHP كود :
type
  TForm1 
= class(TForm)
  published
    Button1
: TButton;
    procedure DoClick(Sender: TObject); 
حدد الزر في الـ Design Mode اذهب الى Object Inspector ثم Events ثم OnClick تصفح القائمة ستجد الـ procedure الذي كتبناه يدويا
[صورة: attachment.php?aid=4009]
قم بنقل الـ procedure الى public 
PHP كود :
type
  TForm1 
= class(TForm)
  published
    Button1
: TButton;
  private
    { Private declarations }
  public
    procedure DoClick(Sender: TObject);
  end; 

حدد الزر في Design Mode اذهب الى Object Inspector ثم Events ثم OnClick تصفح القائمة لا يوجد شيئ
و السلام عليكم و رحمة الله و بركاته 


الملفات المرفقة
.png   1.png (الحجم : 24.49 ك ب / التحميلات : 68)
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
[-] كل من 4 users say قال شكرا ل S.FATEH على المشاركة المفيدة
  • أبو معاذ, محمد عبد العزيز, ELARAPY, bassem_43
الرد


الردود في هذا الموضوع
نظرة حول لفظ RAD في الدلفي دورة حياة الـ Form الجزء 2 - بواسطة S.FATEH - 27-06-2019, 02:12 PM

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


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