آشنائی با ساختارهای کنترلی در VB.NET New Page 1



ساير




 

 

 

SAKHA RAVESH CO.

 ا مروز

 سه شنبه  8  فروردين  1396  2017  Mar.  28   Tuesday ToDay
صفحه اصلی  مقالات نکته هادايره المعارف خودآموزها | تازه ها خود آزمون ها    
  نسخه قابل چاپ  

    5 4 3 2 1 

 عنوان

 نويسنده

  مشاهده

 تعداد آراء

 امتياز

 ساختارهای کنترلی در VB.NET ( بخش دوم )

 مديريت وب

14078

16

3.8

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

 

ساختارهای کنترلی  در VB.NET

ساختارهای کنترلی  در VB.NET ( بخش دوم )

در بخش اول اين مقاله با اسکريپت های ويژوال بيسيک و ساختارهای کنترلی در 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 انتخاب و دستورات موجود در اين بخش اجراء خواهند شد .

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



جستجو

مقالات                 
دايره المعارف       
دوره های آموزشی


 

 

مشاهده گروه ها



              

 

 تهيه شده در شرکت سخا روش -  1382