آخرين پست هاي ارسالي انجمن ايران دلفي

تماشای رایگان فیلم ایرانی ، خارجی و کودک آکادمی دلفی
نمایش نتایج: از 1 به 11 از 11

موضوع: چگونه کامپوننت مورد نیاز خود را بسازیم

Threaded View

  1. #10
    مدیر انجمن مجید آواتار ها
    تاریخ عضویت
    January 1970
    محل سکونت
    تهران
    نوشته ها
    167
    تشکر ها
    58
    تشکر شده 201 بار در 100 ارسال.

    پاسخ : چگونه کامپوننت مورد نیاز خود را بسازیم

    تست کامپوننت نصب نشده
    شما می توانید رفتار یک کامپوننت را قبل از نصب در پالت کامپوننت ها در زمان اجرا تست کنید. این امر به ویژه برای اشکال زدایی (دیباگ کردن) کامپوننت تازه ایجاد شده ، مفید است. اما شما می توانید بدون در نظر گرفتن اینکه کامپوننت در پالت کامپوننت ها ظاهر شده است یا نه ، از این تکنیک برای تست هر کامپوننتی استفاده کنید.
    در واقع ، درست مانند زمانی که یک کاربر ، کامپوننت را از پالت کامپوننت ها روی فرم قرار می دهد ، شما نیز می توانید یک کامپوننت نصب نشده را با تقلید از فعالیت های انجام شده تست کنید. برای اینکار مراحل زیر را دنبال کنید :

    1. نام یونیت کامپوننت را به قسمت uses یونیت فرم اضافه کنید.
    2. به نمایندگی از کامپوننت ، یک فیلد شیء به فرم اضافه کنید.
      این یکی از اصلی ترین تفاوت های بین روش اجرایی شما و دلفی است. شما فیلد شیء را به قسمت public در انتهای اعلان type فرم اضافه می کنید. دلفی برای مدیریت آن ، فیلد شیء را بالای قسمت اعلان type فرم اضافه می کند.شما نباید هیچ وقت فیلد ها را در قسمت مدیریت شده دلفی واقع در بالای اعلان type فرم اضافه کنید. آیتم هایی که در آن قسمت اعلان می شوند مطابق با آیتم های موجود در فایل فرم (فایل های DFM) هستند.افزودن نام کامپوننت هایی که در فرم وجود ندارند به آن قسمت ، باعث نا معتبر شدن فایل فرم (DFM) خواهد شد.
    3. یک رویداد OnCreate به فرم اضافه کنید . برای این کار می توانید روی قسمت خالی فرم دبل کلیک کنید تا دلفی آن را برای شما ایجاد کند.
    4. کامپوننت را در رویداد OnCreate بسازید.
      وقتی که سازنده کامپوننت را فراخوانی می کنید ، باید پارامتری را به عنوان مالک کامپوننت به آن پاس دهید(این مالک وقتی که لازم باشد مسئول از بین بردن کامپوننت خواهد بود). شما تقریباً همیشه برای مالک از عبارت Self استفاده می کنید.در این روش ، Self یک مرجع برای شیئی است که آن را در بر گرفته است. در این مورد ، در رویداد OnCreate فرم ، Self به فرم اشاره می کند.
    5. خصوصیت Parent را به کامپوننت اختصاص دهید.
      تنظیم خصوصیت Parent ، همیشه اولین چیزی است که پس از ساخت کامپوننت باید انجام شود. Parent کاموننتی است که به صورت بصری کامپوننت را در بر می گیرد، که در اغلب موارد همان فرم است ، اما ممکن است یک Group Box یا Panel باشد. معمولاً شما Parent را همان Self قرار می دهید که در اینجا همان فرم است. همیشه Parent را قبل از سایر خصوصیات مشخص کنید.
    6. سایر تنظیمات کامپوننت را آنطور که مایلید انجام دهید.

    فرض کنید شما می خواهید یک کامپوننت جدید از نوع TNewComponent را در یک یونیت به نام NewTest تست کنید. یک پروژه جدید ایجاد کرده و مراحل گفته شده را تا آخر دنبال کنید تا نتیجه به شکل زیر شود:
    کد:
    unit MyComponent;
    
    interface
    
    uses
      System.SysUtils, System.Classes;
    
    type
      TNewComponent = class(TComponent)
      private
        { Private declarations }
        FParent: TComponent;
        FLeft : Integer;
        procedure SetLeft(val:Integer);
      protected
        { Protected declarations }
      public
        { Public declarations }
        constructor Create(Owner:TComponent); override;
        destructor Destroy; override;
        property Parent: TComponent read FParent write FParent;
        property Left: Integer read FLeft write SetLeft;
      published
        { Published declarations }
      end;
    
    procedure Register;
    
    implementation
    
    procedure Register;
    begin
      RegisterComponents('ایران دلفی', [TNewComponent]);
    end;
    
    constructor TNewComponent.Create(Owner:TComponent);
    begin
     inherited;
    end;
    
    destructor TNewComponent.Destroy;
    begin
     inherited;
    end;
    
    procedure TNewComponent.SetLeft(val: Integer);
    begin
      FLeft := val;
    end;
    
    end.
    کد:
    unit Unit1;
    
    interface
    
    uses
      Winapi.Windows, Winapi.Messages, System.SysUtils,
      System.Variants, System.Classes, Vcl.Graphics,
      Vcl.Controls, Vcl.Forms, Vcl.Dialogs, MyComponent;
    
    type
      TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
        NewComponent1: TNewComponent;
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      NewComponent1 := TNewComponent.Create(Self);  { 4. Construct the component }
      NewComponent1.Parent := Self;                 { 5. Set Parent property }
      NewComponent1.Left := 12;                     {6. Set other properties...}
                                                    { ...continue as needed }
    end;
    
    end.
    پایان فصل اول
    ویرایش توسط مجید : 17 / November / 2016 در ساعت 07:09 AM

  2. 2 کاربر مقابل از مجید عزیز به خاطر این پست مفید تشکر کرده اند .

    admin (17 / November / 2016),meyti (17 / November / 2016)

موضوعات مشابه

  1. برداخت هزینه برای نرم افزار اندروید دلفی
    توسط mahmood در انجمن برنامه نویسی موبایل
    پاسخ: 3
    آخرين نوشته: 16 / June / 2016, 08:21 PM
  2. ابزار مرورگر جایگزین TWebBrowser
    توسط hamid93 در انجمن کامپوننت ها در دلفی
    پاسخ: 0
    آخرين نوشته: 30 / April / 2015, 09:36 PM
  3. پاسخ: 0
    آخرين نوشته: 24 / October / 2014, 09:43 PM
  4. انجام یک پروژه ! کمک فوری ! با هزینه
    توسط korosheghbali در انجمن موضوعات متفرقه
    پاسخ: 10
    آخرين نوشته: 04 / August / 2014, 02:56 PM

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •