دانلود فایل آموزش دلفی مقدماتی

 

آموزش مقدماتی دلفی

 

 

 آموزش دلفی مقدماتی ( بحث تا معرفی تابع ها )

جلسه اول

دلفی چیست ؟

 

دلفی منبع عظیمی از توانائی و ابزارهای برنامه نویسی تحت ویندوز است. همه نقطه ضعفهای موجود در زبانهای برنامه نویسی تحت ویندوز، در دلفی پوشانده شده است. دلفی مجموعه قدرتمندی از تسهیلات طراحی و ایجاد برنامه بهمراه سرعت بالا ارائه می دهد.ا

وقتی از دید خاصی به زبانهای برنامه نویسی می نگریم، ملاحظه می کنیم دو نوع از این زبانها وجود دارد.ا

 

یک نوع ابزارهای خاص را برای توسعه سریع سیستمها فراهم کرده اند و نوع دیگر به شما اجازه می دهد به هر چیزی روی ماشین دسترسی داشته باشید.ا

 

Paradox, Visual Basic, PowerBuilder, Visual Foxpro, Smalltalk نمونه ای از نوع اول هستند.

C++, Turbo Pascal, Delphi مثالهائی از نوع دوم هستند.

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

 

راستش من علاوه بر دلفی به سی هم علاقه دارم که هرکدام مزایایی برای خود دارند.

کاربرد دلفی خیلی ساده است.

با دلفی می توانید به سرعت برنامه کاربردی ایجاد کنید.

با بکارگیری عبارات و دستورات دلفی به سادگی خواندن و نوشتن متون انگلیسی است.

 

اما مزایای سی

فوق العاده انعطاف پذیر است.

تقریبا کنترل خوبی بر تمام جنبه های محیط برنامه نویسی دارد.

پتانسیل خوبی برای کار روی زیر ساختهای گوناگون دارد.

هسته اصلی روشهای برنامه نویسی شی گرا در دلفی نهفته است. من معتقدم که مفهوم شی گرا، در دلفی کاملتر از سی است.

زبان دلفی آنقدر ساده است که می توان اصول آنرا در عرض چند ساعت فرا گرفت، چند هفته برای یاد گرفتن کلیات این زبان کافی است و زمان سه ماه برای فراگرفتن اکثر مهارتهاجهت ایجاد برنامه های کاربردی کافی است. متخصص و متبحر شدن در دلفی مثل زبانهای دیگر به زمان و تجربه زیادی نیاز دارد و شاید صرف دو سال وقت نیاز باشد.

رقابت بیشتر دلفی با نرم افزارهای تولیدی شرکت مایکروسافت که تحت عنوان Visual Studio به بازار عرضه میشود ، می باشد و این به خاطر آن است که این نرم افزارها اصولا با ویندوز شرکت مایکرو سافت ارتباط و هماهنگی زیادی دارند. اما دلفی نشان داده است که نه تنها ارتباط آن با ویندوز مشکل نیست ، بلکه خیلی راحت تر میتوان با ویندوز ارتباط برقرار کرد و برنامه های خود را با سازگاری بیشتری با ویندوز ، بنویسیم.

 

برنامه نویسی با دلفی :

برنامه نویسی با دلفی همانند برنامه نویسی با سایر نرم افزارها می باشد با این تفاوت که نوع توابع و عناصر و نحوه ی کاربرد آنها در دلفی متفاوت است. یک برنامه ی دلفی تشکیل شده است از :

 

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

 

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

 

انواع داده ها : از جنبه های مهم هر زبان برنامه نویسی که باید مورد بررسی قرار بگیرد ، انواع داده ها در آن می باشد که مطابق با دا ده ها و اطلاعات مورد نیاز ما باشد. ( در ادامه به طور مفصل توضیح خواهیم داد)

 

تابع ها و دستورالعملها : هر زبان برنامه نویسی تابعها و دستورالعملهای مخصوص به خود را دارد ولی اصول کار بیشتر آنها و هدف استفاده از آنها در واقع یکی است.

 

یک نکته ی کلیدی : « بهترین برنامه نویس کسی است که پایه ی خود را در طراحی الگوریتم قوی سازد. »

 

   

جلسه دوم

انواع داده ها در دلفی :

انواع صحیح : اعدادی بدون نقطه و اعشار را شامل میشوند.

انواع حقیقی: میتواند اعداد با نقطه و اعشار را شامل باشد.

انواع بولی : انواع بولی بسیار ساده ولی پرکاربرد است. اینها مقادیر درست(true) و نادرست (false) را بیان میکنند.

 

انواع کاراکتری برای ذخیره کاراکترهایی مثل 'A' و 'B' و '*' و 'x' و غیره به کار میروند.

نوع رشته ای: برای ذخیره ی رشته ها مثل اسامی و... به کار می روند. رشته ها می توانند تا 255 کاراکتر را در خود ذخیره کنند ولی چنانچه در ابتدای برنامه از راهنمای { +H $ } استفاده شود ، طول رشته می تواند بسیار زیاد تا حدود 3 گیگا بایت باشد.

 

جلسه سوم

متغیرها:

متغیرها نامهایی برای کلمات حافظه اند و محتویات آنها ممکن است در طول اجرای برنامه تغییر کند. برای نامگذاری متغیرها ، ترکیبی از حروف A تا Z , ارقام و خط ربط (-) استفاده می شود.

* نکته : دقت داشته باشید در نامگذاری متغیرها ، تفاوتی بین حروف کوچک و بزرگ نیست.

تعریف متغیرها :

منظور از تعریف متغیرها ، انتخاب نام و تعیین نوع آنهاست. در تعریف متغیرها از کلمه ی کلیدی Var استفاده می شود.

Var

;نوع آن : نام متغیر

 

مثال :

 

Var x: integer ;ch : char; f : real; st: string;

 

ما در این مثال چهار متغیر را هم زمان تعریف کرده ایم.

 

در مثال بالا ، متغیر x از نوع صحیح ، ch از نوع کاراکتر ، f از نوع حقیقی و st از نوع رشته ای تعریف شده است.

مقدار دادن به متغیرها :

به دو صورت می توان به متغیرها مقدار داد :

 

u استفاده از دستور انتساب که با =: انجام می شود.

 

v با استفاده از دستورات ورودی.

 

مثال : برای متغیرهایی که در مثال بالا تعریف کردیم :

x:15 ; ch:='a'; f:= 15.51; st:= ' Ali';

 

ثوابت :

ثوابت مقادیری هستند که در برنامه وجود دارند و در طول برنامه تغییر نمی کنند . برای تعریف ثوابت از کلمه کلیدی Const استفاده می شود :

 

Const

مقدار = نام ثابت ;

 

 

عملگرها :

عملگر (Operator) نمادی است که عمل خاصی را انجام می دهد .

 

1 ) محاسباتی : (+ , - , * , / , div , mod) .

2 ) منطقی : (not , and , or , xor) .

 

*** عملگر not ارزش عملوندش را نقیض می کند . حاصل کار and وقتی ارزش درستی دارد که هر دو عملوند ارزش درستی داشته باشند. حاصل کار or وقتی نادرست است که هر دو عملوند ارزش نادرست داشته باشند و در بقیه حالات ارزش درستی دارد وحاصل xor وقتی ارزش نادرستی دارد که هردو عملوند یا ارزش درستی داشته باشند و یا ارزش نادرستی .

 

3) بیتی : [(not=نقیض) ، (and=و) ، (or=یا) ، (xor=یای انحصاری) ، (shl=شیفت به چپ) ، (shr=شیفت به راست) ]

این عملگرها بیت به بیت بر روی عملوندهایشان عمل می کنند . بیت صفر دارای ارزش نادرستی و بیت یک دارای ارزش درستی است .

 

4 ) رابطه ای : (< , => , > , =< , = , <> , (in=عضویت : در مجموعه ها تشریح می شود)).

 

 

توابع TypeCasting (تبدیل نوع) است. TypeCasting یعنی تبدیل یک نوع داده به نوع دیگر.

شما هر نوع داده ای را میتوانید به نوع دلخواه تبدیل کنید به شرطی که نوع داده مبدا با داده مقصد سازگاری داشته باشد.

در اینجا تعدادی از توابع TypeCasting مهم شرح داده میشوند.

 

String TypeCasting :

 

: شرح

یک رشته را دریافت میکند و به یک مقدار عددی صحیح تبدیل میکند StrToInt()

یک مقدار رشته ای را به مقدار منطقی تبدیل میکند StrToBool()

تبدیل می کند BCD یک مقدار رشته ای را به کد پیچ StrToBCD()

تبدیل می کند Currency یک مقدار رشته ای را به StrToCurr()

یک مقدار رشته ای را به تاریخ تبدیل میکند StrToDate()

یک مقدار رشته ای را به مقدار عددی اعشاری تبدیل میکند StrToFloat()

یک مقدار رشته ای را به مقدار عددی صحیح بلند تبدیل میکند StrToInt()

یک مقدار رشته ای را به زمان تبدیل میکند StrToTime()

 

Float TypeCasting :

 

شرح:

 

تبدیل می کند Currency یک مقدار عدد اعشاری را به FloatToCurr()

یک مقدار عددی صحیح را به رشته تبدیل میکند FloatToStr()

 

Integer TypeCasting :

 

شرح :

 

یک مقدار عددی صحیح را دریافت میکند و به یک رشته تبدیل میکند IntToStr()

یک مقدار یک عددی صحیح را به مقدار مبنای 16 تبدیل میکند IntToHex()

 

Other TypeCastings :

 

یک مقدار تاریخ را به رشته تبدیل میکند DateToStr()

یک مقدار زمان را به رشته تبدیل میکند TimeToStr()

 

 

جلسه چهارم

 

کامپوننت (کنترل) چیست ؟

کد نویسی هنر یک برنامه نویس است. ولی گاهی اوقات انجام یک پروژه بزرگ نیاز به کدنویسی زیاد و غالبا تکراری دارد که اینجا دیگه هنر برنامه نویس این است که بتواند از کدهای از پیش نوشته خود کمال استفاده را ببرد.

برنامه نویسان بزرگ برای این که کار دیگر برنامه نویسان را از بابت کدنویسی های زیاد و تکراری راحت کنند ،اقدام به جمع آوری تمام کدهای مربوطه برای انجام یک کار ، می کنند که در اصطلاح برنامه نویسی به این مجموعه ها کامپوننت گفته میشود.

 

طریقه نصب کامپوننت :

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

 

1- نصب و کامپایل فایلهائی که از نوع pas. هستند. برای نصب این نوع کامپوننت باید این مسیر رو دنبال کنید:

Component-> Install Component

 

2 - نصب فایل ocx. (تمامی این فایلها خاصیت نصب رو دارند) و برخی از فایلهای dll. که به روشی خاص کامپایل شده اند. برای نصب این نوع کامپوننت این مسیر رو دنبال کنید:

Component-> Import AxtiveX Control

 

3 - نصب فایل bpl. ، که برای نصب این نوع کامپوننت باید این مسیر رو دنبال کنید:

Componet-> Install Packages

 

4- اجرای فایل باپسوند DPK.

 

هر یک از کنترل ها دارای ویژگی هایی است که مشتمل بر [خواص ، متدها و رویدادها] می باشد .

- خواص مربوط به تنظیمات ظاهری و اجرایی هر کنترل می باشد .

- متدها دستوراتی است که بوسیله آن عملیاتی بر روی کنترل ها و برنامه اجرایی اعمال می شود .

- رویدادها دستوراتی است که در نتیجه تغییرات بر روی کنترل فراخوانی و انجام می شود .

 

** قبل از هر چیز به خواص و متدها و رویدادهای یک فرم می پردازیم :

ActiveControl = این خاصیت تعیین می کند که با فعال شدن فرم کدام کنترل بر روی فرم دارای فوکوس باشد .

Align = موقعیت و اندازه فرم را در هنگام نمایش دادن فرم نشان می دهد .[اگر این خاصیت بر روی alTop تنظیم شود در هنگام اجرا فرم در قسمت بالای صفحه نمایش و عرض آن تمام عرض صفحه را می پوشاند .]

AutoScroll = این خاصیت میله های مرورگر بر روی فرم را کنترل می کند .[در صورتی که این خاصیت بر روی True تنظیم شود در صورتی که اندازه فرم برای نمایش همه کنترل ها کوچک باشد میله های مرورگر بطور اتوماتیک نمایش داده می شوند .]

AutoSize = این خاصیت بیشتر در موقع طراحی برنامه عمل می کند به صورتی که طول و عرض فرم را به وسیله کنترل های موجود بر روی فرم تنظیم می کند .

BiDiMode = این خاصیت برای ترازبندی کنترل ها و متن و خاصیت کپشن فرم به کار می رود .[در صورتی که بر روی bdLeftToRight تنظیم شود ترازبندی از طرف چپ به راست فرم انجام می شود .]

BorderIcon = این خاصیت تعیین می کند که در زمان اجرا کدام دکمه های سیستم روی فرم ظاهر شوند .[این گزینه ها شامل منوی سیستم ، دکمه به حداقل رساندن ، دکمه به حداکثر رساندن و دکمه راهنما می باشد .]

BorderStyle = این خاصیت نوع لبه فرم را نشان می دهد . مقدار پیش فرض bsSizeable است که پنجره با قابلیت تغییر اندازه می باشد و مقادیر bsDialog و bsNone مربوط به پنجره هایی است که نمی توان اندازه آنها را تغییر داد .

BorderWidth = پهنای لبه های فرم را بر حسب پیکسل مشخص می کند .

Caption = متن عنوان فرم را مشخص می کند . این خاصیت در موقع تغییر آن عمل می کند و عنوان فرم را با متن جدید نشان می دهد .

ClientWidth و ClientHeight = با استفاده از این دو خاصیت می توان طول و عرض ناحیه کاری را مشخص نمود(منظور از ناحیه کاری فرم ، ناحیه‎ای داخل کادر است که زیر نوار منو قرار دارد) تنظیم این دو خاصیت منجر به تغییر اتوماتیک خواص Width و Height می گردد .

Color = رنگ سطح روی فرم را مشخص می کند . مقدار پیش فرض clBtnFace می باشد که رنگ سطح فرم را مطابق با رنگ تنظیمی پنجره های ویندوز مشخص می کند .

Constraints = این خاصیت برای تعیین حداکثر و حداقل طول و عرض فرم به کار می رود . با مقدار دادن به هر یک از خواص زیر مجموعه این خاصیت [MaxHeight , MinHeight , MaxWidth , MinWidth] اندازه فرم به این مقادیر محدود می شود .

Cursor = شکل اشاره گر ماوس را هنگامی که ماوس بر روی فرم حرکت می کند مشخص می کند .

DefaultMonitor = این خاصیت در یک محیط با چند مانیتور مثل ویندوز 98 تعیین می کند که فرم روی کدام مانیتور نمایش داده شود .

DockSite = این خاصیت مشخص می کند که فرم به صورت یک ظرف برای کنترل های جمع شدنی عمل کند .

Enabled = این فرم مشخص می کند که فرم در هنگام اجرا فعال باشد یا خیر .

Font = این خاصیت، فونت استفاده شده در فرم را تعیین می کند . مورد مهمی که باید به آن توجه کرد این است که کنترل- های روی فرم ، فونت آن را به ارث می برد .

FormStyle = این خاصیت وضعیت و نوع فرم را مشخص می کند . مقدار پیش فرض آن fsNormal است که فرم حالت عادی خود را دارد . با مقدار fsStayOnTop فرم همیشه روی صفحه قرار می گیرد .فرم های MDI باید روی fsMDIForm و فرم های فرزند MDI روی fsMDIChild تنظیم شوند .

Height = اندازه ارتفاع و عرض فرم را تنظیم می کند .

Hint = متن اشاره کوتاه (ToolTip) را مشخص می کند .

HorzScrollBar و VertScrollBar‌ = این خواص مقادیر خاص خودشان را برای کنترل عملیات میله مرور تنظیم می کند .

Icon = وقتی فرم در زمان اجرا نمایش داده شود و نیز وقتی که فرم به حداقل اندازه برسد شمایلی روی نوار عنوان مشخص می شود که این شمایل با این خاصیت مشخص می گردد .

 

 

جلسه پنجم

 

ادامه خواص فرم :

 

KeyPerview : اگر مقدار این خاصیت برابر True باشد از آن پس اکثر ضربه های کلید به جای آنکه ابتدا توسط عنصری که فوکوس روی آن است پردازش شود توسط رویدادهای مربوط به کلیدهای فرم پردازش می شود .

Left : این خاصیت مقدار تو رفتگی از سمت چپ صفحه نمایش را برای فرم تنظیم می کند .

Menu ‌: این خاصیت وقتی به کار می رود که یک نوار منو در بالای فرم خود ایجاد کنید و با استفاده از تنظیم خواص موجود در آن تنظیمات مربوط به منو انجام می گیرد . در ضمن در هنگامی که یک منو ایجاد شود به صورت اتوماتیک این خاصیت با نام منو تنظیم می شود . همچنین با استفاده از این خاصیت می توان مشخص کرد در موقعی که چند منو در فرم موجود است کدام نمایش داده شوند .

Name : با استفاده از این خاصیت می توان نامی برای فرم برای کار بر روی آن و دسترسی به آن در کدهای برنامه در نظر گرفت

ObjectMenuItem : این خاصیت لیستی از آیتم های موجود در منوی بالای فرم را نمایش می دهد .

ParentFont : این خاصیت تعیین می کند ، خاصیت رنگ فرم ، از رنگ تعریف شده در خاصیت رنگ خودش استفاده کند یا از همان رنگی که دلفی برای آن تعریف کرده (Parent) .

PixelsPerInch : این خاصیت مشخص می کند هر اینچ از فرم از چند پیکسل تشکیل شده است .

PopupMenu : این خاصیت برای تعیین منوی شناور (PopupMenu) استفاده می گردد که در فرم ظاهر می شود .

Position : این خاصیت راهی آسان برای تنظیم موقعیت مکانی فرم به دست می دهد .(poDesigned = فرم را در همان مکانی که در زمان طراحی مشخص ساخته اید قرار می دهد -- poScreenCenter = فرم را در مرکز صفحه نمایش کاربر قرار می دهد -- poDefaultPosOnly = باعث می‎شود که ابعاد فرم همان ابعادی باشد که تنظیم شده است ولی محل آن را دلفی تعیین می کند -- poDefaultSizeOnly = باعث می شود که مکان فرم همان جایی باشد که در موقع طراحی مشخص گردیده اما دلفی ابعاد آن را تغییر می دهد )

PrintScale : این خاصیت عمل چاپ اطلاعات روی یک فرم را آسان میسازد .(poNone = هیچگونه بزرگنمایی صورت نخواهد پذیرفت -- poPropotional = دلفی فرم به گونه‎ای مقیاس ‎بندی کرده تا اطلاعات چاپ شده و اطلاعاتی که دیده می‎شود ابعاد یکسانی داشته باشند --- poPrintToFit =مقیاس‎بندی طوری انجام می شود که فرم با اندازه صفحه چاپ هماهنگ باشد )

Scaled : اگر مقدار این خاصیت True باشد خاصیت PixelsPerInch عمل می نماید .

ShowHint : این خاصیت برای فعال کردن خاصیت Hint به کار می رود . اگر مقدار خاصیت برابر True باشد خاصیت Hint فعال است .

Tag :‌ از این خاصیت برای نگهداری عددی صحیح استفاده می شود که اطلاعاتی راجع به آن فرم است .

Top‌ : این خاصیت فاصله فرم با بالای صفحه نمایش را به پیکسل تعیین می کند .

VertScrollBar : این خاصیت برای تعیین نوع ScrollBar عمودی استفاده می شود .

|

|__ ButtonSize : این خاصیت اندازه کلید را تعیین می کند .

|__ Increment : این خاصیت مشخص می کند که اگر کاربر ScrollBar‌ را کلیک کند مکان نمای ماوس چقدر حرکت کند .

|__ Margin : فاصله ScrollBar را با عناصر فرم به پیکسل مشخص می کند .

|__ Psition : تعیین می کند شیء ScrollBar در کجا نمایش داده شود .

|__ Range : تعیین می کند نوار جابجایی (ScrollBar) در کجا نمایش داده شود .

|__ Visible : ‌این خاصیت برای قابل رؤیت بودن نوار جابجایی استفاده می شود .

 

Visible : اگر مقدار این خاصیت True ‌باشد فرم قابل رؤیت است در غیر اینصورت فرم غیرقابل رؤیت است .

Width‌ : این خاصیت عرض فرم را با حاشیه آن به پیکسل مشخص می کند .

WindowState : این خاصیت اندازه فرم را مشخص می کند .(wsNormal=در این حالت فرم به صورت حداقل و حداکثر نمی باشد -- wsMaximized , wsMinimized= به ترتیب مشخص می کنند که فرم به صورت حداقل و حداکثر نمایش داده شود)

 

*** کلیه خواص را می توان در حین اجرای برنامه نیز تنظیم کرد :

 

Form1.Caption := 'My Program' ; Form1.Width := 150 ; Form1.Visible := False ; Form1.Position := wsMaximized ; Form1.BorderIcons.biMaximize := False ;  

 

* توجه داشته باشید که برای مقدار دادن به خواص با استفاده از کد باید بعد از نام فرم یا عنصر از یک نقطه و نام خاصیت موردنظر سپس علامت =: و در نهایت مقدار خاصیت را با توجه به نوع آن نوشته می شود .

* برای مقادیر رشته‎ا باید از یک جفت '' استفاده کرد .

 

 

جلسه ششم

 

در این جلسه به بررسی رویدادهای مربوط به یک فرم می‎پردازیم :

 

برای انتخاب یک رویداد از پنجره Object Inspector قسمت Events را انتخاب کنید تا لیستی از رویدادها ظاهر شوند .

 

OnActivate : زمانی که مکان نما به فرم منتقل می شود این رویداد فراخوانی می گردد .(زمانی که فرم فعال می شود)

OnClick : هنگامی که کاربر ناحیه خالی فرم را با ماوس کلیک می کند فراخوانی می شود .

OnCloseQuery : در موقعی که کاربر سعی بر بستن فرم را داشته باشد این رویداد فراخوانی می شود . [با استفاده از این رویداد می توان از بستن فرم جلوگیری کرد]

OnClose : این رویداد پس از رویداد OnCloseQuery فراخوانی شده و هنوز می توان با استفاده از این رویداد از بستن فرم جلوگیری کرد .

OnCreate : این رویداد در زمان ایجاد شدن فرم فراخوانی می گردد . با استفاده از این رویداد می توان خواص اولیه فرم و عناصر بر روی آن را تنظیم کرد .

OnDblClick : هنگامی که کاربر در ناحیه خالی فرم ماوس را دو بار کلیک کند ، این رویداد فراخوانی می شود .

OnDeactivate : موقعی که کاربر به یک برنامه دیگر یا فرمی دیگر سوئیچ کند این رویداد فراخوانی می شود .[زمانی که فرم غیرفعال می شود]

OnDestroy : این رویداد زمان حذف فرم فراخوانی می شود . پس از فراخوانی این رویداد تمام منابع اشغال شده توسط دلفی آزاد می شود .

OnDragDrop : زمانی که یک عنصر با ماوس در فرم قرار می گیرد این رویداد فراخوانی می شود .

OnDragOver : موقعی که عنصر روی فرم حرکت کند این رویداد فراخوانی می شود .

OnHide : این رویداد در زمان مخفی شدن فرم اتفاق می افتد .

OnKeyDown : زمانی که کاربر یکی از کلیدهای صفحه کلید (به جز Alt,Shift,Insert) را پایین نگه دارد ، این رویداد فراخوانی می شود .

OnKeyPress : موقعی که که کلیدی از صفحه کلید فشرده شود فراخوانی می شود . این رویداد شامل کلیدهای Alt,Shift,Insert نمی باشد .

OnKeyUp : این رویداد هنگام رهاشدن کلیدِ فشرده شده فراخوانی می شود .

OnMouseDown : وقتی یکی از کلیدهای ماوس فشار داده شود این رویداد فراخوانی می شود .

OnMouseMove : هنگامی که اشاره‎گر ماوس روی فرم حرکت می کند ، این رویداد فراخوانی می گردد .

OnMouseUp : زمانی که کاربر کلید فشرده شدة ماوس را رها می کند این رویداد فراخوانی می شود .

OnPaint : اگر در زمان بازیابی مجدد فرم ، اطلاعات آن پاک شده باشد ،این رویداد فراخوانی می گردد .

OnResize : وقتی کاربر اندازه فرم را تغییر می دهد این رویداد فراخوانی می گردد . می توان در روال پاسخگویی این رویداد ، کدی قرار داد تا عناصر روی فرم تغییر اندازه یا تغییر محل بدهند .

OnShow : این رویداد قبل از ظاهر شدن فرم فراخوانی می شود .

* مثال :

 

procedure TForm1.FormCreate(Sender: TObject); begin           Form1.Caption := 'My Program With Delphi ... ' ;           Form1.Width := 150 ;           Form1.Top := 250 ; end;  

 

**>> این مثال رویداد OnCreate فرم را فراخوانی کرده و زمانی که فرم ایجاد می شود خواص مربوط به آن را تنظیم می کند .

** توجه داشته باشید که انتهای هر خط از برنامه باید از ; استفاده کرد و روالهایی با بیش از یک خط کد را باید درون یک بلوک Begin و ;End قرار داد .

 

* مثال :

 

procedure TForm1.FormResize(Sender: TObject); begin           label1.Left := Label1.Left + 50 ;           Label1.Caption := 'Form Resizing Now ...' ; end;  

 

**>> این مثال در موقع تغییر اندازه فرم فرم مقدار خاصیت Left عنصر Label1 را به مقدار 50 افزایش می دهد . سپس خاصیت Caption آن را با مقدار مورد نظر تنظیم می کند .

 

 

جلسه هفتم

 

در این جلسه به بررسی برخی از متدهای یک فرم و کاربرد آنها می پردازیم :

 

متد :

متدها عملیاتی هستند که به صورت زیر برنامه نوشته می شوند و برای کنترل اشیاء مورد استفاده قرار می گیرند .

 

کاربرد متدها به صورت زیر است :

نام متد . نام عنصر

 

**********

Create : با استفاده از این متد می توان ، در زمان اجرا عنصری را ایجاد کرد .

Show : این متد عنصر پنهان شده را قابل رؤیت می کند . به عنوان مثال Form1.Show عنصر Form1 را از حالت پنهان خارج می کند .

Hide : با استفاده از این عنصر می توان عنصری را غیرقابل رؤیت نمود .

Focused : این متد یک مقدار بولی(True,False) را بر میگرداند که مشخص می کند محتویات درون عنصر انتخاب شده (فوکوس) است یا خیر .

SetFocus : از این متد برای انتخاب محتویات داخل یک عنصر استفاده می شود . به عنوان مثال Edit1.SetFocus متن داخل عنصر Edit1 را انتخاب می کند .

Destroy : با استفاده از این متد می توان یک عنصر را در حین اجرای برنامه از بین برد .

Clear : این متد برای عناصری که در مورد متن کار میکنند به کار می رود و باعث پاک شدن محتویات متن عنصر می شود .

ScaleBy : با استفاده از این متد می توان ابعاد عناصر را تغییر داد :

 

Button1.ScaleBy(4,2) ;

 

==> این دستور عنصر Button1 را دو برابر می کند.(در این متد عدد اول صورت کسر بزرگنمایی و عدد دوم مخرج کسر را مشخص می کند)

Terminate : این متد موجب خاتمه دادن به اجرای برنامه می شود . دستور Application.Terminate اجرای برنامه جاری را خاتمه می دهد .

Refresh : این متد هر تصویری که روی صفحه نمایش باشد آنها را پاک کرده و دوباره عناصر را رسم می کند .

 

*در مورد بقیه متدها در جای خود توضیح داده می شود .*

 

در این قسمت به بررسی خواص و رویدادهای برخی عناصر پر کاربرد می پردازیم :

 

ابتدا به عناصر موجود در صفحه Standard پرداخته می شود :

 

عنصر TLabel (برچسب) :

این عنصر برای نمایش متن روی فرم یا عناصر دیگر به کار می رود . این متن را کاربر نمی تواند تغییر دهد .

خواص ==>>

Align : این خاصیت برای تراز بندی عنصر بر روی فرم و نحوه قرارگیری آن به کار می رود .( alClient= موجب می شود عنصر تمام سطح روی فرم را دربرگیرد -- alButtom = عنصر را به همان ارتفاع تنظیمی ولی در قسمت پایین فرم و با هم عرض فرم قرار می دهد -- alLeft = عنصر را با عرض تنظیمی در قسمت چپ فرم هم ارتفاع فرم قرار می دهد و ...)

Alignment : این خاصیت برای تراز متن درون برچسب به کار می رود .(taCenter = متن را در وسط قرار می دهد -- taLeftJustfy = متن را در سمت چپ قرار می دهد -- taRightJustfy = متن را در سمت راست برچسب قرار می دهد )

 

 

 

جلسه هشتم

 

ادامه خواص شیء TLabel(برچسب) :

 

AutoSize : این خاصیت در موقع تغییر کپشن برچسب عمل می کند و موجب می شود که برچسب به اندازه مورد نیاز برای متن تغییر اندازه دهد .

Caption : این خاصیت مقدار متن نمایشی توسط برچسب را تنظیم می کند .

Enabled : این خاصیت برای فعال و غیرفعال کردن برچسب می باشد .

Layout : از این خاصیت برای ترازبندی عمودی متن موجود در خاصیت کپشن استفاده می شود . [به عنوان مثال اگر بر روی tlCenter تنظیم شود متن در میان قرار می گیرد.]

ParentBiDiMode : این خاصیت مشخص می کند که آیا برچسب خاصیت ترازبندی خود را از شیء پدر (فرم) به ارث ببرد یا خیر .

ParentColor , ParentFont , ParentShowHint : این خواص نیز مقدار رنگ و فونت و خاصیت ShowHint‌ برچسب را با توجه به شیء پدر (فرم) تنظیم می کند .

Transparnet : اگر مقدار این خاصیت True‌ باشد ، در مواقعی که کارهای گرافیکی انجام می دهیم می توان تصویر را در زیر برچسب قرار دهیم .

WordWrap : این خاصیت در موقع True بودن موجب می شود که در انتهای هر خط برچسب به جای اینکه متن به طور افقی گسترش یابد به خط بعدی انتقال یابد .

---------------------------

عنصر TEdit :

با استفاده از این عنصر می توان متن را از ورودی خواند یا در خروجی چاپ کرد .

 

خواص ==>>

AutoSelect : این خاصیت موجب می شود هرگاه مکان‎نما در عنصر TEdit قرار گیرد متن موجود در آن به طور خودکار انتخاب گردد .

BevelEdges , BevelInner , BevelKind , BevelOuter : این خواص مربوط به تنظیمات شکل و قیافه عنصر TEdit می باشد . با تغییر این خواص در شکل لبه ها و تورفتگی های و ... عنصر تغییراتی اعمال می شود .

BorderStyle : از این خاصیت برای تنظیم نوع لبه های عنصر استفاده می شود . [لبه دار باشد یا خیر]

CharCase : با تنظیم این خاصیت می توان به کاربر اجازه ورود حروف کوچک [ecLowerCase] ، حروف بزرگ [ecUpperCase] و ترکیبی از حروف بزرگ و کوچک [ecNormal] را بدهید .

Ctl3D : این خاصیت مشخص می کند که آیا عنصر به صورت سه بعدی نمایش داده شود یا خیر .

MaxLength : این خاصیت برای تعیین حداکثر طول متنی که کاربر می تواند وارد نماید به کار می رود .

PasswordChar : از این خاصیت برای رمزدار کردن نمایش کاراکترهای ورودی استفاده می شود . اگر مقدار آن غیر از کاراکتر 0# باشد کاراکترهای وارد شده توسط کاربر پنهان شده و همان کاراکتری را که در این خاصی قرار داده شده نمایش داده می شود .

ReadOnly : این خاصیت برای تعیین اینکه آیا متن موجود در عنصر قابل ویرایش باشد یا خیر استفاده می شود .

TabOrder : این خاصیت تعیین می کند که با چندمین فشردن کلید tab مکان‎ نما به این عنصر انتقال یابد .

Text‌ : مقدار این خاصیت متن داخل عنصر TEdit را مشخص می کند .

رویدادهای شیء TEdit‌ ==>>

 

OnChange : این رویداد در موقع تغییر متن داخل عنصر فراخوانی می شود .[در موقعی که کاربر سعی در تغییر متن باشد]

OnEnter : در موقعی که فوکوس به عنصر TEdit منتقل و یا عنصر فعال می شود این رویداد فراخوانی می شود .

OnExit : این رویداد در موقعی که مکان‎نما از شیء به شیء دیگر و یا فوکوس از این شیء به شیء دیگر انتقال داده شود فراخوانی می شود .

----------------------------

چند مثال از موارد بالا :

 

** استفاده از رویداد OnChange‌ شیء TEdit :

 

procedure TForm1.Edit1Change(Sender: TObject); begin           Label1.Caption := Edit1.Text ;           Form1.Caption  := Edit1.Text ; end;  

 

== در این مثال با تغییر متن داخل عنصر Edit1 خواص Caption فرم و عنصر Label1 با توجه به متن موجود در عنصر Edit1 تنظیم می شود .

 

** استفاده از رویداد OnEnter و OnExit :

 

 

procedure TForm1.Edit1Enter(Sender: TObject); begin           ShowMessage('You Enter To [' + Edit1.Name + ']') ; end;  

 

== این دستور موجب می شود وقتی مکان‎ نما به عنصر منتقل می شود پیغامی مبنی بر اینکه شیء دارای فوکوس شده نمایش داده می شود .

 

procedure TForm1.Edit1Exit(Sender: TObject); begin           ShowMessage('You Exit From [' + Edit1.Name + ']') ; end;  

 

== با این دستور در موقعی که فوکوس از عنصر برداشته می شود پیغامی ظاهر می شود .

 

**** توضیح تابع ShowMessage :

 

ShowMessage (Const Msg : String) ;

 

-- این تابع برای نمایش یک پنجره پیغام به کار می رود . آرگومان Msg که از نوع رشته ای تعریف شده متنی است که باید در پنجره پیغام نمایش داده شود که می تواند یک رشته در داخل یک جفت '' باشد یا متغیرهایی که از نوع String باشند .

 

 

جلسه نهم

 

عنصر TMemo‌ :

با استفاده از این عنصر می توان میتوان چند خطی را وارد و یا ویرایش کرد .

* برای عنصر TMemo محدودیتی برای تعداد خطوط نمی باشد و تعداد آن به ظرفیت دیسک سخت بستگی دارد .

 

خواص ==>

Lines : این خاصیت که بیشتر در موقع طراحی مورد استفاده قرار می گیرد برای کنترل محتویات و یا وارد کردن متن استفاده کرد .

ScrollBars : این خاصیت برای نمایش نوارهای پیمایش عمودی و افقی در عنصر TMemo به کار می رود .

WantReturns : با استفاده از این خاصیت می توان مشخص کرد که کاربر برای جداکردن خطوط از کلید Enter باید استفاده کند یا از کلیدهای Ctrl+Enter . [اگر مقدار آن True تنظیم شود برای جدا کردن خطوط از کلید Enter استفاده می شود]

WantTabs : این خاصیت مشخص می کند که کاربر با کلید Tab بین عناصر حرکت کند یا با کلید Ctrl+Tab .[در صورت True بودن با کلید Tab بین عناصر حرکت می شود]

 

برخی از توابع و متدهای کاربردی عنصر TMemo ==>

Clear : این متد برای پاک کردن محتویات داخل عنصر به کار می رود .

ClearSelection : از این متد برای پاک کردن محتویات انتخاب شده عنصر استفاده می شود .

ClearUndo : آخرین مقادیری را که از عنصر پاک شده است را بازمی گرداند .

SelectAll : تمام متن موجود در عنصر را انتخاب می کند .

Undo : آخرین تغییرات اعمال شده بر روی متن موجود در عنصر را بازیابی می کند .

CanUndo : این متد مشخص می کند که آیا خاصیت Undo (برگردان) فعال باشد یا خیر . [از خاصیت نیز می توان برای فهمیدن فعال و یا غیرفعال بودن خاصیت Undo نیز استفاده کرد]

Modified : این تابع مشخص می کند که آیا محتویات عنصر تغییر یافته است و یا خیر . [از این تابع می توان در موقع ذخیره کردن محتویات عنصر برای فهمیدن اینکه آیا محتویات تغییر یافته است یا خیر استفاده کرد]

Text : تمام متن داخل عنصر را مشخص می کند .

SelLength : با استفاده از این متد می توان تعداد کاراکترهای انتخاب شده عنصر را بدست آورد .

SelStart : این خاصیت شماره اندیس اولین کاراکتر انتخاب شده از کاراکترهای انتخابی را به ما می دهد .

SelText : این تابع متن انتخاب شده درون عنصر را برای ما بر می گرداند .

GetTextLen : با استفاده از این تابع می توان تعداد کل کاراکترهای موجود در عنصر را تعیین کرد .

Hide : از این تابع برای مخفی ساختن عنصر استفاده می شود .

Show : برای ظاهر ساختن عنصر از این تابع استفاده می شود .

 

-- چند متد برای کپی کردن و چسبانیدن محتویات عنصر TMemo با استفاده از حافظه ClipBoard :

CopyToClipBoard : این متد متن انتخاب شده درون عنصر را داخل حافظه ClipBoard کپی می کند .

CutToClipBoard : این متد متن انتخاب شده درون عنصر را داخل حافظه ClipBoard منتقل می کند .

PastFromClipBoard : با استفاده از این متد می توان اطلاعات موجود در ClipBoard را در جایی که در آن مکان‎ نما قرار دارد ، کپی کرد .

 

-- چند متد برای ذخیره و بازیابی اطلاعات عنصر TMemo درون فایل :

LoadFromFile : با استفاده از این متد می توان متنی را درون عنصر قرار داد . [توجه داشته باشید از این متد برای عناصری که لیستی از رشته ‎ها را دارا هستند ، نیز به کار می رود]

SaveToFile : از این متد برای ذخیره کردن محتویات عنصر درون یک فایل متنی استفاده می شود .

 

== کاربرد این دو متد برای عنصر TMemo به صورت زیر می باشد :

 

TMemoنام عنصر.Lines.LoadFromFile('نام و مسیر فایل مورد نظر ') ;

TMemoنام عنصر.Lines.SaveToFile('نام و مسیر فایل مورد نظر ') ;

 

 

جلسه دهم

 

/ 0 نظر / 82 بازدید