برای دریافت پروژه اینجا کلیک کنید

  مقاله زبان برنامه نویسی دات نت در word دارای 46 صفحه می باشد و دارای تنظیمات در microsoft word می باشد و آماده پرینت یا چاپ است

فایل ورد مقاله زبان برنامه نویسی دات نت در word  کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه  و مراکز دولتی می باشد.

این پروژه توسط مرکز مرکز پروژه های دانشجویی آماده و تنظیم شده است

توجه : در صورت  مشاهده  بهم ریختگی احتمالی در متون زیر ،دلیل ان کپی کردن این مطالب از داخل فایل ورد می باشد و در فایل اصلی مقاله زبان برنامه نویسی دات نت در word،به هیچ وجه بهم ریختگی وجود ندارد


بخشی از متن مقاله زبان برنامه نویسی دات نت در word :

زبان برنامه نویسی دات نت

– مقدمه ای بر دات نت
برای اینکه بفهمیم چرا دانت نت به نیازی اساسی برای برنامه نویسی تبدیل شده است: باید بدانیم قبل از دات نت برنامه نویسی چه شرایطی داشته است.
1-2 نگاهی به گذشته

IBM PC که در سال 1981 معرفی شد دارای یک floppy drive بدون دیسک سخت و یک نمایشگر سبز فسفری با 128 کیلو بایت رم بود. این کامپیوتر توسط مجله Time (در حالی که عکسش روی جلد مجله بود) به عنوان مرد سال معرفی شد. این کار بسیار عجیبی بود. زیرا روی جلد این مجله فقط جای عکس رهبران و انسانهای مشهور بوده است.
پیشرفت کامپیوتر بقدری سریع بود که تنها 20 سال بعد, کامپیوتر به چنان دستگاه قدرتمندی تبدیل شد که از اینترنت یا وسایل بی سیم برای ارتباط با دیگر کامپیوتر ها استفاده می کرد. در حال حاضر همان طور که مشاهده می کنید سیستم های کامپیوتری (از جمله خدمات اینترنتی) در تمام ابعاد زندگی انسان نفوذ کرده اند. حتی در ایران که جزو کشورهای در حال توسعه است و سیستم مخابراتی مناسبی ندارد این امر کاملا مشاهده می شود. اگر چه هنوز میزان استفاده ما و نحوه آن با کشورهای صنعتی بسیار متفاوت است. نکته جالب در مورد کامیپوتر این است که این علم در همین جا متوقف نشده است و ما تقریبا هر همپای پیشرفت سخت افزار, یا نرم افزار هستیم.

همپای پیشرفت سخت افزار, نرم افزارها و زبانهای برنامه نویسی هم پیشرفت کردند. بطوری که در اوایل دهه 1980 برنامه نویسان از زبان c برای کارهایشان استفاده می کردند. در آن زمان سیستم عامل ها singli task بودند. یعنی هر برنامه ای که اجرا می شد تمام منابع سیستم عالم را در اختیار میگرفت و تا زمانی که کار آن برنامه تمام نشده بود, برنامه دیگری نمیتوانست اجرا شود. سیستم عامل MS-DOS (که یک سیستم عامل single Task بود) در این زمان ارائه شد. MSDOS به دلیل استفاده از assembler سیستم عامل پر سرعت و کم حجمی بود. API های DPS تنها مجموعه ای از وقفه ها بودند.

در اوایل دهه 80 پایه های API های ویندوز با استفاده از زبان c نوشته شد. این API ها مخفیانه طراحی می شدند تا کسی از نحوه کار آنها با خبر نشود. در آن API ها صدها تابع از نام های طولانی و بعضا مرموز وجود داشت. انتقال به ویندوز برنامه نویسی را دچار تحول اساسی کرد. برنامه نویس ها می بایست برای برنامه های خود طراحی گرافیکی نیز انجام داده و از خواص multi tasking نیز استفاده می کردند. سیستم عاملهای multi task بر خلاف single task ها این قابلیت را دارد که چندین برنامه را بطور همزمان اجرا کند. در آن زمان خیلی از برنامه نویسان در برابر استفاده از ویندوز ایستادگی کردند و می گفتند برنامه نویسی در ویندوز کند, زمان گیر و پیچیده است. شاید وقتی قسمت های بعدی این کتاب را ببینید بگویید برنامه نویسی در ویندوز بسیار کار ساده ای است, اما در آن زمان ابزارهای فعلی وجود نداشت, برای یک برنامه ساده های که قرار بود در ویندوز اجرا شود و محیط گرافیکی داشته باشد. باید هزاران خط کد نوشته می شد. البته هم اکنون نیز بعضی از برنامه ها برای کنترل دقیق تر از ابزارهای low level2 ترک استفاده می کنند.

به دلیل این تغییرات و راحتی در استفاده, ویندوز در بسیاری از کامپیوتر های رومیزی به کار گرفته شد. در سال 1991 اولین نسخه ویژوال بیسیک ارائه شد. زبانی ساده کارا برای کسانی که خود را درگیر پیچیدگی های برنامه نویسی c نمی کردند.

ویژوال بیسیک تاریخ جالبی دارد. زبانی که به آرامی رشد کرد و اکنون به یکی از متداول ترین زبانهای دنیا تبدیل شده است. ویژوال بیسیک 3 به ما امکان استفاده از بانک های اطلاعاتی را می داد. ویژوال بیسیک 4 امکان کامپایل کردن برنامه برای سیستم عاملهای 16 بیتی و 32 بیتی را فراهم کرد, همچنین در این نسخه امکان نوشتن com یا dll ایجاد شده بود. در نسخه 15 امکان ساختن Activex control ها محیا شد و درآخر, در نسخه 6 کل برنامه از ابتدا نوشته شد. کامپایلر که از نسخه 5 از حالت مفسری درآمده بود سرعت بیشتری به برنامه ها داد. همچنین امکان ساختن control ها برای وب و interface و inheritance نیز اضافه شد.

دنیای کامپیوتر بار دیگر نیز متحول شد و این بار اینترنت محول اصلی تغییرات است. نیاز ما به اینترنت حتی با سال گذشته قابل مقایسه نیست. امروزه اکثر برنامه ها از اینترنت محور اصلی تغییرات است. نیاز ما به اینترنت حتی با سال گذشته قابل مقایسه نیست. امروزه اکثر برنامه ها از اینترنت استفاده می کنند حتی در استراتژی جدید بعضی شرکت های بزرگ تغییر ایجاد شده و دیگر برنامه ها برای نصب بر روی سی دی ارائه نمی شود و همه چیز web based خواهد بود.
2-2 دنیای NET

تمام این تغییرات دست به دست هم دادند تا نیازهایی را به وجود آورند که در نهایت منتهی به ایجاد دات نت شد. در دات نت کاربران می توانند اطلاعاتشان را در محیط, زمان, مکان یا هر دستگاهی بازیابی کنند چند سال پیش استفاده از تکنولوژی دات نت می توانید برای گوشی تلفن همراه خود برنامه بنویسید. حتی مایکروسافت تلاش می کند پای دانت نت را به دستگاه های خود پرداز (ATM) نیز باز کند. در حال حاضر پروژه های در دست اجراست که برنامه هایی که با دات نت نوشته می شود را بتواند بر روی سیستم عامل های دیگر اجرا کند.

بر اینکه کمی بیشتر با مزایای دات نت آشنا شویم مثالی از یکی از کاربردی ترین امکانات دات نت را ذکر می کنم. فرض کنید برنام تجاری داریم و شرکتی از آن استفاده می کند که دارای چندین دفتر در سراسر کشور است. پس از مدتی مدیر تصمیم می گیرد حقوق گروه خاصی از کارمندان را 05 درصد افزایش دهد در مدل قدیمی اعمال چنین تغییری می توانست مشکلاتی به بار آورد, اگر برنامه از DCOM استفاده می کرد مشکل اول پیاده سازی خود DCOM بر روی اینترنت و بستر مخابراتی ایران بود و مشکل دوم بروز رسانی آن. در ویندوز همان طور که می دانید DLL ها نصب و در registry کدی برای آنها نوشته می شود. هر DLL یا COM شماره ای مانند 112002 برای مشخص کردن نسخه آن است. اگر نسخه جدید DLL ما که حاوی اطلاعات حقوق است را بدون در نظر گرفتن این نکته نصب می کردیم امکان داشت نسخه جدید DLL ما که حاوی اطلاعات حقوق است را بدون در نظر گرفتن این نکته نصب می کردیم امکان داشت نسخه قبلی و جدید باهم تداخل پیدا کنند و برنامه دیگر کار نکند. در دات نت با استفاده از تکنولوژی به نام وب سرویس این کار به راحتی انجام می شود. کافی است اطلاعات جدید برای استفاده روی سرور قرار گیرد برنامه های دفترهای سراسر کشور یا online از وب سرویس استفاده می کنند یا اطلاعات جدید را از آن گرفته و بصورت offline آنها را به کار می گیرند.

مشکلی که در بالا برای DLL ها به آن اشاره شد DLL Hell نام دارد, این مشکل در دات نت رفع گردیده است. DLL هایی که در دات نت ساخته می شوند احتیاج به نصب شدن ندارند. کافی است فقط آن را کپی کنیم برنامه ما هر مقدار هم بزرگ و پیچیده باشد احتیاج به نصب ندارد. کافی است با دستور xcopy آن را کپی کنیم. هر چند توصیه می شود برای کاربر نهایی (end user) با استفاده از installer یک نسخه آماده نصب بسازیم زیرا برنامه installer می تواند علاوه بر کپی کردن فایلها برنامه ما, روی دستکتاپ Icon ایجاد کند و برنامه را به programs در منوی start اضافه کند. قبل از دات نت اگر ما برنامه ای را uninstall می کردیم امکان داشت DLL هایی را که مربوط به دیگر برنامه ها بود را هم حذف کند واین باعث می شود برنامه های دیگر هم از کار بیافتد. ولی در دات نت هر برنامه می تواند کپی مخصوص خود را داشته باشد در هنگام uninstall شدن فقط فایلهای مربوط به همان برنامه حذف می شود.

3-2 توضیحاتی در مورد NET. Framework
NET. Framework برنامه ای است که به عنوان یک لایه جدید روی سیستم عامل قرار می گیرد, خود دات نت از لایه های مختلفی تشکیل شده است.
قلب دات نت CLR یا common language runtime است. CLR مسئول اجرای برنامه هاست. با استفاده از خصوصیات CLR امکان استفاده از برنامه هایی که در یک زبان برنامه نویسی نوشته می شود در زبان دیگر وجود دارد. در دات نت نوع های داده ها توسط CLR یکسان سازی شده اند تا در هنگام استفاده از آنها در زبان های دیگر مشکل پیش نیاید. البته این هدف باعث شد بعضی از انواع داده الکترونیکی که در ویژوال بیسیک 6 مورد استفاده قرار می گرفت مانند variant در دات نت حذف شود.

همان طور که در شکل 1-1 مشاهده می کنید در بالاترین سطح کامپایلرهای سی شارپ, ویژوال بیسیک C++ و دیگر زبان ها وجود دارد. در قسمت بعدی CLS یا common language specifications قرار گرفته ات. این لایه مسئول بررسی این است که آیا کامپایلر و زبان خصوصیات پایه ای برای CLR یا تبادل اطلاعات با دیگر CLS ها را دارد یا خیر. با این وسیله تضمین می شود که وقتی شرکتهای دیگر زبان یا کامپایلرهای دیگری برا دات نت بنویسند محصول آنها با دیگر محصولات هماهنگ خواهد بود.
Web serveces مسئول ایجاد محیط کاربری تحت وب (uder interface) است. علاوه بر این کنترل ارتباط با وی, پروتکل های آن, امنیت و دیگر مسائل مربوط نیز بر عهده این قسمت می باشد. در دات نت برنامه ای که برای win 32 app winsows rorm نوشته شود: با کمی تغییر می تواند تحت وب و در web forms اجرا شود.
در مقابل web services قسمت interfaces قرار دارد. User interface مسئول برقراری ارتباط در محیط ویندوز با استفاده از winsows forms است.

Xml Data لایه های بعدی هستند. دات نت برای انتقال اطلاعات بر روی وب از xml استفاده می کند.
Bcl یا Basic Class Library مسئول نگهداری کلاسهای اصلی دات نت است هر چیزی در دات نت یک کلاس است و همه کلاس ها از کلاس اصلی system منشعب می شوند (در فصل های آینده مطالب کاملی در این مورد ذکر می کنیم) اطلاعات کامل تر در مورد CLR و ساختارش, Data, Meta, JIT Compiler را به کتاب پیشرفته موکول می کنیم.
3- آشنایی با محیط ویژوال استدیو دات نت

1-3 نصب ویژوال استودیو دات نت
در ایران نسخه های مختلفی از ویژوال استودیو دات نت وجود دارد که بعضی از آنها کامل نیستند. بعضی نسخه ها مثال ها (samples) را ندارند و بعضی دیگر راهنمای MSDN را. لذا در هنگام نصب باید این نکته را در نظر داشته باشید که ممکن است در مراحل نصب بعضی فایلها وجود نداشته باشند و برنامه نصب کننده پیغام های خطای زیادی بدهد. بهتر است در صورت مواجه شدن با چنین حالتی از نصب خارج شده, دوباره آن را شروع کنید, ولی این بار فراموش نکنید که فایلهایی را که وجود نداشتند انتخاب نکنید.
اولین مرحله نصب, بروز رسانی سیستم شماست. نصب IE6, NET Framework از مراحل اساسی برای دات نت است. البته باید توجه داشته باشید که ویژوال استودیو دات نت بر روی ویندوزهای NT نصب می شود و برنامه ای که با دات نت می نویسید بر روی ویندوز 98 با بالا قابل اجرا خواهد بود. دیسک بروز رسانی معمولا دیسک آخر از سری سی دی هایی است که شما خریداری کردید. وقتی که دیسک اول فایلهای برنامه نصاب کپی شد از شما دیسک winsows component update را می خواهد که همان دیسک به روز رسانی ماست. بعد از بروز رسانی و احتمالا با راه اندازی مجدد سیستم دوباره دیسک اول را از شما می خواهد.

در این مرحله شما برنامه هایی که مورد نیازتان است را از لیست انتخاب می کنید تا نصب شود. اگر دیسک سخت شما جای کافی دارد از language tools هر دو زبان ویژوال بیسیک و سی شارپ را انتخاب کنید, در صورتی که از کامل بودن دیسکهای خود مطمئن هستید اجازه دهید تمامی برنامه هایی که خود برنامه نصب کنده انتخاب کرده است نصب شود. مسیر و مکانی که برای کپی شدن فایلها مورد نظرتان است را در سمت راست می توانید انتخاب کنید. همچنین حجمی که فایلهای انتخاب شده اشغال میکند و فضای خالی پارتیشن ها نیز در سمت راست مشخص است. بعد از انتخاب های مناسب, بر روی Install Now کلیک کنید. بستگی به میزان فایلهایی که انتخاب کردید زمانی در حدود نیم ساعت طول می کشد تا برنامه نصب شود و شما پیغام Done را ببینید.

مرحله بعدی بروز رسانی- خود ویژوال استودیو دات نت است. ویژوال استودیو دات نت نیز دارای سرویس پک است که می توانید آن را از سایت مایکروسافت دریافت کنید.
2-3 اجرا
بعد از نصب می توانید ویژوال استودیو را از منوی programs انتخاب و اجرا کنید. در ویژوال استودیو دات نت بر خلاف نسخه های قبلی تمامی محیط های برنامه نویسی از یک IDE استفاده می کنند ودیگر مانند ویژوال بیسیک 6 و ویژوال سی 6 و Inter Dev نیست که محیط هایی کاملا مجزا داشته باشند شکل ظاهری ویژوال استودیو را بسته به علاقه ای که دارید می توانید انتخاب کنید به چه صورت باشد.
ما در اینجا همه چیز را همان پیش فرض های ویژوال استودیو دات نت انتخاب می کنیم. البته می توان همه چیز را برای ویژوال بیسیک تغییر داد, ولی ما معتقدیم در دات نت باید بتوانیم از همه قابلیت ها استفاده کنیم و خودمان را محدود به بیسیک یا سی شارپ نکنیم, اعمالی هست که در یکی آسان تر از دیگری انجام می شود, پس بهتر است از قابلیتهای هر دو بهره ببریم.

همان طور که در شکل می بینید سه بخش در صفحه اصلی وجود دارد, بخش My Profile نیاز به توضیح اضافه ندارد. بخش projects قسمتی است که آخرین پروژه های باز شده را لیست کرده است, همچنین دکمه هایی برای باز کردن پروژه هایی که در لیست وجود ندارد و ساختن پروژه جدید وجود دارد, در بخش online Resources نیز (در صورتی به اینترنت متصل باشید) امکاناتی نظیر دریافت فایل, نمونه برنامه, اخبار و دیگر عناوین وجود دارد.
حالا برای شروع کار از قسمت projects روی project New کلیک کنید. البته همین کار از منوی file> New> project هم می توانید انجام دهید این کار از طریق Toolbar از آیکونی که شکلش را در زیر می بینید. نیز امکان پذیر است.

وقتی صفحه New project باز شود شکلی مانند زیر به شما نمایش داده می شود.
همان طور که در شکل می بینید در سمت چپ نوع کلی پروژه و در سمت راست نوع دقیق آن را می توانید مشخص کنید. انواع کلی مانند پروژه های ویژوال بیسیک, پروژه های سی شارپ یا پروژه هایی که برای ساختن برنامه نصاب به کار می روند می باشد. وقتی روی هر نوع کلی کلیک کنید انواع پروژه های زیر مجموعه آن را در سمت راست نمایش می دهد. در شکل بالا بعضی از انواع پروژه های ویژوال بیسیک را می بینید, مانند, ASP, NET Web Application, class library, windows Application یا Application smart Device توجه کنید و با کلیک بر روی هر کدام از انواع پروژه ها روش نام گذاری و مکان ذخیره سازی آن نیز تغییر می کند. در مدل windows Application شما نام پروژه خود را می نویسید و جعبه متن location پوشه کلی آن را انتخاب می کنید. در شکل زیر مدل ASP.NET را می بینید که در آنجا نحوه نام گذاری متفاوت است.
مسیرهایی که به عنوان مسیر پیش فرض وجود دارد. در منوی Tools> Options قابل تغییر است. برای ادامه کار یک winsows Application انتخاب و برای نام از myproject –001 استفاده می کنیم. سپس بر روی کلید ok کلیک می کنیم. محیط ویژوال استودیو باید مانند شکل زیر بشود.

محیط ویژوال استودیو از چند بخش مهم تشکیل شده است
solution Explorer
Toolbox
Server Explorer و محیط کد نویسی و طراحی فرم
3-3-solution Explorer
این قسمت همان طور که در شکل زیر مشخص است نمایش دهنده کلیه فایل ها و کلاس های پروژه ما در مورد کلاس ها و نحوه ساختن آنها در فصل های آینده مطالبی را خواهیم دید.
در ویژوال استودیو اصطلاحی به نام Solution (راه کار) وجود دارد هر solution می تواند حاوی تعدادی پروژه باشد. همان طور که در شکل راست می بینید شاخه اصلی درخت فوق یک solution است و Myproject-001 یک پروژه یا یک شاخه از آن, با double click بر روی هر کدام از فایلها یا شاخه های درون solution Exporer محتویات آن فایل یا شاخه نمایش داده می شود.
4-3 propertis

قسمت مهم دیگر پنجره properties است. Property به معنی خاصیت می باشد (با این مفهوم در بحث oop بیشتر آشنا می شویم), در این پنجره شما خاصیت های هر یک از اجزایی که بر رویش کلیک کرده اید را می بینید. در شکل زیر خواص فرم اصلی که به شکل پیش فرض در پروژه وجود دارد را می بینید.
درباره خواص معروف کنترل ها در بخش های بعدی توضیحاتی خواهید دید ولی در حال حاضر جلوی خاصیت Text عبارت myFirstApp را به جای Forml می نویسیم و کلید Enter را می زنیم. اگر دفت کنید عنوان فرم ما تغییر کرد.

پنجره دیگری که دقیقا در همان مکانی که properties وجود دارد, قرار گرفته است Dynamic Help است. در صورتی که ویژوال استودیو دات نت را کامل نصب کرده باشید, هنگام برنامه نویسی یا هنگام ساختن شکل ظاهری فرم یا هر چیزی که تایپ می کنید: اگر ویژوال استودیو اطلاعاتی درباره آن داشته باشد, در آن پنجره نمایش می دهد. این امکان در صورتی خوب است که کامپیوتر بسیار سریعی داشته باشید زیرا برای هر کلمه ای که تایپ کنید ویژوال استودیو MSDN را جستجو می کند
5-3 Toolbox

پنجره ای که در بخش کناری سمت چپ قرار دارد و اگر موس را روی آن ببرد فعال می شود و حاوی کنترل هایی برای استفاده بر روی فرم است را Tool box می نامند.
کنترل هایی که در این منو و tab های آن وجود دارد را می توانید با drag& drop بر روی فرم قرار دهید برای نمونه یک کنترل از نوع Button را بر روی فرم قرار می دهیم.
بر روی button یک بار کلیک می کنیم تا خواص آن در پنجره properties نمایش داده شود. جلوی Text به جای Buttonl عبارت Hello world را تایپ می کنیم و کلید Enter را می زنیم.
دو tab دیگر در زیر Toolbox قرار دارد, اولی Explorer server است و با دومی در کتاب های ASP.NET آشنا می شوید. در server Explorer لیست سرورهایی مانند SQLServer که به آنها متصل هستید یا قبلا متصل شده اید یا دیگر اجزای سرویس دهنده ویندوز وجود دارد توضیحات تکمیلی در کتاب های پیشرفته تر خواهد بود.

همان طور که مشاهده می کنید همه این پنجره ها در اطراف صفحه به شکلی جاسازی شده اند, می توانید با drag & drop آنها را از حالت dock خارج کنید تا در وسط یا هر جای دیگر قرار گیرند. البته به شما پیشنهاد می کنیم ترکیب فعلی را تغییر ندهید, بهترین حالت همین حالتی است که طراحان- ماکیروسافت ایجاد کرده اند.
محیطی که در وسط صفحه دیده می شود همان محیط طراحی فرم است که باید شکل ظاهری برنامه خود را نقاشی کنید. می توانید عکس, منو, لیست, جعبه متن و خیلی کنترل های دیگر بر روی آن قرار دهید برای دیدن محیط کد نویسی دو بار بر روی Button که ساختیم کلیک می کنیم تا شکلی مانند زیر ظاهر شود.

اینجا محیط متنی است. محیطی که بخش اصلی کار ما به عنوان برنامه نویس با آن می باشد. این قسمت از ویژوال استودیو دات نت نیز از شکل tab استفاده می کند, یعنی همان طور که در بالای شکل می بینید نوشته است form 1. Vs [Design] اگر به روی آن کلیک کنید دوباره محیط طراحی شکل ظاهری فرم نمایان می شود. به همین ترتیب می توانید تعداد زیادی فرم یا فایل باز شده داشته باشید بدون اینکه مزاحم یکدیگر باشند. در مورد اینکه هر یک از بخش های این نوشته ای که می بینید بیانگر چه مطلبی است در فصلهای آینده توضیحاتی خواهید دید ولی در اینجا برای اینکه اولین برنامه مان را نوشته باشیم که خط کد می نویسیم. بین End sub, private sub ی که در شکل مشخص است این خط را می نویسیم
اگر دقت کرده باشیم وقتی بعد از تایپ Message Box نقطه را تایپ کردیم یک لیست برایمان باز شد و وقتی show را تایپ کردیم عملا مانند این بود که show را از لیست انتخاب کنیم. به این قابلیت پیشرفته intellsence می گویند.

این یکی از مفید ترین تکنولوژی هایی است که مایکروسافت در اختیار برنامه نویسان قرار داده تا تمامی خواص و اجزای اشیا را به خاطر نسپارند. ویژوال بیسیک بجای ما خواص اشیا را حفظ می کند, ما فقط کافی است نگاهی به لیست بیندازیم. البته در مورد اینکه در این لیست چه چیزهایی نمایش داده یم شود مفصل توضیح خواهیم داد.
حالا اولین برنامه حاضر است, کافی است مانند تمامی نسخه های ویژوال بیسیک کلید F5 را بزنیم برنامه ما اجرا می شود و وقتی بر روی کلید آن کلیک کنیم شکلی مانند زیر نمایش داده می شود.

برای اجرا از toolbar شکلی مانند play را هم می توانید انتخاب کنید:
ویژوال استودیو دارای toolbar های بسیار زیادی است که شما به عنوان کاربر حرفه ای ویندوز با اسامی آنها آشنایی دارید.
یکی از مفید ترین امکانات ویژوال استودیو امکان نمای شماره خط برنامه است. اگر این قاطعیت بصورت پیش فرض فعال نبود، برای فعال کردن آن به منوی Tools > options می رویم و در آنجا مطابق شکل زیر در قسمت Display علامت چک را برای line Numbers فعال می کنیم.
4- مفاهیم پایه

1-4 آشنایی با الگوریتمها
هر برنامه کامپیوتری به منظور حل کردن یا چند نوشته می شود. بعضی از مساله ها را می توان به راحتی با یک فرمول ریاضی حل کرد ولی بسیاری از مساله ها با فرمولهای ریاضی قابل حل نیستند. فرض کنید به ما ده عدد غیر تکراری داده شده و از ما خواسته اند عدد x را در آنها پیدا کنیم. راه حلی که ما استفاده می کنیم این است که ابتدا عدد x را با اولین عنصر از آن ده عدد مقایسه می کنیم، اگر درست بود می گوییم اولین عدد x است واگر درست نبود عدد x را با دومین عدد مقایسه می کنیم. این کار را آن قدر ادامه می دهیم تا مقدار یکی از اعداد برابر x باشد یا اینکه به انتهای لیست اعداد برسیم، به روش حل مرحله به مرحله مساله، الگوریتم مساله می گویند. که مبتکر آن خوارزمی، دانشمند ایرانی، است.
الگوریتم سه جز پایه دارد. توالی، انتخاب و تکرار.
1-1-4- توالی
گفتیم الگوریتم روش حل مرحله به مرحله یا قدم به قدم یک مساله است. معمولا هر مرحله از الگوریتم را در یک خط جدا می نویسند و به آن یک دستور می گویند. دستورات بطور متوالی و پشت سر هم اجرا می شوند. برای مثال الگوریتم شکستن یک شیشه (!) بصورت زیر است:

1-یک سنگ از روی زمین پیدا کن
2- سنگ را در دست بگیر
3-شیشه مورد نظر را پیدا کن
4-هدفگیری کن
5- سنگ را بطرف شیشه پرتاب کن
6- پایان
با الگوریتم اجرا کردن ویژوال بیسیک دات نت بصورت زیر است
1- نشانگر موس را روی دکمه start ببر.
2- کلیک کن.
3- نشانگر موس را روی programs ببر.
4- کلیک کن.
5- نشانگر موس را روی شاخه Microsort Visual .Net ببر.
6- کلیک کن.
7- نشانگر موس را روی آیتم Microsoft Visual studio ببر.
8- کلیک کن
9- پایان
دستورات یک الگوریتم بطور متوالی واز بالا به پایین اجرا می شون و هر تغییری که یک دستور در محیط ایجاد کند روی دستورات بعدی تاثیر می گذارد. به الگوریتم زیر توجه کنید:
1- x را برابر 2+3 قرار بده.
2- Y را برابر 10 قرار برده.
3- Z را برابر y+x قرار بده .
4- Z را برابر x-y قرار بده.
5- پایان

بر طبق آنچه در مورد توالی آموختیم ابتدا x مقدار 3+2 می گیرد بنابراین مقدار آن برابر 5 می شود. این تغییر مقدار x از مقدار قبلی (که نمی دانیم چند بوده) به مقدار فعلی (عدد 5) می تواند روی دستورات بعدی تاثیر گذار باشد. دستور دوم مقدار قبلی y را به 10 تغییر می دهد. و دستور سوم مقدار x و y برابر با 5 و در z قرار می دهد. منظور از مقدار x و y آخرین مقداری است که درآنها قرار گرفته .پس مقدار x برابر با 5 و y برابر با 10 است. در نتیجه مقدار z برابر با 15 خواهد شد. این همان تاثیر مراحل قبلی روی مرحله بعد از خودش است. خط چهارم نیز ار مراحل قبلی تاثیر می گیرد اما دقت کنید که در این مرحله بار دیگر به z مقدار داده می شود پس مقدار فعلی z اهمیتی ندارد (همانطور که در مراحل یک ودو، مقدار x و y قبل از مقدار دهی اهمیتی نداشت) و z برابر 5 می شود

2-1-4 انتخاب
یکی دیگر از اجزای پایه یک الگوریتم، انتخاب است. ما در هر مرحله از یک الگوریتم می توانیم بسته به شرایط تصمیم بگیریم که مرحله بعدی مرحله چندم باشد. الگوریتم روشن کرد کامپیوتر می تواند به شکل زیر باشد.
1-کلید power کامپیوتر را فشار بده.
2- کلید power مونیتوز را فشار بده.
3- پایان
در نگاه اول این الگوریتم درست بنظر می رسد. ولی اگر مونیتور یا کامپیوتر روشن باشند، فشار دادن دکمه باعث خاموش شدن آنها می شود و پس الگوریتم درست کار نکرده است. الگوریتم اصلاح شده با استفاده از انتخاب در زیر آمده است:
1-اگر کامپیوتر خاموش است
1-1 کلید power کامپیوتر را فشار بده.
2- اگر مونیتور خاموش است
2-1 کلید power مونیتور را فشار بده.
3- پایان

اگر شرط مرحله اول برقرار باشد، دستورات زیر مجموعه آن انتخاب می شوند. در غیر اینصورت آن دستورات انتخاب نخواهند شد. و دستور بعدی دستور 2 خواهد بود. برای مرحله دوم نیز شرایط به همین شکل است .
3-1-4 تکرار

سومین جزء پایه از اجزای الگوریتم، تکرار است. با استفاده از تکرار می توانیم یک یا چند مرحله (دستور ) از الگوریتم را به تعداد دفعات خاص یا تا وقتی که شرایطی خاص برقرار شود تکرار کنیم. الگوریتم جستجویی که در ابتدا بحث مطرح کردیم در زیر بشکل ساختیافته تری آمده است.
1- x و n1 تا n10 را دریافت کن.
2- I را برابر با 0 قرار بده.

3- کارهای زیر را تا وقتی y با x برابر نیست تکرار کن.
4- I را برابر i+1 قرار بده.
5- اگر I بزرگتر از 10 است برو به 5
6- Y را برابر از 10 است برو به 5 .
7- I را اعلام کن.
8- پایان
در اینجا مراحل زیر مجموعه 3 تا وقتی که y با x برابر نیست اجرا می شوند.

یک الگوریتم را می توان مانند این مثالها به زبان فارسی نوشت، یا به زبان انگلیسی یا با یک زبان برنامه نویسی کامپیوتری. وقتی یک الگوریتم به یک زبان برنامه نویسی کامپیوتری بیان شود، به آن برنامه کامپیوتری می گوییم.
2-4- آشنایی با شی گرایی
آشنایی با شی گرایی از این جهت برای ما لازم است که ویژوال بیسیک دات نت یک زبان برنامه نویسی شی گرا است و تمام مفاهیم آن بر مبنای شی گرایی بنا نهاده شده.
1-2-4 چرا شی گرایی؟

اواخر دهه 1960 که شیی گرایی اولین قدمهای خود را بر می داشت: زبانهای برنامه نویسی رویه ای مانند C.pascal و Fortran در اوج قدرت بودند. این نسل از زبانهای برنامه نویسی بطور ساده به کامپیوتر می گویند که چه کاری را انجام دهد. مثلا یک عدد از ورودی بگیر، آن را 10 برابر کن وسپس نمایش بده. به عبارت دیگر این زبانها (زبانهای رویه ای) شامل لیستی از دستورات هستند که بدنبال هم اجرا می شوند.
اما وقتی همه دستورات بدنبال هم نوشته شود حتی بهترین برنامه نویسها هم نمی توانند ازآن سر در بیاورند. پس برای سامان بخشیدن به این وضعیت هر برنامه را به تعداد زیر برنامه (تابع) تقسیم کردند.

هر چند که این سازماندهی مشکلات را تا حدودی رفع می کند اما در برنامه های بزرگ، آشفتگی باز هم نمایان می شوند. مشکل این روش کجاست؟ در حقیقت مشکل اصلی مربوط به وضعیت داده ها در این روش برنامه نویسی می شوند. مشکل این روش کجاست؟ در حقیقت مشکل اصلی مربوط به وضعیت داده ها در این روش برنامه نویسی می شوند. مشکل این روش کجاست؟ در حقیقت مشکل اصلی مربوط به وضعیت داده ا در این روش برنامه نویسی است (در یک برنامه که 2 را با 3 جمع می کند، داده ها 2 و 3 هستند و در یک برنامه انبارداری، داده ها کالاهای موجود در انبار)
2-2-4 کم ارزش بودن داده ها

در برنامه نویسی رویه ای (ساختیافته) داده ها بسیار کم ارزشند وتاکید بر روی (انجام یک کار) است. همانطور که گفتیم هر زیر برنامه (کاری انجام می دهد) اما برای ما داده ها بیشتر از توابعی که کارهایی بر روی آنها انجام می دهند. اهمیت دارند. برای مثال در یک فروشگاه آنچه بیشترین اهمیت را دارد، کالاها هستند: نه کسی که تعداد آنها را می شمارد یاکسی که آنها را به مشتری می دهد.
3-2-4 دسترسی به داده ها

در برنامه نویسی رویه ای اگر تعداد زیر برنامه هایی (توابعی) که می خواهند به یک داده دسترسی داشته باشند بیشتر از یکی باشد، باید آن داده بصورت سراسری تعریف شود و در اختیار تمام زیر برنامه ها قرار بگیرد. این وضعیت را می توان به جا گذاشتن اسناد محرمانه در ورزشگاه صد هزار نفری آزادی تشبیه کرد! هرگز نمی توانیم اطمینان داشته باشیم که یک داده سراسری فقط توسط زیر برنامه هایی که ما مجاز می دانیم تغییر داده شود.
4-2-4 عدم شباهت به دنیای واقعی

یک زیر برنامه مشابه چه چیزی در دنیای واقعی است؟ داده ها مشابه چه چیزهایی هستند؟ اجازه بدهید در مورد یک مثال خاص صحبت کنیم. فرض کنید می خواهیم برنامه ای برای کنترل یک آسنانسور بنویسیم. در یک چنین برنامه ای چه توابعی داریم؟ چه داده هایی داریم؟ در یک فروشگاه چطور؟ جواب دادن به این سوالها واقعا سخت است. چون توابع و داده ها هیچ معادلی در دنیای واقعی ندارند. درحقیقت توابع در برنامه نویسی رویه ای فقط یک تکه از برنامه هستند و دلالت بر انجام یک کار دارند. پس نمی توان برای آنها نمونه ای در دنیای واقعی پیدا کرد.
5-2-4- شی گرایی

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

کلاس (class): در مدرسه یاد گرفتیم که چطور اشیا را طبقه بندی کنیم. بلوط را در طبقه درختها و گرانیت را در طبقه سنگها قرار می دادیم. مفهم (کلاس) در برنامه نویسی شی گرا مانند مفهوم طبقه است. البته درمودر طبقه بندی، دنیای واقعی با برنامه نویسی شی گرا تفاوت کوچکی دارد. در دنیای واقعی اشیایی که وجود دارند را طبقه بندی می کنیم. اما در برنامه نویسی شی گرا اول یک کلاس (طبقه ) تعریف می کنیم سپس شی را به عنوان نمونه ای از آن کلاس (طبقه) ایجاد می کنیم (شاید اگر دنیای واقعی را خودمان ایجاد می کردیم آنجا هم از همین روش استفاده می کردیم) . به عبارت دیگر یک کلاس می گوید که اشیاء این کلاس (طبقه) چه داده هایی دارند. البته کلاس مشخص نمی کند که این داده ها چه مقدارهایی دارند. همچنین کلاس تعیین می کند که اشیایی که از این کلاس ایجاد می شوند چه متدهایی دارند و چه رویدادهای می تواند برای آنها اتفاق بیفتد.

ویژوال بیسیک دات نت استاندارد حدود 7000 کلاس دارد، علاوه بر اینها ما می توانیم کلاسهای مورد نیاز خودمان را از اینترنت دریافت با خودمان کلاس جدیدی ایجاد کنیم.
داده ها: هر شی اطلاعاتی به ما می دهد. که به آنها داده (data) می گوییم، برای مثال شی صندلی در باره رنگ وزنش اطلاعاتی به ما می دهد. بعضی از اطلاعات یک شی را می توان تغییر داد می توانیم رنگ یک صندلی را تغییر دهیم. اما بعضی اطلاعات قابل تغییر نیستند. اطلاعات، در برنامه نویسی شی گرا به دو گروه تقسیم می شوند. به یک گروه آن فیلد (Field) و به دیگری خاصیت (property) می گویند. بطور غیر رسمی از واژه خاصیت (property) برای فیلد نیز استفاده می شود.
تذکر: کلاس نمی گوید وزن شی چقدر است کلاس فقط می گوید که نمونه هایی از اشیاء که از روی این کلاس (صندلی) درست می شوند داده ای به نام وزن دارند که یک عدد در خود نگهداری می کند.

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

3-4 مروی بر مشکلات زبانهای رویه ای
آیا واقعا شی گرایی مشکلات زبانهای رویه ای را حل کرده است؟ مشکل اول ارزش کم داده ها بود که این مشکل حل شده است. چون جز اصلی برنامه نویسی شی گرا (شی) است که در حقیقت همان داده ما است. مشکل بعدی امنیت دسترسی به داده ها بود. در برنامه نویسی شی گرا هر شی می تواند داده های خود را طوری محافظت کند که هیچ شی دیگری جز خودش نتواند آنها را تغیی بدهد یا حتی فقط شباهت با دنیای واقعی ماند. این شباهت بقدری زیاد است که ما برای توضیح دان شی گرایی از دنیای واقعی کمک گرفتیم.

1-3-4- مقایسه با میز غذا خوری
رابرت لی فور در کتاب برنامه نویسی با c++ خودش برای نشان دادن تفاوت برنامه نویسی شی گرا و رویه ای از یک میز غذا خوری استفاده کرده است.
یک مهمانی با 30 مهمان (تابعها) با تصور کنید که همه دور یک میز نشسته اند و غذا (داده ها) بین آنها روی میز است دست همه مهمانها به همه غذا ها می رسد و بخاطر همین هیچوقت از دیگری برای برداشتن غذا کمک نمی خواهند یکی از مهمانها می خواهند کباب را از آنطرف میز بردارد وبشقابش یکی دیگر می خورد. آستین یکی در خورشت فرو می رود و دیگری بجای اینکه سوپ را در بشقاب خودش بریزد روی دست بقل دستی می ریزد. این وضعیتی است که در برنامه های رویه ای پیش می آید. حال فرض کنید که بجای یک میز 30 نفره از 6 میز 5 نفره استفاده شود. و غذاهای مختلفی روی میزها چیده شود. مهمانها سر میزهایی می نشینند که به غذای آن علاقه بیشتری دارند و هر کدام که غذای میز دیگر را خواستند، از یکی از کسانی که سر آن میز نشسته است می خواهند که غذا را به آنها بدهد. این وضعیت شبیه وضعیت برنامه نویسی شی گرا است.
2-3-4- شی ما چه جزییاتی لازم دارد؟

آیا برای ایجاد یک شی باید همه جزییات آن شی را ایجاد کنیم؟ جواب منفی است. ما از شی فقط چیزهایی را ایجاد می کنیم ه به آنها احتیاج داریم. در یک برنامه ی بستنی، به یک بستنی فروشی احتیاج داریم. بستنی فروشی طول، عرض، ارتفاع، آدرس، رنگ در، شکل کاشی های دیوار، رنگ سقف، تعداد بستنی، تعداد نون بستنی، تعداد کارمندف تعداد و حجم یخچال و هزار و یک داده دیگر دارد. این شما هستید که تشخیص می دهید کدام داده برای شی بستنی فروشی در برنامه لازم ولازم و کدام اضافه است. در حقیقت ما قبول می کنیم که دنیای واقعی پیچیده تر از آن است که بتوانیم آن را بطور کامل ایجاد کنیم. پس با حذف کردن بعضی بخشهای اضافه (که به کار ما مربوط نیست) به بخشهای باقیمانده بیشتر می پردازیم. به داده ای که اینگونه خلاصه شده است، داده مجرد یا انتزاعی (abstract) هم گفته می شود. به داده مجرد بعلاوه توابع مورد نیازش یک (نوع داده مجرد (Abstract Type) می گویند. حال می توانیم بگوییم که کلاس یک نوع داده مجرد (انتزاعی ) است.
3-3-4- آیا شی باید در دنیای واقعی وجود داشته باشد؟
جواب خیر است. زبان برنامه نویسی هیچ اهمیتی نمی دهد که شیی که ما ایجاد می کنیم در دنیای واقعی وجود دارد یا خیر و هیچ اطلاعی هم در این باره نمی دهد. اگر هم شی مانند آنچه می خواهید ایجاد کنید در دنیای واقعی وجود دارد لازم نیست حتما شی شما همان مشخصات را داشته باشد. شاید شما کاملا در این زمینه آزادی عمل دارید.
تذکر: در نهایت اینکه هر چند زبانهای شی گرا به شما این قابلیت را می دهند که برنامه های شی گرا بنویسید ولی این کاملا به طرز فکر شما بستگی دارد و اینکه تا چه حدی شی گرا کار کنید. عملا می توان در یک زبان شی گرا هم کاملا رویه ای برنامه نوشت. در این صورت بسیاری از قابلیتهای زبان را بکار نبرده اید.
4-4- داده های پایه در VB-NET
گفتیم شی نمونه ای از یک کلاس می باشد و از طرفی، شی از داده ها و توابع تشکیل شده است. داده هایی که در ایجاد یک شی استفاده می شوند انواع مختلفی دارند، پرکاربردترین و عمومی ترین این داده ها پایه هستند، در این فصل با داده های پایه در VB.NET آشنا خواهیم شد و خواهیم دید که NB.NET امکان ایجاد چه داده هایی را به ما می دهد. یا به عبارت دیگر چه نوع داده هایی پایهای در VB.NET تعبیه شده است. بعضی از انواع داده اصلی در VB.NET عبارتند از:
نوع داده برای ذخیره یک مقدار نمونه
Short عدد صحیح کوچک 30000
Integer عدد صحیح بزرگ 123000000
Long عدد صحیح بسیار بزرگ 1844674407370950
Single عدد صحیح اعشاری 4504350
Double عدد اعشاری با دقت مضاعف 79228162514264335
Char کاراکتر یونیکد (د)
String رشته از کاراکترهای یونیکد، یک متن (visual Basic. NET)
Boolean مقدار false)) یا (true) true
1-4-4- نوع داده های صحیح

هر داده از نوع داده صحیح می تواند یک عدد صحیح می تواند یک عدد صحیح در خود نگه دارد. اعداد صحیح، اعدادی هستند که می توانند مثبت یا منفی باشند ولی نمی توانند اعشار داشته باشند. ویژوال بیسیک سه نوع داده برای ذخیره کردن اعداد صحیح در نظر گرفته است. تفاوت نوع داده های صحیح مختلف باهم در اندازه عددی است که می توانند در خود نگه دارند و حافظه ای که اشغال می کنند است.


برای دریافت پروژه اینجا کلیک کنید