تبلیغات
آموزشASP.NET - ساختارهای کنترلی در VB.NET ( بخش دوم )
 
فردا روشن اسن به
آموزشASP.NET
صفحه نخست         تماس با مدیر         پست الکترونیک        RSS         ATOM
 
 
پنجشنبه 11 فروردین 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 انتخاب و دستورات موجود در این بخش اجراء خواهند شد .

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





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


دوشنبه 27 شهریور 1396 03:17 ق.ظ
Thank you for the auspicious writeup. It in fact was a
amusement account it. Look advanced to more added agreeable from you!

However, how could we communicate?
چهارشنبه 15 شهریور 1396 04:07 ب.ظ
I'm curious to find out what blog platform you are working
with? I'm having some minor security issues with my latest site and I'd like to find something more safeguarded.
Do you have any solutions?
دوشنبه 30 مرداد 1396 11:34 ق.ظ
This website was... how do you say it? Relevant!! Finally I
have found something that helped me. Thank you!
یکشنبه 24 اردیبهشت 1396 10:16 ب.ظ
Thank you a bunch for sharing this with all people you actually realize
what you are speaking approximately! Bookmarked. Please additionally seek
advice from my website =). We can have a hyperlink exchange
agreement between us
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر


درباره وبلاگ

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

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








جستجو

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