فردا روشن اسن به
آموزشASP.NET
صفحه نخست         تماس با مدیر         پست الکترونیک        RSS         ATOM
 
 
جمعه 12 فروردین 1390 :: نویسنده : ارش کاکاوند

در بخش اول این مقاله با اسکریپت های ویژوال بیسیک و ساختارهای کنترلی در VB.NET به صورت اجمالی آشنا شدیم . در بخش دوم به بررسی ساختارهای تصمیم گیری ، خواهیم پرداخت .
همانگونه که قبلا" اشاره گردید ، با استفاده از ساختارهای تصمیم گیری ، یک و یا چندین شرط بررسی و بر اساس نتایج بدست آمده ، دستور و یا دستوراتی اجراء و یا از اجرای دستور و یا دستوراتی صرفنظر می گردد . در VB.NET از دو روش متفاوت  در این رابطه استفاده می گردد : 

  • If ...Then : تعداد مسیرهائی را که می توان پس از بررسی یک عبارت شرطی انتخاب نمود ، اندک است  .

  • Select Case :تعداد مسیرهائی را که می توان پس از بررسی یک عبارت شرطی انتخاب نمود ، زیاد است  . 

مثلا" در صورتی که در یک برنامه قصد طرح این پرسش از کاربران را  داریم که :  " آیا می خواهید قرار ملاقات خود را از طریق تلفن ، نهائی نمائید ؟"قطعا" پاسخ به سوال فوق دو گزینه بیشتر نخواهد داشت (  پاسخ مثبت ( True ) و منفی ( False ) ) . بنابراین می توان در چنین مواردی از ساختار If...Then استفاده نمود . ولی در صورتی که از کا ربر پرسش شود که : " آیا می خواهید قرار ملاقات خود  را از طریق تلفن ، فاکس و یا  Email ، نهائی نمائید ؟" ، با توجه به تعداد گزینه های موجود ، ترجیح داده می شود که از ساختار Select Case استفاده شود .
قبل از پرداختن با جزئیات نحوه استفاده از ساختارهای فوق ، لازم است با برخی عملگرها که از آنان به منظور ایجاد عبارات شرطی استفاده می شود،بیشتر آشنا شویم .

عملگرهای مقایسه ای
عملگرهای مقایسه ای در VV.NET عبارتند از :

کاربرد

عملگر

 مساوی

 =

 کوچکتر از

>

کوچکتر یا مساوی 

=>

 نامساوی

<>

 بزرگتر

<

 بزرگتر یا مساوی

 =>

عملگرهای منطقی
در VB.NET از عملگرهای منطقی متعددی استفاده می شود. جدول زیر برخی از متداولترین آنان را نشان می دهد :

مثال

کاربرد

عملگر

  If  A=1 AND B=2 Then 

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

 AND

If  A=1 OR  B=2 Then

 درصورت درست بودن یکی از عملوندها ، شرط مورد نظر ارزش درست را پیدا خواهد کرد

OR

If  NOT A=1 Then

مقدار مخالف شرط را بر می گرداند . در صورتی که شرط مورد نظر ارزش درست را داشته باشد ، NOT آن مقدار نادرست را برمی گرداند . 

NOT

اولویت عملگرهای فوق به ترتیب OR,AND,NOT می باشد .

ساختار If...Then  

ساختار فوق دارای چهار بخش اساسی است :

  • یک عبارت که شامل یک و یا چندین شرط است که ماحصل آن True و یا False خواهد بود .

  • کد لازم  در صورتی که نتیجه عبارت شرطی ، درست باشد .

  • کد لازم در صورتی که نتیجه عبارت شرطی نادرست باشد ( اختیاری )

  • یک عبارت که نشاندهنده پایان ساختار است .

برای ایجاد ساختار If...Then ازروش های متفاوتی استفاده می گردد . برای انتخاب گرامر مناسب می بایست به دو سوال فوق پاسخ داده شود  :

  • در مواردی که  نتیجه عبارت شرطی  False  گردد ، قصد انجام کار( و یا کارهای )  خاصی را دارید ؟ 

  • در صورتی که نتیجه عبارت شرطی درست باشد ، قصد اجرای بیش از یک دستور را دارید ؟

If..Then : ساده ترین روش استفاده ازساختار تصمیم گیری است . در صورت استفاده از ساختار فوق و در مواردی که نتیجه عبارت شرطی نادرست ( False ) باشد ، نمی توان دستور ویا دستوراتی را اجراء نمود .

 If  A=1 Then TestMessage.Text = " نتیجه عبارت شرطی ، درست است "

در صورتی که قصد داشته باشیم پس از بررسی  عبارت شرطی و درست بودن آن بیش از یک دستور را اجراء نمائیم ، می بایست پس از درج دستورات مورد نظر ، از یک End If در قسمت پایانی دستورات ،  استفاده نمائیم .

If  A=1 Then
      TestMessage.Text = " در صورت درست بودن شرط ، دو دستور اجراء می گردد "
       B = 2
End If

If...Then...Else : از ساختار فوق در مواردی که قصد داشته باشیم پس ازبررسی عبارت شرطی و با توجه به نتیجه آن ( درست و یا نادرست ) دستورات خاصی را اجراء نمائیم ، استفاده می شود . 

If  A=1 Then
      TestMessage.Text = " در صورت درست بودن شرط ، اجراء می گردد"
Else
      TestMessage.Text = "
در صورت نادرست بودن شرط ، اجراء می گردد
End If

If...Then ...ElseIf  : با این که استفاده از ساختار فوق به منظور تصمیم گیری بندرت انجام می شود ، ولی در موارد خاصی لازم است که از این ساختار استفاده شود. با استفاده از ساختار فوق می توان عبارات شرطی متفاوتی را با یکدیگر ترکیب و بر اساس نتایج بدست آمده ، دستور و یا دستورات خاصی را با توجه به وضعیت بوجود آمده ، اجراء نمود .  بدین منظور لازم است که هر یک از حالات موجود را با استفاده از ElseIf  از یکدیگر جدا نموده و در نهایت تمامی ساختار را با استفاده از End If  به پایان رساند .

If  A=1 Then
      TestMessage.Text = " A=1" 
ElseIf  A=2 Then
      TestMessage.Text = " A=2 " 
ElseIf  A=3 Then
      TestMessage.Text = " A=3 " 
End If

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

مرحله اول : تایپ کد زیر با استفاده از یک ویرایشگر

 <script language="vb" runat="server">
Sub Page_Load()
Dim theNumber As Integer
Dim theGuess As Integer

theNumber = int(10 * rnd) + 1

If Page.IsPostBack Then
   theGuess = Guess.SelectedItem.Valu

  If theGuess > theNumber then
    Message.Text = "<BR><BR>شما عدد بزرگتری را تشخیص داده اید <BR>عدد مورد نظر " &_
     "<B>" & theNumber & " </B>" & " می باشد "
  End If

   If theGuess < theNumber then
     Message.Text = "<BR><BR>شما عدد کوچکتری را تشخیص داده اید <BR>عدد مورد نظر " &_
      "<B>" & theNumber & " </B>" & " می باشد "
  End If

  If theGuess = theNumber then
    Message.Text = "<BR><BR>حدس شما صحیح است"
  End If
End If
End Sub
</script>

<html dir=rtl>
<head></head>
<body>
<form runat="server">
چه عددی را بخاطر سپرده ام ؟
  <asp:dropdownlist id="Guess" runat="server">
    <asp:listitem>1</asp:listitem>
    <asp:listitem>2</asp:listitem>
    <asp:listitem>3</asp:listitem>
    <asp:listitem>4</asp:listitem>
    <asp:listitem>5</asp:listitem>
    <asp:listitem>6</asp:listitem>
    <asp:listitem>7</asp:listitem>
    <asp:listitem>8</asp:listitem>
    <asp:listitem>9</asp:listitem>
    <asp:listitem>10</asp:listitem>
</asp:dropdownlist><br><br>
  <input type="submit" value="تشخیص عدد">
   <asp:label id="message" runat="server"/>
</form></body></html>

 مرحله دوم :  پس از ذخیره کد فوق در فایلی با نام ifthen.aspx و مشاهده آن در مرورگر ، خروجی زیر را خواهیم داشت :

مرحله سوم : انتخاب عدد مورد نظر و کلیک بر روی دکمه "تشخیص عدد "

توضیحات :

  • با استفاده از کنترل <asp:dropdownlist> که اعداد یک تا ده را نمایش می دهد از کاربر خواسته ایم که عددی را انتخاب نماید .

  • در کد نوشته شده دو متغیر به اسامی theNumber و theGuess تعریف که از آنان به منظور ذخیره عدد تولید شده تصادفی  و عدد حدس زده شده توسط کاربر استفاده می گردد .

  • برای تولید اعداد تصادفی از تابع ()rnd استفاده شده است. تابع فوق ، یک عدد اعشاری بین صفر و یک را تولید می نماید . برای داشتن یک عدد تصادفی بین یک تا ده ، می بایست عدد تولید شده  را در ده ضرب نمود . بدین ترتیب یک عدد بین صفر تا ده تولید می شود .

  • با استفاده از ساختار If...Then بررسی لازم در خصوص عدد انتخاب شده توسط کاربر و مقایسه آن با  عدد تصادفی تولید شده انجام و بر اساس آن پیام مناسبی  به کاربر ارائه خواهد شد .

ساختار Select Cast
یکی از چالش های استفاده از ساختار If...Then در مواردی است که قصد داشته باشیم  تعداد سه و یا بیش از سه وضعیت را بکمک آن مقایسه نمائیم . مثلا" در صورتی که بخواهیم یک کاربر را بر اساس انتخاب انجام شده به شش صفحه وب مجزاء هدایت نمائیم ، استفاده از ساختار If...then علاوه بر این که کد برنامه را ناخوانا خواهد کرد ، سرعت اجرای کد نوشته شده نیز کندتر می گردد. در چنین مواردی می توان از ساختار Select Case استفاده نمود .

مثال : نحوه استفاده از ساختار Select Case

مرحله اول : تایپ کد زیر با استفاده از یک ویرایشگر

<script language="vb" runat="server">
  Sub Page_Load()
     If Page.IsPostBack Then
     Select Case(Destination.SelectedItem.Value)
       Case "تهران":
          Message.Text = "شما شهرستان تهران را برای مسافرت انتخاب نموده اید"
       Case "ابهر":
          Message.Text = "شما شهرستان ابهر را برای مسافرت انتخاب نموده اید"
       Case "خرمدره":
         Message.Text = "شما شهرستان خرمدره را برای مسافرت انتخاب نموده اید"
      Case else
        Message.Text = "شما شهرستان مورد نظر را انتخاب ننموده اید"
    End Select
  End If
End Sub
</script>

<html dir=rtl>
<head></head>
<body>
  <form runat="server">
    کدام شهرستان را برای مسافرت انتخاب می نمائید ؟ <br><br>
    <asp:radiobuttonlist id="destination" runat="server">
      <asp:listitem>تهران</asp:listitem>
      <asp:listitem>ابهر</asp:listitem>
      <asp:listitem>خرمدره</asp:listitem>
   </asp:radiobuttonlist><br><br>
   <input type="submit" value="ارسال درخواست"><br><br>
  <asp:label id="message" runat="server"/>
</form>
</body>
</html>

 مرحله دوم :  پس از ذخیره کد فوق در فایلی با نام selectcase.aspx و مشاهده آن در مرورگر ، خروجی زیر را خواهیم داشت :

مرحله سوم : انتخاب گزینه  مورد نظر و کلیک بر روی دکمه " ارسال درخواست "

توضیحات :

  • با استفاده از کنترل <asp:radiobuttonlist> ، مجموعه ای از گزینه ها ارائه شده است .

  • با استفاده از ساختار Select Case بررسی لازم در خصوص گزینه انتخاب شده توسط کاربر انجام و متناسب با آن پیام خاصی در کنترل lablel نمایش داده می شود .

  • در صورتی که به هر دلیلی یکی از گزینه های ارائه شده،  انتخاب نشود و یا خطای خاصی اتفاق افتاده باشد که داده انتخابی با هیچیک از موارد ذکر شده در ساختار Select Case مطابقت ننماید ، بخش Case else ساختار Select Case انتخاب و دستورات موجود در این بخش اجراء خواهند شد .

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





نوع مطلب :
برچسب ها :
لینک های مرتبط :




درباره وبلاگ

سلام من آرش کاکاوند دانشجوی رشته کامپیوتر هستم و ورود شما رابه دنیای aspخوش امدمیگم.حتما نظر بدین تا من کارم رو بهتر ادامه بدم

مدیر وبلاگ : ارش کاکاوند
مطالب اخیر
نویسندگان
صفحات جانبی
نظرسنجی
شما کدام یک از برنامه های زیر را برای طراحی وب انتخاب می کنید؟








جستجو

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

                    
 
 
 
شبکه اجتماعی فارسی کلوب | Buy Website Traffic | Buy Targeted Website Traffic