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