عنوان
|
نويسنده
|
مشاهده
|
تعداد
آراء |
امتياز
|
ساختارهای کنترلی در VB.NET ( بخش دوم ) |
مديريت وب |
16728 |
17 |
3.9 |
با توجه به جایگاه داده در عصر حاضر و لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و خدمات خود را از طریق سایت www.fabak.ir به مخاطبان محترم عرضه می نماید
 |
ساختارهای کنترلی در VB.NET
ساختارهای کنترلی در
VB.NET ( بخش دوم )
در بخش اول
اين مقاله با اسکريپت های ويژوال بيسيک و ساختارهای کنترلی در
VB.NET به صورت اجمالی آشنا شديم . در بخش دوم به بررسی ساختارهای تصميم
گيری ، خواهيم پرداخت .
همانگونه که قبلا" اشاره گرديد ، با استفاده از ساختارهای تصميم گيری ، يک و يا
چندين شرط بررسی و بر اساس نتايج بدست آمده ، دستور و يا دستوراتی اجراء و يا از
اجرای دستور و يا دستوراتی صرفنظر می گردد . در VB.NET
از دو روش متفاوت در اين رابطه استفاده می گردد :
مثلا" در صورتی که در يک برنامه قصد طرح اين پرسش از
کاربران را داريم که : " آيا می خواهيد قرار ملاقات خود را از طريق
تلفن ، نهائی نمائيد ؟"قطعا" پاسخ به سوال فوق دو گزينه بيشتر نخواهد داشت (
پاسخ مثبت ( 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
ازروش های متفاوتی استفاده می گردد . برای انتخاب گرامر مناسب می بايست به دو سوال
فوق پاسخ داده شود :
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 انتخاب و دستورات موجود در اين بخش اجراء خواهند شد .
در بخش سوم اين مقاله به بررسی ساختارهای تکرار
خواهيم پرداخت .