.تعمیـــرکاران کیان ست (kiansat.tv)تابع قوانین -جمهموری-اسلامی ایران میباشد و ارسال هر گونه مطلب سیاسی،مذهبی،غیراخلاقی و خرید و فروش متعلقات ماه-واره و دیگر موارد مجرمانه ممنوع میباشد وبا کاربران خاطی به شدت برخورد میگردد انجمن فقط تعمیرات لوازم الکترونیک میباشد...













سلام مهمان گرامی؛
به کیان ست خوش آمدید برای مشاهده انجمن با امکانات کامل می بايست از طريق این لینک عضو شوید.

https://teranzit.pw/uploads/14469017281.png
پیام خصوصی به مدیریت کل سایت ........... صفحه توضیحات و شرایط گروه ویژه ........... ...........
ارتباط تلگرامی با مدیریت سایت ................. ایدی تلگرام suportripair@ .................
نمایش نتایج: از شماره 1 تا 1 , از مجموع 1

موضوع: دستوارت شرطی در برنامه نویسی دلفی

  1. #1


    تاریخ عضویت
    Oct 2010
    نوشته ها
    198
    تشکر ها
    38
    401 سپاس از181 پست

    دستوارت شرطی در برنامه نویسی دلفی

    هر زبان برنامه نویسی دارای دستوارت شرطی و کنترل روند برنامه میباشد که دلفی نیز این امکان را با دستوارت خاص به شما میدهد …
    مثلا شما نیاز دارید در قطعه کدی شرطی قرار دهید تا عدد بزگتر یا کوچکتر از بین ۲ یا چند عدد را انتخاب کند یا مثلا میخواهید برای بارها روندی تکرار شود … برای مواردی این چنین شما نیاز به استفاده از دستوارت شرطی دارید
    دستوارت شرطی و تکرار رایج در دلفی عبارت است از:
    If else ,for,while,repeat,switch,
    قالب کلی دستوارت بالا به صورت زیر میباشد
    قطعه کد مورد نظر (در صورت درستی شرط اجرا میشود) Then شرط if
    قطعه کد مورد نظر (در صورت غلط بودن شرط) else
    نکته این دستور این است که این دستور در صورت کلی بالا فقط میتواند ۲ حالت را بررسی کند یعنی یا شرط درست است یا غیر از ان است ولی گاهی شما نیاز دارید حالت های مقایسه را گسترش بدهید برای این منظور میتوانید از دستور else if استفاده کنید به این صورت که به جای کلمه else در دستور بالا else if گزاشته میشود و در این صورت میتوانید یک شرط دیگر را نیز اضافه کنید و در نهایت else را قرار دهید
    قطعه کد then شرط if
    قطعه کد then شرط ۲ else if
    قطعه کد( در صورت غلط بودن هر ۲ شرط بالا) else
    به این صورت میتوانید تا تعداد بیشتری شرط قرار بدهید . مقایسه را انجام بدهید
    نکته در باره دستور if وجود دارد این است که اگر شما در انتهای قطعه کد خود ; را قرار دهید کامپایلر از شما ایراد میگیرد چون قبل از کلمه else نباید ; قرار دهید
    عمل مقایسه به صورت بالا وقتی تعداد حالات زیاد میشود روش مناسبی نیست مثلا برای ۱۰ شرط کد نویسی وقت گیر و به هم ریخته ایجاد میشود بنابراین نیاز به دستور دیگری داریم تا در تعداد حالات زیاد از ان استفاده کنیم …
    دستور switch دستوری است که شما با استفاده از ان میتوانید حالات بیشتری را مقایسه کنید ..روند کلی ان به صورت زیر است :
    کد:
    کد:
     case variant  of Case 1:code; Case2:code; Case3:code Else:code; End;
    روند بالا متغیری(variant) را با چند عدد یا متغیر یا رشته یا…. مقایسه کرده و در صورت برابر بودن قطعه کد مورد نظر را به اجرا در می اورد و همانطور که در دستور if گفته شد قبل از else قرار دادن ; باعث خطا میشود ..
    حلقه for:
    گاهی شما نیاز دارید تا دستوری چندین بار اجرا شود … مثلا عددی را ۱۰ بار با خودش جمع کنید
    حالت کلی دستور for به صورت زیر است :
    کد:
    کد:
    for i:=1 to 10 do begin   End;
    دستور بالا ۱۰ بار قطعه کد شما را اجرا میکند .. اول از همه شما نیاز به تعریف متغیری مانند i دارید که باید از نوع محلی باشد در غیر اینصورت خطا رخ میدهد .. پس از تعریف متغییر میتوانید مقادیر دلخواه را در ان به صورت عددی یا متغیر قرار دهید تا به حد نهایت تعیین شده توسط شما( در این مثال عدد ۱۰ برسد) که میتواند متغیر باشد ..
    نکته دیگر در دستور for این است که شما حتما باید یک begin و end برای داخل حلقه for قرار دهید و قطعه کد را درون ان بنویسید ..
    گاهی شما نیاز دارید تا مقادیر به صورت نزولی شمرده بشوند یعنی مثلا از به جای اینکه از عدد ۱ به ۱۰ برود از عدد ۱۰ به ۱ پیمایش کند برای این منظور باید به جای to از کلمه downto استفاده شود به صورت زیر
    کد:
    کد:
     For i:10 downto 1 do Begin   End;

    دستور while این امکان را به شما میدهد تا با شرط حلقه را کنترل کنید مثلا تا زمانی که متغیری از متغیر دیگر بزگتر یا کوچکتر است کاری را تکرار کند
    روند کلی دستور به صورت زیر است :
    کد:
    کد:
     While x>y do Begin End;
    در این نمونه شرط بزگتر بودن x از y میباشد ..در واقع تا زمانی که این شرط درست باشد قطعه کد تکرار میشود
    دستور repeat نیز همانند while میباشد و به صورت زی استفاده میشود
    قطعه کد repeat
    ;شرط until
    تا زمانی تکرار میشود که شرط درست است!
    ذکر چند مثال برای موارد بالا :
    میخواهیم ۲ عدد را از کاربر گرفته و عدد بزگتر را پیدا کنیم :
    پس از دریافت عدد و مقدار دهی انان که در اموزش های قبلی گفته شده نوبت به مقایسه و نمایش عدد بزگتر میرسد
    برای مثال ۲ عدد گرفته شده در ۲ متغیر x,y هستند :
    کد:
    کد:
    کد:
      if x>y then showmessage(‘the number 1 is greater’) Else if Y>x then showmessage(‘the number 2 is greater’) Else showmessage(‘num1=num2’);
    عکس ۱:
    Click here to enlarge
    Click here to enlarge
    با فرض اینکه عدد اول در x و عدد دوم را در y ریخته باشیم کد بالا مقایسه بین ۲ عدد میباشد
    حالا فرض کنیم میخواهیم عددی از کاربر بگیریم و انرا با ۵ عدد مقایسه کنیم
    عدد مربوط را در متغیر برای مثال به اسم x قرار میدهیم
    کد:
    کد:
     case x of 1:showmessage(‘your number is 1’); ۲:showmessage(‘your number is 2’); ۳:showmessage(‘your number is 3’); ۴:showmessage(‘your number is 4’); ۵:showmessage(‘your number is 5’) Else showmessage(‘not found’); End;
    عکس۲:
    Click here to enlarge
    Click here to enlarge
    این گونه مقایسه را میتوانید مثلا برای چک کردن user name و یا password استفاده کنید به این صورت که جای قطعه کد ها که در این مثال showmessage استفاده شده از دستور if استفاده کنید که در مقاله بعدی توضیح داده خواهد شد
    مثلا میخواهیم عددی را از کاربر بگیریم و ۱۰ با با خودش جمع کنیم :
    عدد را در متغیری به اسم x میریزیم و سپس با حلقه برای ۱۰ بار انرا جمع میکنیم :
    کد:
    کد:
     For i:=1 to 10 do Begin A:=X+a; End;
    عکس۳:
    Click here to enlarge
    Click here to enlarge

    توجه کنید که متغیر a باید مقدار دهی اولیه شود (۰)
    [CENTER]:1205219183:
    [B][FONT=Tahoma][SIZE=3][COLOR=#0000ff][URL="http://kiansat3.ir/showthread.php?t=47100"]فروش جدیدترین و کاملترین پکیج نرم افزاری و بازی و آموزشی و تعمیراتی انواع موبایل ها بصورت کاملا فارسی به همراه چندین اشانتیون[/URL][/COLOR][/SIZE][/FONT][/B]
    [B]:1205219183::فقط خودت باش نه کسی دیگر!
    :lay:
    [/B][/CENTER]

  2. 3کاربر از Borna66 بخاطر ارسال این پست مفید سپاسگزاری کرده اند:

    ARIYA (5th May 2012),masoud-sat (4th May 2012),M_Repair (4th May 2012)

اطلاعات موضوع

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

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

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

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

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


Copyright ©2000 - 2013, Jelsoft Enterprises Ltd کیــــــــــان ستـــــــــــ ...® اولین و بزرگترین سایت فوق تخصصی الکترونیک در ایران



Cultural Forum | Study at Malaysian University