ورود

View Full Version : آموزش گام به گام کار با پلت کامپوننتهای دلفی



nasr
پنج شنبه 28 خرداد 1383, 10:46 صبح
با سلام

آیا شما مایلید یه کاری را شروع کنیم و اون اینکه همه کامپوننتهای را یکی یکی کارهاش را بگیم

هرکسی یکی از اونها را توضیح بدهد و یه نمونه کد هم براش ضمیمه کنه

کامپوننتهای اولی ساده اند ولی بعدش زیاد هم ساده نیست

فکر می کنم در پایان چیز خوبی بشه

اگه دوست دارید از پلت Standard شروع کنیم

hotice
پنج شنبه 28 خرداد 1383, 11:47 صبح
با عرض سلام خدمت دوست عزیز
کار بسیار ارزش مندی است وبقیه می توانند از ان استفاده کنند.
من هم تاجایی که بتوانم کمکتان میکنم.
موفق باشید. :)

Mahdi_S_T
پنج شنبه 28 خرداد 1383, 12:10 عصر
بهتر است در هر پلت . آنهایی که خیلی واضح است را کنار بذاریم و بقیه را توضیح بدیم بدین طریق کار سریعتر می شود .

پیشنهاد خوبی بود :تشویق:

nasr
پنج شنبه 28 خرداد 1383, 13:22 عصر
سلام


بهتر است در هر پلت . آنهایی که خیلی واضح است را کنار بذاریم و بقیه را توضیح بدیم بدین طریق کار سریعتر می شود

ولی اگه همه را توضیح بدیم یه چیز کامل می شه و اگه یه نفر مبتدی هم وارد سایت برنامه نویس و بخش دلفی بشه براش می تونه مفید باشه

حالا هر طور مایلید شروع می کنیم

Pichidehtarin
پنج شنبه 28 خرداد 1383, 14:52 عصر
با سلام
1- کمبود وقت .
2 - تنبلی .
به نظرم هر دفه یه Component رو مورد بحث قرار بدیم و بزاریم همه درموردش یه چیزی بنویسن بعد بریم سر وقت یکی دیگه .
اینطوری همه رقابت میکنن مطالب حرفه ای درمورد اون Component بنویسن .
اصل کار هم از بین نمیره .
نظرتون چیه ؟

hotice
پنج شنبه 28 خرداد 1383, 17:02 عصر
با عرض سلام

اگه همه را توضیح بدیم یه چیز کامل می شه
خوبه .
با اجازه آقای Nasr که این تاپیک رو راه انداختن.برای شرع کار دست جمعی نیاز به یک سری قوانین هست که همه باید از ان پیروی کنند تا دچار سردرگمی و نشوند ویک نظم خاص بین افراد وجود داشته باشه.
1- چون اکثر کمپوننت ها خواص مشترک دارند اینوع خواص فقط یک بار گفته شوند مگر نیاز به توضیح دیگری باشد یا تشابه اسمی وجود داشته باشد.
2- بعضی از کمپوننت ها Visual هستند و بعضی non Visual .
3- همه میتوانند نظر بدهند و سوال کنند.
4- تاوقتی پلتی تمام نشده پلت به بعدی وارد نمیشویم.
5- تا جایی که ممکن است از توضیح انگلیسی خود داری شود.(برای مبتدی ها)
6- کمپوننت های پلت هارا یکی به یکی توضیح میدهیم.
7- بعضی از خواص خواص موقع اجرا هستند.
8- کمپوننت ها دارای رویدادها یا event ها نیز می باشد که انها هم توضیح داده میشوند.
9- از بحث غیر ضروری بپرهیزید.
10- فعلا از کمپونند های خارجی که همگان در اختیار ندارند استفاده نمیشود.بلکه از کمپوننت های خود دلفی استفاده می شود.
11- ابتدا تمام خوص و رویدادها نوشته شوند بعد راجع به انها توضیح داده شود.
12- تاحد ممکن توضیحات کامل باشد.

کنون وقت کاراست و گفتار نیست دو صد گفته چو نیم کردار نیست.
از پلت استاندارد شروع میکنیم :
اولین کمپوننت Button :

TButton = class(TButtonControl)
private
FDefault: Boolean;
FCancel: Boolean;
FActive: Boolean;
FModalResult: TModalResult;
procedure SetDefault(Value: Boolean);
procedure CMDialogKey(var Message: TCMDialogKey); message CM_DIALOGKEY;
procedure CMDialogChar(var Message: TCMDialogChar); message CM_DIALOGCHAR;
procedure CMFocusChanged(var Message: TCMFocusChanged); message CM_FOCUSCHANGED;
procedure CNCommand(var Message: TWMCommand); message CN_COMMAND;
procedure CNCtlColorBtn(var Message: TWMCtlColorBtn); message CN_CTLCOLORBTN;
procedure WMEraseBkgnd(var Message: TWMEraseBkgnd); message WM_ERASEBKGND;
protected
procedure CreateParams(var Params: TCreateParams); override;
procedure CreateWnd; override;
procedure SetButtonStyle(ADefault: Boolean); virtual;
public
constructor Create(AOwner: TComponent); override;
procedure Click; override;
function UseRightToLeftAlignment: Boolean; override;
published
property Action;
property Anchors;
property BiDiMode;
property Cancel: Boolean read FCancel write FCancel default False;
property Caption;
property Constraints;
property Default: Boolean read FDefault write SetDefault default False;
property DragCursor;
property DragKind;
property DragMode;
property Enabled;
property Font;
property ModalResult: TModalResult read FModalResult write FModalResult default 0;
property ParentBiDiMode;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ShowHint;
property TabOrder;
property TabStop default True;
property Visible;
property WordWrap;
property OnClick;
property OnContextPopup;
property OnDragDrop;
property OnDragOver;
property OnEndDock;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnKeyDown;
property OnKeyPress;
property OnKeyUp;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnStartDock;
property OnStartDrag;
end;
بعضی از خواص رو اینجا نمیبینید چون از کلاس بالاتر مشتق شده .
خوب هر کسی چیزی که میداند توضیح بدهد.
موفق باشید. :)

JavanSoft
پنج شنبه 28 خرداد 1383, 20:04 عصر
ممنون از براه انداختن این بحث
ایا بهتر نیست تکنکها را روی ابزار بررسی کنیم ؟

nasr
شنبه 30 خرداد 1383, 10:06 صبح
از اینکه آقای Javan_Soft هم به ما پیوست خوشحالم


کنون وقت کاراست و گفتار نیست دو صد گفته چو نیم کردار نیست.

عالیه

قوانینش همه خیلی خوبه :موافق:

:flower: :flower: :flower: :flower: :flower:

nasr
شنبه 30 خرداد 1383, 12:29 عصر
سلام

MainMenu

برای قرار دادن منو در برنامه از این کامپوننت می شه استفاده کرد برای هر منو می توان کلید های ShortCut قرار داد با این عکس فکر کنم توضیحات تقریبا کامل می شه

JavanSoft
شنبه 30 خرداد 1383, 13:17 عصر
این روش خیلی خوبه

nasr
شنبه 30 خرداد 1383, 13:49 عصر
سلام

آقای Javan_Soft شما که اطلاعاتتون در مورد دلفی خوبه پس

کنون وقت کاراست و گفتار نیست دو صد گفته چو نیم کردار نیست. :wink:

البته شوخی کردم همین که راهنمایی می فرمایید ممنون :flower:

Pichidehtarin
شنبه 30 خرداد 1383, 15:15 عصر
با سلام

فکر کنم منوهای رادیویی تو MainMenu یادتون رفته باشه بهتره همون عکس رو جایگذین کنین .

Pichidehtarin
شنبه 30 خرداد 1383, 15:19 عصر
بنظرم اگه دو تا شیوه مذکور رو باهم ترکیب کنین چیزه بهتری حاصل بشه .

چون شیوه دوم برای Component های پیچیده تر جواب نمیده و باید یه سری مطالب برای حرفه ای ها هم داشته باشه .

nasr
شنبه 30 خرداد 1383, 16:51 عصر
شیوه دوم برای Component های پیچیده تر جواب نمیده و باید یه سری مطالب برای حرفه ای ها هم داشته باشه

حالا ما راحتها را شروع کردیم

فعلا در قسمت پلت استاندارد هستیم

هرکس هرچیزی به نظرش می رسه بنویسه دیگه بابا گیر ندید به نوعش شما فقط بنویسید :lol:

آفرین

nasr
شنبه 30 خرداد 1383, 17:34 عصر
سلام

PopupMenu
کار این کامپوننت شبیه به همون MainMenu می باشد با این تفاوت که با کلیک راست کردن ظاهر می شود

برای هر شیئی در برنامه نیز می توان یک PopupMenu جدا گانه ساخت

موفق باشید

nasr
شنبه 30 خرداد 1383, 17:36 عصر
سلام

Label

همانطور که از اسمش پیداست برای قرار دادن یک برچسب روی اشیا در برنامه استفاده می شود

موفق باشید