"> آمورش مقدماتی دلفی جلسه یازدهم | ام اس پی سافت

آمورش مقدماتی دلفی جلسه یازدهم

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

شرطی
تکرار
کنترل

۱- دستورات شرطی :
این دستورات با توجه به برقرار بودن و یا عدم برقراری یک شرط منطقی کاری را انجام می دهد . این دستورات شامل :
* if then … else که در جلسه قبل به طور کامل بحث شد .
* دستور case of که فرم کلی آن به صورت زیر می باشد :

case عبارت of
دستور ۱ : مقادیر۱ ;
دستور ۲ : مقادیر۲ ;
.
.
.
n دستور : n مقادیر ;
else
دستور
end ;

* این دستور عبارت مورد نظر را چک می کند با کدامیک از مقادیر ۱ تا n برابری دارد و با توجه به آن دستور مورد نظر را انجام می دهد در غیر اینصورت دستور قسمت else‌ را انجام می دهد .
* این دستور در مواقعی که بخواهیم با توجه به مقدار یک عبارت تنها یک عمل انجام شود به کار می رود و بهترین جایگزین برای if های تودرتو می باشد .
** نکات :
۱- دستور case می تواند بودن قسمت else ‌نیز باشد که در اینصورت شکل کلی به صورت زیر می باشد :

case عبارت of
دستور ۱ : مقادیر۱ ;
دستور ۲ : مقادیر۲ ;
.
.
.
n دستور : n مقادیر ;
end ;

۲- عبارت ارزیابی شونده باید از نوع مقادیر ترتیبی باشند به عبارت دیگر نمی توان از مقادیر اعشاری ، رشته ه‎ا و امثالی نظیر اینها استفاده کرد . مقادیر ترتیبی مورد استفاده می تواند از نوع صحیح و یا از نوع بولین باشد .
۳- در صورتی که بخواهیم بیش از یک دستور در هر یک از مقادیر ۱ تا n‌ اجرا شوند باید از بلوک begin و ;end استفاده شود .

============================
۲- دستورات تکرار :
هرگاه بخواهیم عمل و یا عملیاتی به تکرار در برنامه اجرا شوند از این دستورات استفاده می کنیم .
* for do : این دستور به دو صورت به کار می رود -» افزایشی ، کاهشی .
افزایشی : فرم کلی آن به صورت زیر می باشد :

for مقدار اولیه =: شمارنده to مقدار نهایی do
دستور ;

== این دستور با توجه به مقدار اولیه شمارنده و مقدار نهایی شمارنده دستورات را انجام می دهد . در هر بار اجرای حلقه یک واحد به شمارنده اضافه می شود و سپس برای اجرای بعدی چک می شود که آیا از مقدار نهایی کوچکتر مساوی هست یا خیر . در صورتی که مقدار شمارنده از مقدار نهایی بیشتر شود اجرای حلقه خاتمه پیدا می کند .
*** نکات :
۱- نوع شمارنده باید از نوع صحیح باشد .
۲- مقدار اولیه باسد از مقدار نهایی کوچکتر یا مساوی باشد در غیر اینصورت حلقه تکرار نمی شود .
۳- باید توجه داشت که مقدار شمارنده نباید در بدنه حلقه تغییر یابد .
۴- در صورتی که مقادیر اولیه و نهایی با یک متغیر مشخص می شود می توان آنها را در بدنه حلقه تغییر داد برای اینکه فقط مقادیرفقط یکبار ارزیابی می شوند .
۵- پس از خروج از حلقه مقدار شمارنده همان مقدار نهایی می باشد .
۶- در صورتی که بخواهیم بیش از یک دستور اجرا شود از بلوک ;begin … end استفاده می کنیم .

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

for مقدار اولیه =: شمارنده downto مقدار نهایی do
دستور ;

== این دستور در هر بار اجرا یک واحد از شمارنده کم می کند و سپس ارزیابی می کند که آیا از مقدار نهایی بزرگتر یا مساوی هست یا خیر .
نکته :
مقدار اولیه شمارنده باید از مقدار نهایی بزرگتر یا مساوی باشد در غیر اینصورت حلقه تکرار نمی شود .

For تودرتو : در این دستور از دو یا چند حلقه for‌ به صورت تودرتو استفاده می شود :
مثال :

for i := 1 to 10 do
begin
for j := 1 to 10 do
begin
.
.
end ;
.
.
end ;

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

۱. for i := 1 to 3 do
۲. for j := 1 to 3 do
۳. for m := 1 to 3 do
دستور ;

== برای اینکه حلقه شماره ۱ یکبار اجرا شود باید حلقه شماره ۲ یکبار به طور کامل اجرا شود و این در صورتی است که در هر بار اجرای حلقه ۲ حلقه ۳ یکبار به طور کامل اجرا شود . در اینصورت اجرای دستور به تعداد ۳×۳×۳ می باشد .

حلقه تکرار while : فرم کلی آن به صورت زیر می باشد :

while شرط do
begin
.
.
end ;

== در این دستور ابتدا شرط بررسی می شود و در صورت صحّت شرط بدنه حلقه اجرا می شود .
نکات :
* اجرای حلقه while‌ تا موقعی انجام می شود که شرط حلقه برقرار باشد .
* باید توجه داشت که در داخل بدنه حلقه شرط نقض شود در غیر اینصورت حلقه بینهایت اجرا می شود .
* از این دستور در مواقعی استفاده می کنیم که تعداد دفعات تکرار دستورات برای ما مشخص نباشد و یا بخواهیم دستورات با توجه به شرطی خاص انجام شوند .

حلقه تکرار repeat : فرم کلی آن به صورت زیر می باشد :

repeat
دستورات
until شرط ;

== هنگامی که کنترل اجرای برنامه به repeat‌ می رسد دستورات یکبار به طور کامل اجرا می شوند و با رسیدن به until‌ شرط تست می شود و در صورت نادرستی شرط اجرای دستورات تکرار می شود .
نکات :
* در این دستور ابتدا دستورات یکبار به طور کامل اجرا می شوند و سپس شرط حلقه بررسی می شود .
* تکرار حلقه در صورتی است که شرط بعد از until ارزش نادرستی داشته باشد .
* در این حلقه برای دستورات بیش از یکی نیاز به بلوک ; begin … end نمی باشد .

۳- دستورات کنترلی :
این دستورات برای مواقعی که بخواهیم کنترل اجرای برنامه را به جایی دیگر از برنامه و یا اجرای برنامه را متوقف کنیم مورد استفاده قرار می گیرد .
Break : کاربرد این دستور در حلقه هاست در صورتی که بخواهیم به ادامه اجرای دستورات حلقه خاتمه دهیم .
Continue : این دستور در حلقه ها موجب می شود که کنترل اجرای برنامه در هر جای حلقه به انتهای حلقه منتقل شود ، به عبارت دیگر از اجرای دستورات بعدی حلقه صرف نظر کرده و کنترل برنامه به تکرار بعد منتقل می شود .
exit : این دستور در توابع و یا رویدادها موجب می شود که کنترل برنامه از تابع خارج شود . (موجب خروج از توابع و یا رویدادها می شود)

جلسه دوازدهم

عنصر TRadioButton :
– در موقعی که بخواهیم با توجه به انتخاب کاربر عملی و یا عملیاتی انجام شود از مجموعه ای از این عنصر استفاده می کنیم که در این صورت کاربر مجاز به انتخاب یکی از این مجموعه می باشد . مورد استفاده از این عنصر همراه با استفاده از دستور شرطی if می باشد – مهمترین خاصیت آن Checked‌ می باشد که مشخص کننده انتخاب عنصر می باشد .
مثال :
سه عنصر RadioButton را بر روی فرم قرار دهید و خواص زیر را تنظیم کنید :

RadioButton1.Caption := ‘Select First’
RadioButton2.Caption := ‘Select Second’
RadioButton3.Caption := ‘Select Third’

یک عنصر TButton را بر وری فرم قرار دهید و در رویداد onclick آن کدهای زیر را وارد نمائید :

procedure TForm1.Button1Click(Sender: TObject);
begin
if RadioButton1.Checked then
ShowMessage(RadioButton1.Caption)
else if RadioButton2.Checked then
ShowMessage(RadioButton2.Caption)
else if RadioButton3.Checked then
ShowMessage(RadioButton3.Caption) ;

end;

** البته می توانید به جای استفاده از if تودرتو از if ساده نیز استفاده کنید .
————————
عنصر TListBox‌ :
– این عنصر محلی را ایجاد می کند که در آن می توان لیستی از اسامی فایلها یا اسامی اشخاص و دیگر موارد را در آن قرار داد . عناصر موجود در آن را می توان انتخاب کرد و کارهایی را با توجه به آنها انجام داد . توجه داشته باشید عناصر موجود در ListBox‌ از نوع رشته می باشند .
خواص ==>
Columns‌ : این خاصیت مشخص می کند که عناصر موجود در لیست در چند ستون نمایش داده شوند . مقدار پیش فرض ۰ می باشد که تنها یک لیست یک ستون دارد .
MultiSelect : در صورتی که بخواهیم از لیست بیش از یک گزینه را انتخاب کنیم مقدار این خاصیت باید True تنظیم شود .
ExtendedSelect : هنگامی که مقدار این خاصی و خاصیت MultiSelect برابر tRUE باشد می توان با استفاده از کلید Shift یگ گروه مجاور را باهم انتخاب کرد و همچنین با استفاده از کلید Ctrl چند گزینه غیر مجاور هم را انتخاب کرد .
Items : با انتخاب این خاصیت پنجره ای نمایش داده می شود که می توان گزینه های موجد در لیست را که می خواهیم نمایش داده شوند را تایپ کرد . توجه داشته باشید که در این پنجره هر خط به منزله یک گزینه می باشد .
Sorted‌ : با استفاده از این خاصیت می توان مشخص کرد که آیا گزینه ها به صورت مرتب نمایش داده شوند یا خیر .
Style : این خاصیت برای تعیین نوع ListBox‌ استفاده می شود :
lbStandard : عنصر ListBox به صورت استاندارد نمایش یابد .
lbOwnerDrawVariable و lbOwnerDrawFixed : این امکان را می دهند که بتوان در گزینه ها متن و گرافیک را باهم داشت .

*** اضافه کردن گزینه در ListBox در موقع اجرا با استفاده از کد برنامه :
در این مورد از خاصیت Items‌ و استفاده از متد Add آن به صورت زیر استفاده می کنیم :

ListBox1.Items.Add(رشته مورد نظر) ;

** پاک کردن گزینه نیز با استفاده از متد Delete‌ از خاصیت Items‌ استفاده می شود :

ListBox1.Items.Delete(شماره اندیس آیتم مورد نظر) ;

== مثال -»
یک عنصر TListBox و دو گزینه TButton و یک گزینه TEdit بر روی فرم قرار دهید و خواص زیر را تنظیم کنید :

Edit1.Text := ” ;
Button1.Caption := ‘Add’ ;
Button2.Caption := ‘Delete’ ;

– در رویداد onclick عنصر button1 کدهای زیر را وارد نمائید :
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Items.Add(Edit1.Text)
end;

– در رویداد onclick عنصر button2 کدهای زیر را وارد نمائید :

procedure TForm1.Button2Click(Sender: TObject);
var
i : Integer ;
begin
i := StrToInt(InputBox(‘Delete Item’ , ‘Enter your index that you want to delete it :’,’0′)) ;
ListBox1.Items.Delete(i);
end;

== توضیحات :
تابع InputBox : این تابع پنجره را نمایش می دهد که می توان در آن از کاربر اطلاعاتی را دریافت کرد که شکل کلی آن به صورت زیر می باشد :

متغیر رشته ای := InputBox(Const ACaption : String ; Const APrompt : String ; Const ADefault : String) : String ;

= این تابع سه آرگومان را از نوع رشته دریافت می کند و مقدار بازگشتی آن نیز از نوع رشته ‎ای است .
ACaption : این آرگومان متن عنوان (Title) پنجره را مشخص می کند .
APrompt : این آرگومان متن پیغام را در پنجره تنظیم می کند .
ADefault : مقدار پیش فرض مقدار قرار گیری در پنجره را مشخص می کند .

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

  • پسورد: www.mspsoft.com
مسعود شریفی پور

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

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

    جواد پاسخ

    سلام مشگل تو دانلود نداره فقط مشگل تو اجراش هست لطفا برسی کنید

کدیشن ! مارکت پروژه های برنامه نویسی راه اندازی شدیه توکه پا بریم ببینم