تبلیغات
آموزش برنامه نویسی سی شارپ

تصاویر منتخب

دانلود مداحی ویژه شب قدر

حاج میثم مطیعی دانلود شب 19 ماه رمضان 96 ،  گلچین مداحی حاج میثم مطیعی برای شهادت حضرت علی (ع) ،  مداحی محمود کریمی برای شهادت حضرت علی و شب های قدر ،  حاج محمود کریمی - دانلود مداحی های ماه رمضان و شب های قدر 92 ،  دانلود آرشیو کامل مداحی حاج محمود کریمی در ماه رمضان و شب های قدر سال 93 ،  دانلود مداحی های حاج محمود کریمی در ماه رمضان و شب های قدر - مجموعه کامل صوتی ،  دانلود مداحی های حاج مهدی رسولی در ماه رمضان 1396 ،  دانلود مداحی شب 21 ماه رمضان حاج میثم مطیعی در سال 1393 ،  حاج میثم مطیعی دانلود مداحی شب قدر ،  دانلود مداحی حاج میثم مطیعی شب 23 ماه رمضان 94 ،  میثم مطیعی شب 21 رمضان سال 94 - روضه شهادت حضرت امیرالمؤمنین علی (ع) ،  حاج میثم مطیعی دانلود مداحی شب 21 ماه رمضان 95 ،  دانلود دعای جوشن کبیر با نوای حاج میثم مطیعی + متن دعا ،  در محفل گمنامی دلداده جانانیم، دلبسته دیرین میثاق شهیدانیم ،  حاج میثم مطیعی دانلود مداحی شب شهادت امام علی علیه السلام - مداحی ویژه شب قدر ،  دانلود شور کشتند مولا را همسر زهرا را با نوای میثم مطیعی ،  حاج میثم مطیعی روضه شهادت حضرت علی (ع) ،  حاج میثم مطیعی - روضه ضربت خوردن حضرت علی علیه السلام ،  دانلود آهنگ محمد علیزاده ماه عسل ۹۶ ،  دانلود تیتراژ ماه عسل 96 با صدای محمد علیزاده 

پنجره‌ی Properties

2.4.3 پنجره‌ی Properties

برای نمایش دادن پنجره‌ی Properties مبادرت به انتخاب View > Other Windows > Properties Window کرده و یا آیکون میله‌ی ابزار پنجره‌ی Properties را که در شکل 2.13 نشان داده شده است کلیک کنید. پنجره‌ی Properties خاصیت‌های مربوط به فرم انتخاب شده‌ی جاری (شکل 2.20)، کنترل یا فایل واقع در نمای طراحی را نمایش می‌دهد. پنجره‌ی Properties مشخص کننده‌ی اطلاعاتی درباره‌ی فرم یا کنترل است؛ اطلاعاتی نظیر اندازه‌، رنگ و موقعیت آن. هر فرم یا کنترل دارای مجموعه خصوصیات متعلق به خود است؛ هرگاه خاصیتی انتخاب شود توضیح آن خاصیت در پایین پنجره‌ی Properties نمایش داده می‌شود.
شکل 2.20 پنجره‌ی Properties مربوط به Form1 را نشان می‌دهد. ستون سمت چپی اسامی خاصیت‌های فرم را لیست می‌کند؛ ستون سمت راستی مقدار فعلی هر یک از خاصیت‌ها را نمایش می‌دهد. شما می‌توانید خاصیت‌ها را یا به ترتیب الفبا (با کلیک آیکون Alphabetical) و یا به صورت طبقه‌بندی شده (با کلیک آیکون Categorized) مرتب کنید. خاصیت‌ها می‌توانند به ترتیب الفبا از A تا Z و یا از Z تا A مرتب شوند؛ مرتب‌سازی خاصیت‌ها به واسطه دسته‌بندی‌شان آنها را بر طبق کاربردشان گروه‌بندی می‌کند (یعنی Appearance، Behavior، Design و غیره). بسته به اندازه‌ی پنجره‌ی Properties برخی از خاصیت‌ها ممکن است خارج از دید صفحه‌ی نمایش قرار گرفته و مخفی شوند. کاربران می‌توانند با بالا و پایین بردن دکمه‌ی‌ اسکرول بار فهرست خاصیت‌ها را مرور کنند. بعداً در این فصل چگونگی تنظیم خاصیت‌های مجزا را نشان خواهیم داد. پنجره‌ی Properties نقش تعیین کننده‌ای در برنامه‌نویسی ویزوال دارد؛ این پنجره به شما اجازه می‌دهد تا بدون نوشتن کد، خصوصیات یک کنترل را به شکل بصری ویرایش کنید. شما می‌توانید خاصیت‌هایی را که برای ویرایش قابل دسترسی هستند ملاحظه کرده و در بسیاری از موارد از دامنه‌ی مقادیر قابل قبول برای یک خاصیت مفروض آگاه شوید. پنجره‌ی Properties توضیح مختصری از خاصیت انتخابی را نشان می‌دهد که این کار به شما کمک می‌کند تا منظور آن خاصیت را درک کنید. یک خاصیت می‌تواند با استفاده از این پنجره به سرعت تنظیم شود و لزومی به نوشتن هیچ گونه کدی نیست. در بالای پنجره‌ی Properties جعبه‌ی لیست انتخاب جزء (کامپوننت) قرار دارد که به شما اجازه می‌دهد تا فرم یا کنترلی را که قصد نمایش خصوصیاتش را دارید انتخاب کتید (شکل 2.20). استفاده از جعبه‌ی لیست انتخاب جزء یک روش جایگزین برای نمایش خصوصیات یک فرم یا کنترل است بدون این که کنترل یا فرم واقعی را در GUI کلیک کرد.

Toolbox

2.4.2 Toolbox

Toolbox (View > Other Windows > Toolbox) حاوی آیکون‌هایی به نمایندگی از کنترل‌های به کار رفته برای سفارشی‌سازی فرم‌هاست (شکل 2.19). با برنامه‌نویسی ویژوال می‌توانید کنترل‌ها را به روی فرم کشانده و روی آن رها کنید و IDE کدی را خواهد نوشت که این کد کنترل‌ها را برای شما ایجاد می‌کند. این کار سریع‌تر و ساده‌تر از نوشتن این کد بدست خودتان است. همان طورکه برای راندن ماشین نیاز ندارید تا از چگونگی ساخت یک موتور چیزی بدانید، برای استفاده از کنترل‌ها نیز لازم نیست تا از چگونگی ایجاد آنها چیزی بدانید. هنگامی که برنامه‌ها را توسعه می‌دهید استفاده مجدد از کنترل‌های از پیش موجود باعث صرفه‌جویی در زمان و هزینه می‌شود. در ادامه فصل هنگام ایجاد نخستین برنامه‌تان از Toolbox استفاده خواهید کرد. Toolbox کنترل‌های از پیش ساخته را در دسته‌هایی طبقه‌بندی می‌کند؛ دسته‌های All Windows Forms، Common Controls، Containers، Menus & Toolbars، Data، Components، Printing، Dialogs، WPF Interoperability و General شکل 2.19 لیست شده‌اند. بار دیگر به کاربرد پیکان‌ها که می‌توانند گروهی از کنترل‌ها را بسط داده و یا جمع کنند توجه کنید. در سرتاسر این کتاب درباره‌ی بسیاری از کنترل‌های Toolbox و کارکردهای آنها بحث خواهیم کرد.

Solution Explorer

2.4.1 Solution Explorer

پنجره‌ی Solution Explorer (شکل 2.17) دسترسی لازم به تمامی فایل‌های یک راه حل را در اختیارتان می‌گذارد. چنان چه این پنجره در IDE نمایش داده نشده است، آیکون Solution Explorer را که در IDE قرار دارد کلیک کنید (شکل 2.13)، از میله‌ی منو View > Other Windows > Solution Explorer را انتخاب کنید و یا <Ctrl> <Alt> L را تایپ کنید. هرگاه یک راه حل جدید یا از قبل موجود را باز کنید، Solution Explorer محتویات آن راه حل را نمایش خواهد داد.
پروژه‌ی آغازین راه حل، پروژه‌ای است که هنگام انتخاب Debug > Start Debugging (یا فشردن کلید F5) توسط شما اجرا می‌شود. برای یک راه حل تک پروژه‌ای مانند مثال‌های واقع در این کتاب، پروژه‌ی آغازین تنها پروژه‌ی موجود است (در این مورد، WindowsFormsApplication1) و اسم پروژه با متن درشت در پنجره‌ی Solution Explorer ظاهر می‌شود. هرگاه برنامه‌ای را برای بار نخست ایجاد کنید، پنجره‌ی Solution Explorer مداخل مربوط به Properties و References پروژه و فایل‌های Form1.cs و Program.cs (شکل 2.17) را لیست می‌کند. فایل ویژوال C#ای که متناظر با فرم نشان داده شده در شکل 2.4 است Form1.cs (انتخاب شده در شکل 2.17) نامیده می‌شود. فایل‌های ویژوال C# از پسوند .cs استفاده می‌کنند.
به طور پیش فرض، IDE تنها فایل‌هایی را نمایش می‌دهد که شما ممکن است نیاز به ویرایش کردن آنها داشته باشید؛ فایل‌های دیگری که توسط IDE تولید می‌شوند مخفی هستند.

پنجره‌ی Solution Explorer حاوی میله‌ی ابزاری است که آیکون‌های متعددی را دربردارد. کلیک آیکون Show All Files (شکل 2.17) تمامی فایل‌های راه حل را نمایش می‌دهد از جمله آنهایی که توسط IDE تولید شده‌اند. کلیک پیکان‌های سمت چپ یک فایل یا پوشه باعث بسط یا جمع شدن گره‌های درخت پروژه می‌شود. سعی کنید پیکان سمت چپ References را برای نمایش گزینه‌های گروه‌بندی شده تحت آن عنوان، کلیک کنید (شکل 2.18). دوباره پیکان را کلیک کنید تا درخت جمع شود. دیگر پنجره‌های ویژوال استودیو نیز از این قرارداد استفاده می‌کنند.

چرخی در IDE ویژوال استودیو

2.4 چرخی در IDE ویژوال استودیو
IDE پنجره‌هایی را برای دسترسی به فایل‌های پروژه و سفارشی‌سازی کنترل‌ها در اختیار می‌گذارد. این بخش پنجره‌های متعددی را که شما هنگام توسعه‌ی برنامه‌های ویژوال C# آنها را به کرات مورد استفاده قرار خواهید داد معرفی می‌کند. این پنجره‌ها می‌توانند یا از طریق آیکون‌های میله‌ی ابزار (شکل 2.13) مورد دسترسی واقع شوند و یا با انتخاب اسم پنجره‌ی مورد نظر از View > Other Windows.

ویژوال استودیو ویژگی ذخیره‌ی فضایی به نام auto-hide (پنهان‌سازی اتوماتیک) را در اختیار می‌گذارد. هنگام فعال بودن ویژگی auto-hide، یک زبانه در امتداد یکی از لبه‌های چپ، راست و یا پایین پنجره‌ی IDE ظاهر می‌شود (شکل 2.14). این زبانه حاوی یک یا چند آیکون است که هر یک از آنها نشانگر یک پنجره‌ی مخفی هستند. قرار دادن مکان‌نمای ماوس بر روی یکی از این آیکون‌ها، آن پنجره را نمایش خواهد داد (شکل 2.15). جابه‌جا کردن مکان‌نمای ماوس به بیرون از ناحیه‌ی پنجره، باعث مخفی شدن آن پنجره خواهد شد. به منظور ثابت کردن یک پنجره (یعنی غیرفعال کردن ویژگی auto-hide و باز نگه داشتن پنجره) آیکون دوک را کلیک کنید. هنگام فعال بودن ویژگی auto-hide، آیکون دوک افقی است (شکل 2.15)؛ هنگام ثابت بودن پنجره، آیکون دوک عمودی است (شکل 2.16).
چند بخش آتی سه پنجره‌ی اصلی ویژوال استودیو را تحت پوشش قرار می‌دهند؛ یعنی بخش‌های Solution Explorer، پنجره‌ی Properties و Toolbox. این پنجره‌ها اطلاعات پروژه‌ها را نمایش داده و حاوی ابزارهایی هستند که به شما در ساخت برنامه‌ها یاری می‌رسانند.

نگاه اجمالی بر IDE ویژوال استودیو 2010

2.1 مقدمه

ویژوال استودیو 2010 محیط توسعه‌ی جامع (IDE) مایکروسافت برای ایجاد، اجرا و اشکال‌زدایی برنامه‌های (که Application نیز خوانده می‌شوند) نوشته شده در زبان‌های متنوع .NET است. این فصل نگاه اجکالی بر IDE ویژوال استودیو 2010 انداخته و چگونگی ایجاد یک برنامه‌ی ساده‌ی ویژوال C# را از طریق درگ کردن و انداختن بلوک‌های ساختمانی از پیش ساخته شده در جای مورد نظر— این تکنیک برنامه‌نویسی ویژوال نامیده می‌شود— نشان می‌دهد؛ 


2.2 نگاه اجمالی بر IDE ویژوال استودیو 2010

هم اکنون چندین نسخه از ویزوال استودیو موجود است. مثال‌های این کتاب مبتنی بر Visual C# 2010 Express Edition هستند. به منظور کسب اطلاعاتی در خصوص نصب نرم‌افزار، بخش «قبل از شروع کار» را که پس از مقدمه‌ی کتاب آمده است ملاحظه کنید. فرض ما بر این است که شما با ویندوز آشنایی دارید.



ادامه مطلب

مقدمه‌ای بر تکنولوژی شیء

1.9 مقدمه‌ای بر تکنولوژی شیء

هنگامی که برنامه‌نویسی شیء‌گرا به شکل گسترده‌ای در دهه‌ها‌ی 1980 و 1990به کار برده شد، به طور چشمگیری فرایند توسعه‌ی نرم‌افزار را بهبود بخشید. اشیاء چیستند و چرا آنها استثنائی هستند؟ تکنولوژی شیء الگویی برای ایجاد واحدهای نرم‌افزاری معنادار است. اشیاء تاریخ، اشیاء زمان، اشیاء پرداخت چک، اشیاء فایل، اشیاء رکورد و غیره، اینها همگی شیء هسند. بر روی صفحه‌ی نمایش کامپیوترتان اشیاء دکمه، اشیاء جعبه‌ی متنی، اشیاء منو و بسیاری اشیاء دیگر وجود دارند. در حقیقت، هر اسمی می‌تواند به شکل قابل قبولی به صورت یک شیء نرم‌افزاری بیان شود. اشیاء دارای مشخصه‌هایی (که خصوصیات نیز نامیده می‌شوند) مانند رنگ، اندازه، وزن و سرعت هستند؛ و اعمالی (که متدها یا رفتارها نیز خوانده می‌شوند) مانند حرکت، لغزش یا ترسیم را انجام می‌دهند.
کلاس‌ها انواعی از اشیاء وابسته هستند. برای نمونه، تمامی ماشین‌ها به کلاس «ماشین» تعلق دارند، حتی اگر ماشین‌های اختصاصی در ساخت، مدل، رنگ و بسته‌های با گزینه‌های مختلف با یک دیگر فرق داشته باشند. یک کلاس تعیین کننده‌ی مشخصه‌ها و اعمال در دسترس برای شیئی از کلاس آن شیء است. یک شیء به کلاس خود به همان اندازه‌ای وابسته است که یک بنا با طرح و نقشه اولیه‌ای که از آن ساخته می‌شود ارتباط دارد. پیمانکاران ساختمانی می‌توانند بناهای بسیاری را از یک طرح و نقشه اولیه ایجاد کنند؛ برنامه‌نویسان می‌توانند اشیاء بسیاری را از کلاس یکسانی نمونه‌سازی (ایجاد) کنند. با تکنولوژی شیء، کلاس‌هایی که به شکل صحیحی طراحی شده‌ باشند مجدداً می‌توانند در پروژه‌های بعدی نیز به کار برده شوند. برخی از سازمان‌ها گزارش داده‌اند که منفعت کلیدی دیگری که آنها از برنامه‌نویسی شیء‌گرا عایدشان شده است تولید نرم‌افزارهایی است که به شکل بهتری سازماندهی شده و دارای هزینه‌های نگهداری کمتری از نرم‌افزارهای تولید شده با تکنولوژی‌های پیشین هستند. شیء‌گرایی به شما اجازه می‌دهد تا بر روی «تصویر بزرگ» تمرکز کنید. به جای نگرانی درباره‌ی جزئیات چگونگی پیاده‌سازی اشیاء با قابلیت استفاده مجدد، بر روی رفتارها و برهم کنش‌های اشیاء متمرکز شوید. نقشه راهی که همه‌ی درختان، خانه‌ها و در جلوی خانه‌ها را نشان دهد خواندنش مشکل خواهد بود. هرگاه چنین جزئیاتی حذف شده و تنها اطلاعات حیاتی باقی بمانند، درک نقشه راحت‌تر خواهد شد. به همین طریق، برنامه‌ای که به اشیاء تقسیم می‌شود درک، اصلاح و بروزرسانی‌اش آسان خواهد بود زیرا اغلب جزئیات را پنهان می‌کند. واضح است که برنامه‌نویسی شیء‌گرا متدولوژی برنامه‌نویسی کلیدی چند دهه‌ی آینده خواهد بود. C# یکی از زبان‌های شیء‌گرایی جهانی است که به شکل گسترده‌ای به کار برده می‌شود، به خصوص در جامعه‌ی توسعه نرم‌افزاری مایکروسافت.
ادامه مطلب

برنامه‌ی آزمایشی Advanced Painter

1.8 برنامه‌ی آزمایشی Advanced Painter

در این بخش، برنامه‌ی را تست خواهید کرد که شما را قادر می‌سازد تا با استفاده از ماوس بر روی بر روی صفحه نمایش نقاشی کنید! برنامه‌ی Advanced Painter به شما اجازه می‌دهد تا با قلم‌موهایی با اندازه و رنگ مختلف نقاشی کنید. عناصر و کارکردهایی که در این برنامه خواهید دید نمونه‌ای از آن چیزهایی هستند که شما در این کتاب برای برنامه‌نویسی آنها را فراخواهید گرفت. مراحل زیر چگونگی تست برنامه را نشان شما می‌دهند. شما برنامه را اجرا کرده و با برنامه‌ی در حال اجرا تعامل خواهید داشت.

ادامه مطلب

.NET Framework و Common Language Runtime

1.7 .NET Framework و Common Language Runtime

جزئیات .NET Framework در Common Language Infrastructure (CLI) یافت می‌شود؛ CLI حاوی اطلاعاتی درباره‌ی ذخیره‌سازی انواع داده (یعنی، داده‌ای که دارای مشخصه‌های از پیش تعریف شده است مانند تاریخ، مقایر درصدی یا مالی)، اشیاء و غیره است. CLI استاتداردسازی شده است که این کار عمل پیاده‌سازی .NET Framework را برای چارچوب‌های دیگر راحت‌تر می‌سازد. این کار مشابه انتشار نقشه‌ی پیش ساخته‌ی چارچوب است؛ هرکسی با پیگیری جزئیات و مشخصات آن می‌تواند آن را بسازد. Common Language Runtime (CLR) بخش مرکزی ,NET Framework است؛ CLR برنامه‌های .NET را اجرا می‌کند. برنامه‌ها در طی دو مرحله به دستورالعمل‌های ماشین کامپایل می‌شوند. نخست، برنامه به زبان میانی ماشین Microsoft Intermediate Language (MSIL) کامپایل می‌شود؛ MSIL معرف دستورالعمل‌های مربوط به CLR است. MSIL مربوط به اجزای یک برنامه در فایل اجرایی برنامه کنجانده می‌شود. هنگام اجرای برنامه، کامپایلر دیگری (که به عنوان کامپایلر just-in-time یا JIT شناخته می‌شود) در CLR مبادرت به ترجمه‌ی MSIL واقع در فایل اجرایی به کد زبان ماشین (برای یک چارچوب بخصوص) می‌کند، پس از آن کد زبان ماشین بر روی آن چارچوب اجرا می‌شود.
در صورتی که .NET Framework بر روی یک پلتفرم نصب باشد، آن پلتفرم می‌تواند هر برنامه‌ی .NET را اجرا کند. توانایی یک برنامه برای اجرا (بدون اصلاح و تغییر) بر روی چندین پلتفرم به عنوان استقلال پلتفرمی شناخته می‌شود. کدی که یک بار نوشته شده و بتواند بدون هیچ گونه اصلاح و تغییری روی یک نوع کامپیوتر دیگر اجرا شود در زمان و هزینه صرفه‌جویی خواهد کرد. در ضمن، نرم‌افزار می‌تواند مخاطب گسترده‌تری را مد نظر قرار دهد؛ پیش از این شرکت‌های نرم‌افزاری می‌بایست تصمیم می‌گرفتند که آیا تبدیل برنامه‌های خود برای استفاده در پلتفرم‌های مختلف (که این کار بعضاً انتقال Porting نامیده می‌شد) دارای صرفه‌ی اقتصادی است یا نه. با .NET، انتقال برنامه ها دیگر یک مشکل جدی نیست (دست‌کم یک مرتبه .NET بر روی پلتفرم‌ها در دسترس گذاشته شده است). در ضمن چارچوب .NET سطح بالایی از همکاری زبانی بین برنامه‌ای را در اختیار می‌گذارد. برنامه‌های نوشته شده در زبان‌های مختلف (برای نمونه، C# و ویژوال بیسیک) همگی به MSIL کامپایل می‌شوند؛ بخش‌های مختلف می‌توانند ترکیب شوند تا یک برنامه‌ی یکپارچه‌ی واحد را ایجاد کنند. MSIL به چارچوب .NET اجازه می‌دهد تا مستقل از زبان باشد زیرا برنامه‌های .NET به یک زبان برنامه‌نویسی بخصوص مقید نشده‌اند. کتابخانه‌ی کلاس چارچوب .NET می‌تواند توسط هر زبان دیگری به کار برده شود. این کتابخانه حاوی مجموعه‌ی گسترده‌ای از اجزا با قابلیت استفاده مجدد است که شما را از رنج ایجاد اجزای جدید نجات می‌دهد. این کتاب چگونگی توسعه‌ی نرم‌افزار .NET را بوسیله‌ی C# شرح می‌دهد.

مقدمه ای بر Microsoft .NET

1.6 مقدمه ای بر Microsoft .NET

در سال 2000، مایکروسافت ابداع جدید خود یعنی .NET (www.microsoft.com/net) را معرفی و منتشر کرد که این ابداع یک دیدگاه جدید و گسترده‌ای برای استفاده از اینترنت و وب در توسعه، مهندسی، توزیع و کاربرد نرم‌افزار بود. غیر از وادار کردن توسعه دهندگان برای استفاده از یک زبان برنامه‌نویسی واحد، .NET به توسعه دهندگان اجازه می‌دهد تا برنامه‌های .NET را در هر زبان سازگار با .NET (مانند C#، Visual Basic و غیره) ایجاد کنند. بخشی از این ابداع شامل تکنولوژی ASP.NET شرکت مایکروسافت می‌شد که این تکنولوژی به شما اجازه‌ی ایجاد برنامه‌های وب را می‌دهد. استراتژی .NET بسط ایده‌ی استفاده‌ی مجدد از نرم‌افزار به اینترنت است که این کار را  بوسیله‌ی اجازه دادن به شما برای متمرکز شدن بر روی کار تخصصی خود بدون این که مجبور به پیاده‌سازی هر جزئی از هر برنامه شوید انجام می‌دهد. برنامه‌نویسی ویژوال (که آن را در طول این کتاب فراخواهید گرفت) به این علت فراگیر و محبوب شد که شما را قادر می‌سازد تا برنامه‌های ویندوز و وب را به راحتی و با استفاده از کنترل‌های از پیش بسته‌بندی شده‌ای نظیر دکمه‌ها، جعبه‌های متنی و میله‌های لغزان ایجاد کنید. .NET Framework قلب استراتژی .NET مایکروسافت است. این چارچوب برنامه‌ها را اجرا می‌کند، شامل کتابخانه‌ی کلاس .NET Framework است و بسیاری قابلیت‌های دیگر برنامه‌نویسی را ارائه می‌دهد که شما از آنها برای ساخت برنامه‌های C# استفاده خواهید کرد.

زبان XML (Extensible Markup Language)

1.5 زبان XML (Extensible Markup Language)

همزمان با فراگیر شدن و اقبال عمومی به وب، محدودیت‌های HTML آشکار شده و (بیشتر از قبل) خود را نشان دادند. عدم گسترش‌پذیری (قابلیت تغییر یا افزودن ویژگی‌ها) HTML توسعه‌دهندگان را ناامید کرد و تعاریف مبهم آن اجازه خودنمایی و رشد HTML‌های پر از ایراد و خطا را داد. نیاز به یک زبان استاندارد شده‌ای که به طور کامل قابل توسعه بوده و از نظر ساختاری محکم باشد خود را نشان داد. در نتیجه، زبان XML توسط W3C توسعه داده شد. استقلال داده، یعنی تفکیک محتوا از نمایش آن، مهم‌ترین مشخصه‌ی XML است. از آن جایی که اسناد XML داده‌ها را توصیف می‌کنند، امکان پردازش آنها برای هر برنامه‌ای وجود دارد. توسعه دهندگان نرم‌افزار XML را در برنامه‌های خود می‌گنجانند تا قابلیت‌های کارکردی و همکاری وب را بهبود بخشند. XML تنها به برنامه‌های وب محدود نمی‌شود. برای نمونه، این زبان به شکل فزاینده‌ای در پایگاه‌های داده به کار برده می‌شود؛ ساختار یک سند XML آن را قادر می‌سازد تا به راحتی با برنامه‌های پایگاه داده یکپارچه شود. با روند افزایشی افزدون قابلیت وب به برنامه‌ها، احتمالاً XML  تکنولوژی جهانی برای ارائه و نمایش داده خواهد شد. برنامه‌هایی که XML را به خدمت گرفته‌اند قادر خواهند بود تا با یک برنامه‌ی دیگر ارتباط برقرار کنند، مشروط به این که بتوانند الگوهای نشانه‌گذاری XML یا فرهنگ واژگانی مربوط به آنها را درک کنند. تکنولوژی‌های .NET مایکروسافت از XML استفاده می‌کنند تا داده‌ها را در سرتاسر فضای اینترنت علامت‌گذاری کرده و منتقل کنند و اجزای نرم‌افزاری را قادر سازند تا با یکدیگر همکاری کنند.

C#

1.4 C#

در سال 2000، شرکت مایکروسافت زبان برنامه‌نویسی C# (که به صورت سی شارپ تلفظ می‌شود) را منتشر کرد؛ این زبان به طور ویژه برای چارچوب .NET ایجاد شده بود. C# ریشه در زبان‌های C، C++ و Java دارد. همانند ویژوال بیسیک، C# نیز شیء‌گرا بوده و به کتابخانه قدرتمند کلاس .NET Framework دسترسی دارد؛ کتابخانه‌ی .NET Framework مجموعه‌ی عظیمی از مؤلفه‌های از پیش ساخته شده است که شما را قادر می‌سازند تا برنامه‌ها را به سرعت توسعه دهید. هردو زبان دارای قابلیت‌های مشابهی نسبت به جاوا بوده و مناسب توسعه‌ی برنامه‌های سنگین و طاقت‌فرسا هستند به ویژه ایجاد برنامه‌های تجاری امروزی و برنامه‌های موبایل و مبتنی بر وب.
C# یک زبان شیءگراست؛ برخی از مفاهیم مقدماتی تکنولوژی اشیاء را به زودی به طور مختصر فراخواهید گرفت و بعداً به صورت کامل آنها را در این کتاب یاد خواهید گرفت. C# یک زبان رویدادگراست؛ شما برنامه‌هایی را خواهید نوشت که به رویدادهای برانگیخته شده توسط کاربر مانند کلیک‌های ماوس، ضربات کلید و انقضای مهلت زمانی تایمرها پاسخ خواهند داد. ویژوال C# شرکت مایکروسافت به راستی یک زبان برنامه‌نویسی ویژوال است؛ علاوه بر نوشتن دستورات برنامه به منظور ساخت بخش‌هایی از برنامه‌های‌تان، از رابط کاربری گرافیکی ویژوال استودیو نیز استفاده خواهید کرد تا به راحتی اشیاء از پیش تعریف شده‌ای نظیر دکمه‌ها و جعبه‌های متنی را به روی صفحه نمایش خود کشانده و رها کنید و آنها را برچسب زده و تغییر اندازه‌شان دهید. ویژوال استودیو بیشتر کد GUI را برای‌تان خواهد نوشت. با امکان‌پذیر ساختن دیگر پیاده‌سازی‌های زبانی چون Mono در کنار ویژوال C# مایکروسافت، C# از لحاظ بین‌المللی استانداردسازی شده است.

C، C++، C شیئی و جاوا

1.3 C، C++، C شیئی و جاوا

زبان برنامه‌نویسی C در اوائل دهه‌ی 1970 توسعه داده شد. C در بدو امر به شکل گسترده‌ای به عنوان زبان توسعه‌ی سیستم عامل UNIX شناخته می‌شد. C یک زبان مستقل از سخت‌افزار بوده و با طراحی دقیق و از روی احتیاط می‌توان برنامه‌های C را نوشت که به اغلب کامپیوترها قابل حمل و انتقال باشند. C++ که در اوائل دهه‌ی 1980 توسعه داده شد، ویژگی‌های متعددی را در اختیار می‌گذارد که زبان C را آراسته‌تر کرده و مهم‌تر از آن قابلیت‌های مربوط به برنامه‌نویسی شیء‌گرا (OOP) را در اختیار می‌گذارند. اشیاء اجزای نرم‌افزاری با قابلیت استفاده مجددی هستند که اقلام واقع در دنیای واقعی را مدل‌سازی می‌کنند. یک رویکرد شیء‌گرای ماژولار برای طراحی و پیاده‌سازی می‌تواند گروه‌های توسعه‌ی نرم‌افزاری را از آن چه که با استفاده از تکنیک‌های برنامه‌نویسی پیشین ممکن بود بسیار پربازده‌تر سازد. زبان C شیئی نیز که در اوائل دهه‌ی 1980 توسعه داده شد، ویژگی‌های مربوط به برنامه‌نویسی شیء‌گرا (OOP) را به زبان برنامه‌نویسی C اضافه کرد. این زبان در نهایت زبان توسعه‌ برای سیستم عامل مکینتاش شرکت اپل شد. کاربرد این زبان به عنوان زبان توسعه برنامه برای دستگاه‌های آی‌پد، آی‌فون و آی‌پاد شرکت اپل گسترش یافت.
ریزپردازنده‌ها دارای اثر عمیقی در دستگاه‌های الکترونیکی هوشمند مصرف کنندگان هستند. با علم به این امر، شرکت Sun Microsystems در سال 1991 در طی یک پروژه‌ی پژوهشی درون شرکتی به دستاوردی دست یافت که منجر به توسعه‌ی زبانی مبتنی بر C++ شد که شرکت Sun در نهایت آن را Java نامید. همزمان با گسترش و عمومیت یافتن شبکه‌ی گسترده‌ی جهانی وب در سال 1993، شرکت Sun متوجه قابلیت استفاده از جاوا برای افزودن محتویات پویا (برای مثال، تعاملات، انیمیشن‌ها و مواردی نظیر اینها) به صفحات وب شد. شرکت Sun در سال 1995 زبان جاوا را منتشر کرد. این زبان به خاطر پتانسیل‌های بالقوه وب، بلافاصله نظر جامعه‌ی تجاری را به خود جلب کرد. جاوا اکنون برای توسعه‌ی برنامه‌هایی با مقیاس بزرگ در سطح تجاری، پیشبرد قابلیت‌ها و کارکردهای‌ سرورهای وب، ارائه برنامه‌هایی برای دستگاه‌های مصرف کننده (مانند سلفون‌ها، پیجرها و تلفن‌های هوشمند) و برای بسیاری از اهداف دیگر به کار برده می‌شود.

سیستم عامل ویندوز

1.2 سیستم عامل ویندوز

در حدود دهه‌های 1980 و 1990 مایکروسافت شرکت نرم‌افزاری برجسته‌ای شد. در میانه‌ی دهه‌ی 1980، مایکروسافت سیستم عامل ویندوز را توسعه داد که این سیستم عامل از یک رابط گرافیکی ایجاد شده بر روی DOS (سیستم عاملی برای کامپیوترهای شخصی که در آن کاربران با نوشتن فرامین در یک خط فرمان با سیستم تعامل برقرار می‌کنند) تشکیل می‌شد. سیستم عامل ویندوز بعد از انتشار Windows 3.1 در سال 1993 به شکل باور نکردنی به شهرت و محبوبیت دست یافت و اخلاف آن یعنی Windows 95 و Windows 98 به شکل واقعی در اواخر دهه‌ی 1990وارد بازار سیستم عامل‌های رومیزی شدند. این سیستم‌ عامل‌ها که بسیاری از مفاهیمی (مانند آیکون‌ها، منوها و پنجره‌ها) را که پیش از آن توسط سیستم عامل‌های اپل مکینتاش معرفی و عمومی شده بودند به عاریه گرفته بودند کاربران را قادر می‌ساختند تا به طور همزمان با چندین برنامه کار کنند. در سال 1993مایکروسافت با ارائه‌ی Windows NT وارد بازار سیستم‌های عامل شد. ویندوز XP در سال 2001 ارائه شد و خطوط سیستم عامل مصرف کننده و شرکتی مایکروسافت را با هم ترکیب نمود. ویندوز ویستا در سال 2007 ارائه شد و رابط کاربری جدید Aero، بسیاری پیشرفت‌های قدرتمند و برنامه‌های کاربردی جدید را در اختیار کاربران قرار داد. تمرکز کلیدی ویندوز ویستا بر روی امنیت بهبود یافته بود. ویندوز 7 آخرین سیستم عامل مایکروسافت است— ویژگی‌های این سیستم عامل شامل پیشرفت‌های رابط کاربری Aero، زمان راه‌اندازی سریع‌تر، پالایش بیشتر ویژگی‌های امنیتی ویستا، صفحه نمایش لمسی و پشتیبانی از قابلیت چندلمسی و بسیاری از امکانات دیگر است. این کتاب برای کاربران ویندوز XP، ویستا و سون نوشته شده است. ویندوز به مراتب گسترده‌ترین سیستم عامل به کار رفته در دنیاست.

مقدمه

1.1 مقدمه
به Visual C# 2010 که یکی از زبان‌های برنامه‌نویسی شیء‌گرایی است که به سرعت درحال رشد است خوش آمدید! امیدواریم که کار با این کتاب تجربه‌ی آموزنده، چالش برانگیز و سرگرم کننده‌ای برای شما باشد. شاید مهم‌تر از همه این باشد که کتاب صدها برنامه‌ی کامل و کاربردی C# را ارائه داده و ورودی و خروجی‌های آنها را نمایش می‌دهد. ما این روش را «رویکرد کد فعال یا زنده» می‌نامیم. شما می‌توانید کد منبع تمامی برنامه‌های ارائه شده در کتاب را از آدرس زیر دانلود کنید
www.deitel.com/books/csharpfp4/
به محض پیشرفت در کار خود، در صورت پیشامد هرگونه سؤالی، از طریق آدرس ایمیل زیر با ما در ارتباط باشید
deitel@deitel.com
برای همگام شدن با پیشرفت‌های C# در Deitel & Associates (دیتل و همکاران) مشترک خبرنامه‌ی ایمیل ما، یعنی Deitel Buzz Online شوید:
به منظور بررسی فهرست درحال رشد ما از C# و مراکز منبع مرتبط به آدرس زیر مراجعه کنید: