ساختارهای کنترلی در VB.NET ( بخش اول )
دهلران پی سی
سایت جامع علمی ,آموزشی,فرهنگی و تفریحی

در زمان نوشتن يک برنامه کامپيوتری با استفاده از هر زبان برنامه نويسی نظير VB.NET  می توان از ساختارهای متفاوتی به منظور کنترل روند اجرای کدها ، استفاده نمود .  ساختارهای فوق  را می توان به سه گروه عمده تقسيم نمود :

  • ساختارهای تصميم گيری ( اتخاذ تصميم در خصوص اجراء و يا عدم اجرای خط و يا خطوطی از برنامه )

  • ساختارهای تکرار  ( اجرای يک و يا مجموعه ای  کد به دفعات مورد نياز )

  • ساختارهای پرش ( توقف روند جاری اجرای يک برنامه  و پرش به يک محل و اجرای يک بلاک کد خاص )

در مجموعه مقالاتی که در اين رابطه ارائه خواهد شد به بررسی هر يک از ساختارهای فوق در VB.NET  و نحوه استفاده از آنان به منظور ايجاد صفحات ASP.NET خواهيم پرداخت .
در بخش اول اين مقاله با هر يک از ساختارهای فوق به صورت اجمالی آشنا خواهيم شد. 

اسکريپت های ويژوال بيسيک
يک برنامه ويژوال بيسيک از مجموعه ای دستورات ( کدهائی با يک گرامر خاص مربوط به يک زبان ) که باعث انجام پردازش های لازم به منظور توليد اطلاعات می شود ، تشکيل می گردد . دستورات و يا عبارات فوق با يک اولويت منطقی سازماندهی می گردند تا کامپيوتر را  قادر به انجام پردازش های لازم به صورت مرحله به مرحله و بر اساس يک نظم خاص نمايند . در برنامه های وب ، از عبارات ويژوال بيسيک با نام اسکريپت ياد می شود .
کدهای ويژوال بيسيک را می توان از لحاظ فيزيکی در دو مکان متفاوت مستقر نمود : کدهای همراه صفحات وب  و يا کدهائی که در يک فايل جداگانه مستقر و امکان دستيابی آنان از طريق صفحاب وب وجود خواهد داشت . صرفنظر از مکانی که کدها مستقر خواهند شد ، اسکريپت های ويژوال بيسيک ، به منزله روتين هائی می باشند که می توان از آنان به منظور انجام پردازش های موردنياز و توليد نتايج به منظور نمايش بر روی صفحه ، استفاده نمود .

بلاک های اسکريپت
زمانی که کدهای ويژوال بيسيک همراه يک صفحه وب آورده می شوند ، می بايست توسط يک بلاک اسکريپت ، مشخص گردند . يک بلاک اسکريپت ، بخشی از يک صفحه است که توسط تگ > و با فرمت زير مشخص می گردد :

<script runat="server" [language="vb|Visual Basic"] >

...Visual Basic code

خصلت runat=server ، نشاندهنده اين موضوع است که اسکريپت های نوشته شده می بايست توسط کامپيوتر سرويس دهنده وب وقبل از ارسال صفحه برای کامپيوتر سرويس گيرنده ، اجراء گردند. خصلت فوق ، همچنين بين اسکريپت های سرويس دهنده و اسکريپت های سرويس گيرنده و يا مرورگر ، تفاوت قائل می شود ( اسکريپت های سمت سرويس گيرنده معمولا" با استفاده از جاوااسکريپت نوشته می گردند ) .
خصلت Language ، زبان استفاده شده به منظور نوشتن اسکريپت ها را مشخص می نمايد . با توجه به اين که ويژوال بيسيک زبان پيش فرض برای نوشتن اسکريپت های سمت سرويس دهنده می باشد ، استفاده از خصلت فوق می تواند اختياری باشد ( در صورتی که از زبان ويژوال بيسيک برای نوشتن اسکريپت ها استفاده می نمائيم ) .
يک بلاک اسکريپت را می توان در هر محلی از صفحه وب مستقر و در صورت نياز از چندين بلاک اسکريپت استفاده نمود. (در اغلب موارد يک بلاک اسکريپت کفايت خواهد کرد). در اکثر موارد ، ترجيج داده می شود که اسکريپت ها در ابتدای صفحه مستقر گردند ( قبل از هر کد HTML ) . علت استقرار اسکريپت ها در ابتدای صفحه ، تشخيص اين موضوع است که سرويس دهنده در ابتدا اسکريپت ها را اجراء خواهد کرد ( قبل از انجام هر گونه عمليات مرتبط با عناصر موجود بر روی يک صفحه وب ) .

برنامه های جانبی
يک بلاک اسکريپت ، مکانی است که تمامی عبارات ويژوال بيسيک موجود بر روی يک صفحه را در خود نگهداری می نمايد . اکثر عبارات می بايست درون ساختارهای برنامه نويسی خاصی مستقر تا امکان اجرای صحيح آنان فراهم گردد . اين ساختارها ، دارای يک نام می باشند که با فراخوانی آنان ،  تمامی دستورات موجود در ساختار به منظور انجام  پردازش های مورد نياز ، فعال می گردند . متداولترين ساختار در اين رابطه ، برنامه های جانبی می باشند :

<script runat="server">

Sub Page_Load

...Visual Basic statements

End Sub


مروری بر ساختارهای شرطی
در ساختارهای شرطی  ، در ابتدا يک و يا چندين شرط بررسی و بر اساس نتايج بدست آمده ، يک و يا چندين کد اجراء و از اجرای ساير خطوط صرفنظر خواهد شد .به منظور آشنائی با نحوه عملکرد اين نوع ساختارهای کنترلی به بررسی يک نمونه در دنيای واقعی می پردازيم . فرض کنيد در اتومبيل خود نشسته و در حال رانندگی می باشيد . در طول مسير با چراغ های راهنمائی متعددی برخورد می نمائيد . در صورتی که چراغ قرمز باشد ، می بايست اتومبيل خود را متوقف نموده و در انتظار سبز شدن چراغ راهنمائی بمانيد . در صورت سبز بودن ( شدن )  چراغ ، می توان بلافاصله به رانندگی خود ادامه داد . نوع عملياتی که می بايست انجام داده مستقيما" متاثر از نتيجه بررسی انجام شده ، می باشد . ( در اين مورد خاص رنگ چراغ راهنمائی ) .

انواع ساختار شرطی
در اين رابطه از دو ساختار عمومی استفاده می گردد :

  • If ...Then ...Else : از ساختار فوق به منظور اجرای يک و يا چندين مجموعه خط کد پس از بررسی يک  و يا چندين شرط ، استفاده می گردد . مثلا" فرض کنيد در يک صفحه وب که مسئوليت نمايش اخبار را برعهده دارد ، قصد داشته باشيم در خصوص نمايش اخبار بين المللی و يا ورزشی ، اتخاذ تصميم نمائيم . از ساختار If ...Then می توان به منظور انتخاب عباراتی به منظور اجراء که ماحصل مقايسه های پيچيده ای  نظير عباراتی که از عملگرهای AND ,OR و يا NOT ، می باشند ، استفاده نمود .

  • Select Case : از ساختار فوق به منظور اجرای يک و يا چندين مجموعه خط با توجه به وجود حالات متفاوتی که يک متغير می تواند داشته باشد ، استفاده می گردد . مثلا" در يک صفحه وب که مسئوليت نمايش اخبار را برعهده دارد ، می توان از چندين آيکون که نشاندهنده نوع اخبار می باشند ، استفاده نمود . پس از کليک نمودن کاربر بر روی هر يک از آيکون ها ، اخبار مربوط به آن گروه خاص  نمايش داده می شود (سياسی ، تجاری ، ورزشی و يا اخبار مربوط به تکنولوژی) .

مروری بر ساختارهای تکرار
با استفاده از ساختارهای تکرار امکان اجرای مجموعه ای از خطوط ( کدها)  به دفعات مورد نياز ، فراهم می گردد .

انواع ساختار تکرار
در اين رابطه از سه ساختار عمومی استفاده می گردد :

  •  For...Next : از ساختار فوق به منظور تکرار خط و يا مجموعه ای از خطوط استفاده می گردد . در اين ساختار ، در ابتدا نسبت به دفعاتی که می بايست کدهای مورد نظر تکرار گردند ، شناخت لازم وجود دارد . برای مشخص نمودن دفعاتی که می بايست دستورات تکرار گردند ، می توان از توابع متفاوتی نظير Sizeof استفاده نمود .

  • Do While : از ساختار فوق به منظور تکرار خط و يا مجموعه ای از خطوط در مواردی که در زمان طراحی نسبت به دفعاتی که می بايست دستورات اجراء گردند ، آگاهی لازم وجود ندارد ، استفاده می گردد. در چنين مواردی لازم است که در ساختار تکرار نسبت به ادامه تکرار دستورات ، اتخاذ تصميم شود . بدين منظور شرط و يا شروط خاصی بررسی و ماداميکه نتيجه مثبت ( درست ) باشد ، دستورات تکرار می گردند .

  •  Fo ...Each : از ساختار فوق به عنوان گزينه ای مناسبتر  نسبت به For...Next در مواردی که  دارای مجموعه ای  از آيتم ها می باشيم و نمی دانيم چند مرتبه می بايست  عمليات تکرار انجام شود ، استفاده می گردد .

مروری بر ساختارهای پرش
با استفاده از ساختارهای پرش ، برنامه نويسان می توانند اجرای کد جاری را متوقف نموده و به يک محل ديگر ( يک بلاک ديگر )پرش نمايند .  مثلا" می توانيم يک بلاک کد را با نام Showorder نوشته که مسئوليت نمايش مشخصات خريدار و کالاهای خريداری شده توسط وی را نمايش دهد . در صورتی که در طول برنامه لازم باشد به دفعات عمليات فوق را انجام دهيم ، ضرورتی به نوشتن مجدد کدها نخواهد بود . در چنين مواردی می توان  اجرای برنامه را در محل مورد نظر متوقف نموده و به روتين Showorder پرش نمود .  پس از اجرای مجموعه کدهای نوشته شده در روتين فوق ، مجددا" به محل فراخوانی روتين مراجعت و روند اجرائی برنامه دنبال می شود.

انواع ساختار پرش
در اين رابطه از دو ساختار عمومی استفاده می گردد :

  • Subroutines : اين نوع برنامه ها را می توان با فراخوانی نام آنان به خدمت گرفت . پس از فراخوانی هر روتين مجموعه کدهای موجود در آنان اجراء شده و در ادامه کنترل به دستور پس از محل فراخوانی روتين برمی گردد .

  • Function : عملکرد اين نوع روتين ها مشابه Subroutine بوده و تنها تفاوت موجود ، برگرداندن يک مقدار به برنامه و يا محل فراخوانی تابع است .

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

مثال يک  :

خواسته

می خواهيم در خصوص نمايش صفحه A و يا صفحه B اتخاذ تصميم نمائيم .

راه حل

استفاده از ساختار تصميم گيری

علت ؟

ما صرفا" می خواهيم يکی از دو احتمال موجود را بررسی نمائيم  .

 

مثال دوم :   

خواسته

 نمايش ليست اعضای يک کلوپ شامل نام ، نام خانوادگی ، آدرس و ساير اطلاعات ذيربط

راه حل استفاده از ساختار تکرار
علت ؟ ما نيازمند اجرای مجموعه کد مشابهی ( بازيابی اطلاعات مربوط به هر يک از اعضاء )  به دفعات مشخص می باشيم . ( تکرار برای هر يک از اعضاء تا زمانيکه ليست تمامی اعضاء نمايش داده شود . )

 

مثال سوم   

خواسته

 نمايش داده در يک جدول

راه حل  ساختار تکرار
علت ؟  ما نيازمند اجرای کد مشابهی ( ايجاد يک سطر در جدول ) به منظور ايجاد تمامی سطرهای مورد نياز می باشيم .

 

مثال چهارم :

خواسته

 پس از استقرار يک آيتم که در صفحه مشخصات کالا تشريح شده است ، قصد داريم چندين خط اطلاعات در رابطه با نحوه ثبت سفارش را اضافه نمائيم . ممکن است ما دارای چندين آيتم می باشيم که در صفحات متعددی نمايش داده می شوند و لازم است که اطلاعات مربوط به نحوه ثبت سفارش برای هر يک از آنان نيز نمايش داده شود .

راه حل  استفاده از يک Subroutine
علت ؟

 ما نيازمند توقف روند اجرای کد اصلی و اجرای کدهای لازم به منظور نحوه تشريح ثبت سفارش ، می باشيم . با توجه به اين که مجموعه خطوط لازم به منظور نمايش "نحوه ثبت سفارش " ، می بايست چندين مرتبه اجراء گردند ، بهتر است که آنان را يک مرتبه نوشته و به دفعات مورد نياز فراخوانده شوند.

 

مثال پنچم :

خواسته

فرض کنيد در يک برنامه لازم است که قيمت يک کالا که توسط کاربر انتخاب می گردد ، محاسبه و در چندين محل بر روی يک صفحه ، نمايش داده شود .

راه حل  استفاده از يک تابع
علت ؟

ما نيازمند توقف روند اجرای صفحه  و پرش به محلی  می باشيم که کدهای مورد نظر به منظور محاسبه قيمت يک کالا را شامل می شود . پس از اجرای کدهای مورد نظر ، مجددا" به صفحه اوليه مراجعه می گردد . با توجه به اين که لازم است چندين مرتبه قيمت يک کالا ، محاسبه گردد ، بهتر است که فورمول لازم برای محاسبه قيمت را يک مرتبه نوشته و آن را به دفعات مورد نياز فراخواند .

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

 


نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:








ارسال توسط هادی احمدی

آرشیو مطالب
پيوند هاي روزانه
امکانات جانبی

آمار وب سایت:  

بازدید امروز : 440
بازدید دیروز : 99
بازدید هفته : 542
بازدید ماه : 938
بازدید کل : 204926
تعداد مطالب : 736
تعداد نظرات : 23
تعداد آنلاین : 1

Google

در اين وبلاگ
در كل اينترنت
 <-PostTitle-> <-PostContent-> 1 <-PostLink->