afa 18504 اشتراک گذاری ارسال شده در 8 شهریور، ۱۳۸۸ مخفف Telephony Application Programming Interface هست. TAPI در ویندوز مجموعه ایی از توابع API برای کار با تلفن در اختیار برنامه نویس قرار میده. TAPI به ویندوز مربوط هست، نه به #C. اگر در #C بخواید با TAPI کار کنید، یا باید کتابخانه کلاس های دات نت کلاسی که قابلیت های TAPI را Wrap می کند، در اختیار شما قرار دهد، یا باید کامپوننتی تهیه کنید که همچین کلاسی را در اختیار شما قرار دهد، یا باید خودتان مستقیما با توابع TAPI کار کنید. فراخوانی توابع سیستم عامل در دات نت بوسیله PInvoke صورت میگیره. درباره TAPI و توابع آن، و چگونگی کار با آن، در MSDN توضیح داده شده، علاوه بر آن، درباره اش کتاب های مختلفی نوشته شده. 5 لینک به دیدگاه
afa 18504 مالک اشتراک گذاری ارسال شده در 8 شهریور، ۱۳۸۸ سي شارپ در سال 2001 توسط شركت مايكروسافت به همراه بسته دات نت براي اولين بار مطرح و ارائه شد. دات نت فريم ورك (NET Framework) يه بسته نرم افزاري شامل راه حل بسياري از نيازهاي توسعه نرم افزاري (Base Class Library) و همچنين امكان توسعه و اجراي برنامه هاي توليد شده براي اين فريم ورك مي باشد. برنامه هاي توليد شده براي دات نت فريم ورك توسط Common Language Runtime اجراء مي شوند. CLR يا همان Common Language Runtime سرويس هايي مهمي از قبيل Garbage Collection , Memory Managment و Exception Handling رو ارائه مي دهد. Garbage Collection: در زبان برنامه نويسي سي شارپ ديگر نگراني از جهت مديريت اشياء در حافظه وجود ندارد به اين معني كه وقتي شما شيء ايجاد مي كنيد بعد از اينكه ديگر از آن شي ء استفاده نكرديد آن شيء به طور اتوماتيك از حافظه پاك خواهد شد. اين كار توسط GC يا همان Garbage Collector انجام مي شود. جزئیات محیط كلاس(Class): در واقع يك ايده (Concept) يا ذهنيت مي باشد. مثلا يك نجار چه ذهنيتي نصبت به يك "ميز" دارد؟ خوب مسلما يه صفحه , چهار پايه و .... اين ذهنيتي است كه يك نجار نسبت به "ميز" دارد. اين دقيقا مفهوم كلاس است. يعني تا موقعي كه آن ميز ساخته نشه فقط يك ذهنيت يا در واقع كلاس است. شيء (Object): اشياء موجوديت هايي هستند كه از كلاس ها (ذهنيت) ساخته مي شوند. باز براي مثال همان نجار وقتي ذهنيتش رو به واقعيت تبديل مي كنه در واقع يك ميز مي سازه يا يك Object (شيء) ايجاد كرده است. Solution چيست؟ Solution يا به معناي فارسي راه حل بالاترین سطح دسته بندي در محيط ويژوال استوديو دات نت است. يك Solution مي تواند يك يا چند پروژه و هم اين طور فايل را در كنار هم دسته بندي نمايد.اصولا وظيفه Solution نگهداري اطلاعات روابط بين پروژه هاست كه يك فايل با پسوند sln مي باشد. و داراي تاثير در خروجي پروژه نخواهد بود. در ادامه دوره بيشتر در اين مورد توضيح خواهم داد. در مقابل Project يا همان پروژه ها داراي خروجي مستقيم با توجه به نوعشان هستند. به عنوان مثال Console Application ها داراي خروجي با پسوند exe به معناي executable يا همان فايل هاي قابل اجراء مي باشند. Method چيست؟ در واقع Method ها همان رفتار هايي هستند كه ما از كلاس ها انتظار داريم. در مثال بالا نوشتن بر روي تصوير رو مي توانيم با استفاده از متد WriteLine بر روي كلاس Console استفاده كنيم. ايجاد كلاس در سي شارپ براي ايجاد يك كلاس در سي شارپ شما بايد داخل يك namespace از كلمه كليدي class و سپس نام كلاس استفاده كنين. مثال با براي ايجاد كلاس Person داخل namespaceي به نام CSharptuning.Samples جمله فوق يعني class Person رو به همراه يك block از كد براي اين كلاس ايجاد مي كنيم. دقت كنين كه شما تا به اينجا دو علامت } و دو علامت { ديده ايد يعني شما دو block از كد داريد كه يكي براي namespace و ديگري براي كلاس Person مي باشد. هر آنچه كه داخل {} علامت مربوط به كلاس Person قرار گيرد متعلق به كلاس Person است. فيلد ها - Fileds در سي شارپ تا ايجاي كار كلاس ما هنوز هيچ عضوي ندارد اما ما مي توانيم از اين كلاس استفاده كنيم. حالا بايد داخل اين كلاس اطلاعات مورد نظرمان را تعريف كنيم. من مي خواهم Field هاي Name و Age رو براي اين كلاس تعريف كنم. به اين معنا كه هر انسان (Person) داراي نام و سن مي باشد. 6 لینک به دیدگاه
afa 18504 مالک اشتراک گذاری ارسال شده در 8 شهریور، ۱۳۸۸ گذری بر سی شارپ طي سلسله مقالاتي مي خواهيم با C# بيشتر آشنا شويم. فرض اين مقالات بر اين است كه آشنايي مختصري با زبانهاي برنامه نويسي داريد ، هر چند كار ما تقريبا از صفر شروع مي شود و هدف آن سادگي هر چه بيشتر است. C# از دو زبان C++ و Java متولد شده است! حاوي بسياري از جنبه هاي C++ مي باشد اما ويژگي هاي شيء گرايي خودش را از جاوا به ارث برده است. C# اگرچه از C++ گرفته شده است اما يك زبان "خالص" شيء گرا (Object oriented) مي باشد. هر دو زبان ياد شده جزو زبانهاي هيبريد محسوب مي شوند اما طراحان C# اين مورد را به اندازه ي C++ مهم تلقي نكرده اند. يك زبان هيبريد اجازه ي برنامه نويسي با شيوه هاي مختلف را ميسر مي كند. دليل اينكه C++ هيبريد است ، اين است كه قرار بوده تا با زبان C سازگار باشد و همين امر سبب گرديده تا بعضي از جنبه هاي C++ بسيار پيچيده شوند. زبان سي شارپ فرض اش بر اين است كه شما مي خواهيد تنها برنامه نويسي شيء گرا انجام دهيد و همانند C++ مخلوطي از برنامه نويسي رويه ايي (Procedural) و شيء گرا را نمي خواهيد به پايان برسانيد. بنابراين بايد طرز فكر خودتان را با دنياي شيء گرايي تطبيق دهيد. در ادامه خواهيد ديد كه در سي شارپ هر چيزي شيء است حتي يك برنامه ي سي شارپ. برنامه ي اول : Visual studio.net را اجرا كنيد و سپس در صفحه ي ظاهر شده New Project را برگزينيد. حالا از گزينه ي Visual C# projects قسمت Console applications را انتخاب نماييد. نامي دلخواه همانند ex01 را وارد نموده و سپس Ok نماييد. كد زير به صورت خودكار براي شما توليد خواهد شد: برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام اگر يك سري از مفاهيم آنرا متوجه نمي شويد اصلا مهم نيست! در مقالات آتي تمام اين موارد مفصل توضيح داده خواهند شد. متد استاندارد Main در اينجا قسمتي است كه عمليات اصلي برنامه در حالت Console ( شبيه به برنامه هاي تحت داس اما 32 بيتي ) در آن انجام مي شود. بدون متد Main برنامه هاي سي شارپ قادر به اجرا نخواهند بود. نوع آن در اينجا void تعريف شده است يعني اين متد خروجي ندارد. حتي اگر برنامه هاي استاندارد ويندوز را هم بخواهيد با C# بنويسيد بازهم متد Main حضور خواهد داشت ، هر چند به صورت خودكار ويژوال استوديو آنرا توليد مي كند. طريقه ي نوشتن توضيحات (Comments) در سي شارپ همانند C++ مي باشد يعني : برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام و تنها برنامه نويس براي نوشتن توضيحاتي در مورد كدهاي خود از آنها استفاده مي كند و در خروجي برنامه ظاهر نمي شوند. فعلا براي پايان قسمت اول از شيء Console و متد WriteLine آن براي نمايش يك جمله ي ساده استفاده مي كنيم. راجع به متدها ، متغيرها و غيره در آينده بيشتر صحبت مي كنيم. در آخر برنامه ي ما چيزي شبيه به عبارت زير مي باشد: برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام دكمه ي F5 را فشار دهيد تا برنامه اجرا شود. تعريف متغيرها در سي شارپ: سي شارپ عناصري را كه بكار مي گيرد همانند اعداد و كاراكترها ، به صورت نوع ها (Types) طبقه بندي مي كند. اين انواع شامل موارد زير مي شوند : نوع هاي پايه ايي از پيش تعريف شده مانند اعداد و غيره. نوع هاي تعريف شده توسط كاربر كه شامل STRUCT ها و ENUM ها مي شوند. نحوه ي تعريف متغيرها از نوع هاي پايه ايي از پيش تعريف شده : همانطور كه مي دانيد از متغيرها براي نگهداري اطلاعات استفاده مي شود. در سي شارپ ابتدا نوع متغير و سپس نام متغير و در آخر يك سمي كولون بكار برده مي شود. براي مثال : int a; كه در اينجا متغير a بعنوان يك متغير حاوي اعداد صحيح تعريف شده است. نكته ي مهمي كه در اينجا حائز اهميت است ، مقدار دهي اوليه ي متغيرها مي باشد. در غير اينصورت كامپايلر سي شارپ برنامه را بايك خطا متوقف مي كند. دليل اين امر هم اين است كه از استفاده از متغيرهاي بدون مقدار در طول برنامه جلوگيري شود تا ميزان خطاهاي در حين اجرا كاهش يابد. نوع هاي داده اي پايه ي زير در در سي شارپ به صورت پيش فرض مهيا هستند: object : نوعي است نامحدود كه مي تواند تمام انواع ديگر را نيز شامل شود. مثال : object = null; string : رشته ؛ در اينجا يك رشته توالي كاراكترهاي يونيكد مي باشد. مثال : string s= "hello"; sbyte : نوع داده ايي صحيح 8 بيتي علامت دار. byte : نوع داده ايي صحيح 8 بيتي بدون علامت. مثال : sbyte val = 12; short : نوع داده ايي صحيح 16 بيتي علامت دار. ushort : نوع داده ايي صحيح 16 بيتي بدون علامت. مثال : short val = 12; int : نوع داده ايي صحيح 32 بيتي علامت دار. unit : نوع داده ايي صحيح 32 بيتي بدون علامت. مثال : int val = 12; long : نوع داده ايي صحيح 64 بيتي علامت دار. ulong : نوع داده ايي صحيح 64 بيتي بدون علامت. مثال : Long val1 = 12; long val2 = 34L; كلا در اينجا u به معناي unsigned است. float : نوع اعشاري با single precision . double : نوع اعشاري با double precision . مثال : float val = 1.23f; bool : نوع داده ايي Boolean كه مي تواند true و يا false باشد. مثال : Bool val = true; char : كاراكتر، دراينجا char يك كاراكتر يونيكد است. char val = 'h'; به نحوه ي تعريف كاراكتر ها و همچنين رشته ها در سي شارپ دقت كنيد. decimal : نوع داده ايي دسيمال با 28 رقم معني دار. decimal val = 1.23M; يك نكته : - بهتر است هنگام تعريف يك متغير ، نامي با مسما براي آن انتخاب شود تا در هنگام كار خواندن كد ساده تر گردد. همچنين رسم شده است كه نوع متغير را به صورت خلاصه به نام متغير اضافه مي كنند. براي مثال بجاي FirstName بهتر است بنويسيم strFirstName . به اين نوع نگارش Hungarian notation مي گويند. - تمام نوع هاي پيش فرض تعريف شده در سي شارپ شيء هستند. در آينده بيشتر در اين مورد صحبت خواهيم كرد. مثال اين قسمت : يك برنامه ي console جديد در را VS.NET باز كنيد. نام آنرا در ابتدا ex02 انتخاب نماييد. در اينجا مي خواهيم دو متغير رشته ايي و صحيح را تعريف و سپس در خروجي نمايش دهيم. كد نهايي به صورت زير مي باشد: برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام نكاتي در مورد كد فوق: - بك اسلش ان ، در زبانهاي مشتق شده از سي به معناي new line مي باشد. - در كد فوق نحوه ي تعريف چند متغير در يك خط و حالتهاي مقدار دهي مختلف را ملاحظه مي كنيد. - از متد ReadLine براي نگه داشتن خروجي و مشاهده ي آن در اينجا استفاده كرديم. - عادت كنيد به صورت دندانه دار كد بنويسيد. اينكار خوانايي كد را صد برابر مي كند. در اينجا كدهاي داخل متد main ، كاملا چند دندانه از آكولادهاي باز و بسته كردن آن جلو تر هستند. - در كد بالا در متد WriteLine اعداد و رشته ها با هم جمع شده اند! اين مورد بدليل وجود overload هاي زياد اين تابع و ... ميسر گشته است. اصلا به آن دل نبنديد! چون در آينده كامپايلر سي شارپ اگر چنين اعمالي را در جاهاي ديگري مرتكب شويد به شدت با شما برخورد خواهد كرد!! براي جمع كردن اعداد با رشته ها حتما بايد عدد به رشته تبديل گردد و بعد ... . در اين مورد در مقالات بعدي بحث خواهد گرديد. 6 لینک به دیدگاه
afa 18504 مالک اشتراک گذاری ارسال شده در 8 شهریور، ۱۳۸۸ اضافه کردن توضیحات XML: معمول ترین تگ های XML که در سی شارپ کاربرد دارند: : خلاصه یک خطی از کلاس، متد یا خاصیت : اطلاعات جزئی تر و طولانی تر که میتواند شامل تگ های فرمت دهی ، و تگ برای ایجاد هایپر لینک نیز باشد. : شرح یک خاصیت : ایکسپشن هایی که از متدها و خاصیت ها ایجاد میشوند (در مورد ایکسپشن در فصل مربوطه توضیح داده خواهدشد.) : پارامترهای متد. مراحل زیر را برای افزودن توضیحات انجام دهید: افزودن توضیحات زیر بعد از که داخل کلاس است: برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام حال از منوی Tools گزینهء Build comment web page را انتخاب کنید. کادر محاورهء مربوطه روی Ok کلیک کنید. ویژوال استودیو دات نت، فایل سورس را بررسی (parse) میکند و پس از استخراج توضیحات ایکس ام ال، مجموعه ای ساخت یافته و هایپرلینک شده از مستندات HTML را بر اساس XML ایجاد میکند. اگر در سلوشن ایکپلورر روی Show All Files کلیک کنید، مدخل جدیدی به نام CodeCommentReport ظاهر میشود که شامل فایلهای HTML ایجاد شده توسط فرمان بیلد کامنت وب پیج (در بالا) می باشد. ایجاد یک برنامهء فرمی ویندوز در ویژوال استودیو دات نت، همهء امکانات مربوط به ایجاد برنامه های ویندوزی موجود است. به این صورت که دو دید از برنامه (برای ساخت فرمهای ویندوزی) وجود دارد: یکی Design view و دیگری Code view می باشد و هنگام ایجاد برنامه، میتوان بین این دو نما سوئیچ کرد. تمرین: ایجاد یک فرم ساده، شامل یک تکست باکس برای وارد کردن اسم و یک دکمه را نمایش می دهد که یک Hello سفارشی شده را نمایش خواهد داد: برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام ویژوال استودیو یک فرم خالی ویندوزی را ایجاد میکند و در دیزاین ویو نمایش میدهد. ایجاد واسط کاربر: 1) در نوار ابزار ویژوال استودیو بر روی Toolbox و سپس Lable کلیک کنید و سپس در سمت چپ و بالای فرم کلیک کنید. یک کنترل Lable به فرم اضافه میشود. 2) در همان تول باکس، روی گزینهء Textbox و سپس در زیر Lable در فرم کلیک کنید. یک کنترل تکست باکس به فرم افزوده میشود. باز در تول باکس روی Botton و سپس در سمت راست کنترل تکست باکس در فرم کلیک کنید. 3) در نوار ابزار ویژوال استودیو روی سلوشن ایکپلورر و سپس در پنجرهء ظاهر شده روی View code کلیک کنید. فایل Form1.cs در پنجرهء کد ظاهر میشود که شامل کدهای خودکار ایجاد شده توسط دات نت از تولید فرم ویندوزی است. 4) به کلاس، فضای اسمی، دستورات یوزینگ، فیلدهای داخل کلاس Form1 ، متدها و بقیهء کدهایی که توسط ویژوال استودیو در نمای Code تولید شده توجه کنید! توضیحات مفصل در مورد این عناوین در فصل های دیگر خواهد آمد. تغییر خاصیتهای یک کنترل 1) روی نمای Design view کلیک کنید و سپس در نوار منوی استاندارد روی Properties window کلیک کنید. 2) با ماوس دکمهء روی فرم را انتخاب کنید و در پنجرهء پروپرتیس روی خاصیت Text کلیک و عبارت Ok را تایپ و سپس اینتر کنید. عنوان دکمهء روی فرم به Ok تبدیل میشود. 3) با موس Lable فرم را انتخاب کنید، پنجرهء پروپرتیس خاصیتهایش را نمایش میدهد. روی خاصیت Text بکلیکید و عبارت Enter your name را تایپ و اینتر کنید. به این ترتیب لیبل فرم هم تغییر کرد. 4) خاصیت Text در Textbox را نیز به همین روش به here تغییر دهید. 5) روی برگهء Form.cs کلیک کنید تا روی نمای کد سوئیچ کند و برای آشنا شدن با کد، به تغییرات ایجاد شده در کد (پس از تغییرات در فرم) توجه کنید! نوشتن کد برای دکمهء OK: بر روی دکمهء Ok دابل کلیک کنید، یک متد به نام button1_click به کدبرنامه در فایل Form1.cs اضافه میشود، دستورات زیر را در متد تایپ کنید: برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام به کد برنامه توجه زیادی داشته و دقیقا مثل عبارت بالا تایپ کنید. اجرای برنامه از منوی Debug گزینهء start without Debugging را انتخاب کنید، دات نت برنامه را ذخیره و بیلد میکند. با ظاهر شدن فرم اسم خود را وارد کرده سپس کلید Ok را بزنید. برنامه طی پیغامی، با اسم به شما خوش آمد میگوید 5 لینک به دیدگاه
afa 18504 مالک اشتراک گذاری ارسال شده در 8 شهریور، ۱۳۸۸ کار با متغیرها، عملگرها و عبارات -------------------------------------------------------------------------------- دستور: فرمانی که کاری را انجام میدهد. متد: دنباله ای از دستورات در یک کلاس است که در کل یک اسم دارند. main در فصل قبل، مثالی از یک متد است. دستور زبان (syntax): مجموعه قوانین نوشتن دستورات در سی شارپ میباشد. ساده ترین و مهم ترین قواعد دستور زبانی در سی شارپ این است که باید هر دستوری را با یک سمی کالن (;) به پایان برسانید. استفاده از شناسه ها (Identifier) شناسه ها اسم هایی هستند که برای شناسایی عناصر در برنامه ها از آنها استفاده می کنید. قواعد نحوی در c# : فقط می توانید از حروف و اعداد استفاده کنید. یک شناسه باید با یک حرف یا یک زیر خط (underscore) شروع شود. *قبلا هم گفته شد که زبان سی شارپ نسبت به بزرگی و کوچکی حروف حساس است. کلمات کلیدی زبان سی شارپ 76 شناسه را برای خود رزرو کرده که همان کلمات کلیدی در سی شارپ هستند و هرکدام معنی خاصی دارند. *کلماتی چون class، nameespace، using مثالهایی از کلمات کلیدی سی شارپند. *در پنجرهء code در ویژوال استودیو، کلمات کلیدی به صورت پیش فرض آبی رنگ هستند. در فصل های بعد کلمات کلیدی به تدریج معرفی میشوند. متغیر: یک محل ذخیره سازیست که مقداری را در خود نگه می دارد. هر متغیر در برنامه باید اسم منحصر بفرد داشته باشد. از اسم متغیر برای اشاره کردن و دستیابی به مقدار درون آن استفاده می شود. نامگذاری متغیرها توصیه هایی برای نام گذاری متغیرها: در نامگذاری از زیر خط استفاده نکنید. از شناسه هایی که فقط از نظر بزرگی و کوچکی حروف متفاوتند استفاده نکنید. در یک شناسهء چند کلمه ای، کلمات دوم به بعد را با حروف بزرگ آغاز کنید. از نماد لهستانی استفاده نکنید. (نمادهایی که در زبان سی پلاس پلاس استفاده میشدند.) اگر میخواهید برنامه هایی بنویسید که بتوانند همراه دیگر زبانها مثل VB.net کار کند، باید به توصیه های بالا عمل کنید. تعریف متغیرها وقتی متغیری را تعریف میکنید، باید تعیین کنید که چه نوع داده ای را در خود نگهداری میکند. مثالی از انواع متغیرها در سی شارپ، اعداد صحیح، اعداد ممیز شناور و رشتهء کاراکتری می باشد. دستور زیر یک متغیر به نام age را که مقادیری از نوع صحیح (int) در خود نگهداری میکند، تعریف میکند: int age; بعد از تعریف متغیر می توانید به آن مقدار دهی کنید: age=42 نماد "=" عملگر انتساب است و متغیر سمت چپ را به متغیر سمت راست مقدار دهی میکند. نوع داده های مقدماتی در c# int : اعداد کامل و بدون اعشار (اندازه: 32بیت) long : اعداد کامل بزرگتر از int (اندازه: 64بیت) float : اعداد با ممیز شناور (اندازه: 32بیت) double: اعداد ممیز شناور (اندازه: 64بیت) decimal : مقادیر پولی (انداز: 128بیت) string: رشتهء کاراکتری (اندازه: 16بیت برای هر کاراکتر) char: کاراکتر (اندازه: 16بیت) bool: مقدار درست true یا false (اندازه: 8بیت) 4 لینک به دیدگاه
afa 18504 مالک اشتراک گذاری ارسال شده در 8 شهریور، ۱۳۸۸ قبل از ادامهء بحث، بهتره کمی بیشتر با مفاهیمی مثل کلاس، شیء، محیط کاری دات نت و ... آشنا بشیم. فناوری شیء و مفهوم شیء گرایی هر چیزی که در دنیای واقعی وجود دارد شیء نامیده می شود (انسان ها، گیاهان، اتومبیل ها، ساختمانها و ...). هر شیء دارای صفاتی (شکل، رنگ، اندازه و...) است و مجموعه رفتارهایی (گریه کردن بچه، شتاب گرفتن اتومبیل، حرکت کردن توپ و ...) دارد. انسان از طریق مطالعهء این صفات و رفتار اشیاء آن ها را درک میکند. طراحی شیء گرا (OOD)، نرم افزار را بر اساس واژه هایی که افراد برای توصیف اشیاء دنیای واقعی استفاده می کنند، مدل سازی میکند. OOD ، صفات و رفتارها را در اشیاء محصور می کند. یعنی رفتارها و صفات اشیاء در نهایت باهم گره میخورند. اشیاء دارای خاصیت پنهان سازی (کپسوله سازی) اطلاعات هستند. به این معنی که اشیاء میدانند چگونه از طریق واسطهای تعریف شده با یکدیگر ارتباط برقرار کنند، ولی معمولا اجازه ندارند که بدانند اشیاء دیگر چگونه پیاده سازی شده اند. کلاس ها در زبان های برنامه نویسی رویه ای مثل "سی" واحد برنامه نویسی "تابع" است اما در زبانهای شیء گرا مثل سی شارپ، واحد برنامه نویسی "کلاس" است. هر کلاس شامل داده ها و متد(همون تابع خودمون)هایی است که داده ها را دستکاری میکنند و سرویسهایی را برای سرویس گیرندگان فراهم میکنند. قطعات داده ای کلاس را صفات یا فیلدها می نامند. قطعات عملیاتی کلاس را "متد" می نامند. ( مثال: در کلاس حساب بانکی، شماره حساب یک صفت یا فیلد و عمل برداشت از حساب میتواند به عنوان یک متد تعریف شود.) کلاسها نسبت به اشیاء مثل نقشه ها نسبت به ساختمانها هستند بدین معنی که از یک کلاس میتوان چندین شیء ایجاد نمود. کلاس الگویی برای ساختن اشیاء محسوب میشود. کلاسها میتوانند بایکدیگر ارتباط داشته باشند. مثلا در طراحی شیء گرای یک بانک، کلاس "صندوقدار بانک" باید با سایر کلاسها مثل کلاس "مشتری" و ... ارتباط داشته باشد. این رابطه را "وابستگی" می نامند. محیط کاری دات نت سکوی دات نت شامل چهار گروه از محصولات زیر است: مجموعه ای از زبانها مثل c#.net ،J#.net ، VB.net . مجموعه ای از ابزارهای توسعه زبان مشترک زمان اجرا (CLR) برای اجرای اشیای ایجاد شده. مجموعه ای از سرویس دهنده های .net مثل SQL Server2005، و غیره. وب سرویس های اقتصادی. دستگاه های غیر PC که توسط دات نت فعال میشوند مثل تلفنهای همراه تا جعبه های بازی. ترجمهء برنامه و MSIL در دات نت برنامه ها به فایل های زبانی میکروسافت (MSIL) ترجمه میشوند و سپس توسط CLR (زبان مشترک زمان اجرا) اجرا میشوند. فایل های میانی که توسط سی شارپ تولید میشوند، معادل فایلهای میانی است که زبانهای دیگر دات نت تولید میکنند به همین جهت به آن زبان مشترک زمان اجرا میگویند. با این ویژگی، شیء ایجاد شده در یکی از زبانهای دات نت، میتواند از طریق زبان دیگر دستیابی و مشتق شود. بنابر این می توان یکی کلاس پایه را در VB.net ایجاد و در C# از آن مشتق نمود. 4 لینک به دیدگاه
afa 18504 مالک اشتراک گذاری ارسال شده در 8 شهریور، ۱۳۸۸ ثوابت ثوابت مقادیری هستند که در برنامه وجود دارند ولی قابل تغییر نیستند و به دو روش زیر تعریف می شوند: کد: #define Const =;مثالای زیر رو داشته باشید: کد: #define n 100 Const int n=100;هردو دستور بالا مقدار ثابت n را برابر 100تعریف میکنند. با این تفاوت که دستور اول از دستورات پیش پردازنده (یک برنامهء سیستم که قبل از ترجمهء برنامه توسط کامپایلر، تغییراتی در آن ایجاد میکند.) و پایان آن سمی کالن قرار نمیگیرد. عملگرها پس از تعریف و مقدار دهی متغیرها باید بتوان عملیاتی را روی آن ها انجام داد. برای انجام این عملیات از عملگرها استفاده میشود. مقادیری را که عملگر روی آن عملیات انجام می دهد، عملوند مینامند. عملگرها پنج دسته اند: 1) عملگرهای محاسباتی: - : تفریق و منهای یکانی + : جمع / : تقسیم % : باقیماندهء تقسیم صحیح * : ضرب ++ : افزایش (increment) - - : کاهش (decrement) عملگرهای ++ و - - تک عملوندی هستند که به ترتیب یک واحد به عملوندشان اضافه و یک واحد از آن کم میکنند. اگر این عملگرها قبل از عملوند قرار گیرند، ابتدا بر عملوند اثر میکنند و نتیجه را در عبارت محاسباتی شرکت میدهند و اگر بعد از عملوند باشد، بالعکس عمل میکنند. تقدم عملگرهای محاسباتی به صورت زیر است اول - - و ++ دوم % و / و * سوم – و + عملگرهایی که تقدم یکسانی دارند، نسبت به هم در یک عبارت محاسباتی تقدم مکانی دارند. 2) عملگرهای رابطه ای عملگرهایی که ارتباط بین عملوندها را مشخص میکنند یا دو مقدار را باهم مقایسه میکنن: > و >= و = = = : مساوی =! : نا مساوی 3) عملگرهای منطقی عبارات منطقی عباراتی شامل مقادیری با دو ارزش درستی(true) و یا نادرستی(false) می باشند. ارزش نادرستی با مقدار صفر و ارزش نادرستی با مقادیر غیر صفر مشخص می شود. عملگرهای منطقی به ترتیب تقدم این ها هستند: ! : نقیض یا not && : وَ یا and || : یا یا or مثال: در پایان دستورات زیر مقدار m برابر false و مقدار q و p برابر true میشوند: کد: برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام 4 لینک به دیدگاه
afa 18504 مالک اشتراک گذاری ارسال شده در 8 شهریور، ۱۳۸۸ عملگرهای ترکیبی از ترکیب عملگرهای محاسباتی و علامت = ، مجموعه ای از عملگرها که عمل انتساب را انجام می دهند ایجاد می شود. تقدم این عملگرها پایین تر از سایر عملگرهاست: =+ و =- و =* و =/ و =% : به ترتیب انتساب جمع، تفریق، ضرب، تقسیم و باقیمانده تقسیم صحیح را انجام میدهند. برای مثال عبارت x+=y یعنی قرار بده x=x+y عملگرهای بیتی به دلیل وجود این عملگرها در سی شارپ، بسیاری از کارهای زبان اسمبلی در اینجا انجام میگیرد. عملگرهای بیتی برای تست کردن، مقدار دادن و ... بر روی مقادیری که در یک بایت یا کلمه از حافظه ذخیره شده اند به کار می روند. & (AND) : نتیجهء این عملگر وقتی یک است که هر دو بیت یک باشند. | (OR) : نتیجه وقتی صفر است که هردو بیت صفر باشد. ^ (XOR) : نتیجه وقتی یک است که یک بیت صفر و دیگری یک باشد. ~ (Not) : نقیض یا مخالف >> : شیفت به راست مثال: کد: A >> 2;در عبارت بالا، عملگر شیفت، بیت های کلمه ای از حافظه که کاراکتر A در آن ذخیره است را تعداد دو بیت به سمت راست شیفت میدهد (هر یک شیفت به راست معادل تقسیم بر دو و هر شیفت به چپ معادل ضربدر دو است). یعنی دو بیت از سمت راست خارج شده و دو بیت با مقدار صفر از سمت راست وارد بایت می شوند. برخی عملگرهای پرکاربرد در سی شارپ عملگر & : دسترسی به آدرس متغیرها (&x یعنی آدرس x) عملگر * : دسترسی غیر مستقیم به حافظه (*p یعنی جایی که آدرس آن درpاست) عملگر ? : ارزیابی یک عبارت و قرار دادن نتیجهء عبارت دیگر در یک متغیر، بر اساس ارزش درستی یا نادرستی عبارت اول. کد: ؛ : ؟ = متغیر اگر عبارت 1 دارای ارزش درستی باشد، مقدار ارزیابی شدهء عبارت 2 در متغیر قرار می گیرد، وگرنه مقدار ارزیابی شدهء عبارت 3 در متغیر قرار خواهد گرفت. عملگر , : عملگر کاما برای انجام چند عمل در یک دستور به کار می رود. عملگر sizeof : یک عملگر زمان کامپایل است که می تواند طول یک متغیر یا نوع داده را بر حسب بایت تعیین کند. کد: sizeof متغیر ; sizeof (نوع داده);*پرانتزها عملگرهایی هستند که تقدم عملگر داخل خود را بالا می برند. تقدم عملگرها در حالت کلی به ترتیب از بالاترین تقدم به پایین ترین تقدم به شکل زیر است: کد: برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام 4 لینک به دیدگاه
afa 18504 مالک اشتراک گذاری ارسال شده در 8 شهریور، ۱۳۸۸ کنترل های فرم جعبهء ابزار شامل آیکن هایی است که نشان دهندهء کنترل هاست تا فرم برنامه با استفاده از آنها طراحی شوند. در برنامه نویسی ویژوال، کنترل های موجود در جعبه ابزار با استفاده از ماوس بر روی فرم قرار می گیرند. کد نویسی برای طراحی فرم است. Toolbox در گوشهء سمت چپ قرار دارد که وقتی موس روی آن مکث کند، باز می شود. کنترلها در جعبه ابزار به چند گروه تقسیم می شوند. برای مشاهده گروهها علامت موس را به تول باکس ببرید. و برای مشاهدهء محتویات هر گروه، علامت + کنار گروه را کلیک کنید تا زیر گروه ها نمایش داده شوند. معرفی مختصر کنترل ها کنترل pointer: انتخاب کنترل های موجود در فرم کنترل Button: دکمهء فرمان (جهت اجرای بعضی فرمانها) کنترل checkbox: افزودن گزینه ای به فرم که انتخاب آن با کاربر است. (دوحالت انتخاب) کنترل checkedListBox: لیستی از چند کنترل چک باکس کنترل comboBox: ترکیب یک کنترل TextBox و یک کادر ListBox (وارد کردن متن جدید یا انتخاب گزینه ای از لیست) کنترل DataTimePicker: جهت انتخاب تاریخ و زمان و نمایش با فرمت خاص کنترل Lable: نمایش متن غیر قابل ویرایش کنترل LinkLabel: افزودن پیوند به فرم برای اتصال به سایتهای اینترنت کنترل ListBox: نمایش یا انتخاب یک یا چند گزینه. کنترل ListView: نشان دادن مجموعه ای از اقلام که با چهار نما می توانند ظاهر شوند. کنترل MaskedTextBox: برای دریافت اطلاعات با فرمت خاص. کنترل MonthCalender: برای نمایش تقویم کنترل NotifyIcon: ایجاد برنامه ای که در پس زمینه سیستم اجرا میشود (آنتی ویروسها، کنترل درایورها...) کنترل NumericUpDown: نمایش مقدار عددی با قابلیت افزایش و کاهش. کنترل PictureBox: کادری برای نمایش تصاویر کنترل ProgressBar: نمایش درصد پیشرفت کار کنترل RadioButton: افزودن گزینه ای قابل انتخاب به فرم. اگر چند تا از این کنترل در یک گروه قرار گیرند، کاربر فقط یکی را می تواند انتخاب کند. کنترل RichTextBox: دریافت اطلاعات با فرمت خاص و دریافت اطلاعات چند سطری. کنترل TextBox: دریافت و ویرایش متن کنترل ToolTip: راهنمای کوتاه کنترل های روی فرم کنترل TreeView: ایجاد و نمایش ساختار درختی کنترل WebBrowser: نمایش صفحهء وب 6 لینک به دیدگاه
afa 18504 مالک اشتراک گذاری ارسال شده در 8 شهریور، ۱۳۸۸ پنجرهء خواص هر یک از کنترل های موجود در جعبه ابزار و فرم دارای خواص هستند که در پنجرهء خواص ظاهر می شوند. برای مشاهدهء این پنجره ابتدا بر روی فرمی که باز کردید کلیک کنید سپس کلید f4 را فشار دهید. این پنجره دارای دو ستون است که ستون سمت چپ نام خواص و ستون سمت راست مقادیر خواص هستند. خواص اطلاعاتی را دربارهء کنترل یا فرم مشخص میکنند.(اندازه، رنگ، موقعیت...) وقتی در این پنجرهء خواص بر روی خاصیتی کلیک می کنید، توصیفی از آن در زیر پنجره نمایان می شود. وقتی با نشانه گر ماوس روی آیکن مکث میکنید، اسم آن نمایان میشود: آیکن Alphabetical : با کلیک کردن روی آن، خواص بر اساس حروف الفبا نمایش داده میشوند. آیکن Categorized : با کلیک کردن بر روی آن، آیکن ها بر اساس کاربرد خود دسته بندی میشوند. آیکن Events : هر کنترل یا فرم، علاوه بر خواص دارای تعدادی رویداد است که در شرایط خاص رخ می دهند. مثل رویداد کلیک کردن روی فرم. آیکن Propeties : که برای نمایش خواص به کار می رود. *در بالای پنجرهء خواص، لیست انتخاب قطعه وجود دارد که در آن می توانید فرم یا کنترل مورد نظر را انتخاب کنید تا خواص آنها را ببینید 5 لینک به دیدگاه
sarina 15 اشتراک گذاری ارسال شده در 29 تیر، ۱۳۸۹ سلام خصوصيات كنترلهاي textbex, button را به صورت كامل توضيح دهيد 2 لینک به دیدگاه
sarina 15 اشتراک گذاری ارسال شده در 29 تیر، ۱۳۸۹ معرفی مختصر کنترل ها کنترل pointer: انتخاب کنترل های موجود در فرم کنترل Button: دکمهء فرمان (جهت اجرای بعضی فرمانها) کنترل checkbox: افزودن گزینه ای به فرم که انتخاب آن با کاربر است. (دوحالت انتخاب) کنترل checkedListBox: لیستی از چند کنترل چک باکس کنترل comboBox: ترکیب یک کنترل TextBox و یک کادر ListBox (وارد کردن متن جدید یا انتخاب گزینه ای از لیست) کنترل DataTimePicker: جهت انتخاب تاریخ و زمان و نمایش با فرمت خاص کنترل Lable: نمایش متن غیر قابل ویرایش کنترل LinkLabel: افزودن پیوند به فرم برای اتصال به سایتهای اینترنت کنترل ListBox: نمایش یا انتخاب یک یا چند گزینه. کنترل ListView: نشان دادن مجموعه ای از اقلام که با چهار نما می توانند ظاهر شوند. کنترل MaskedTextBox: برای دریافت اطلاعات با فرمت خاص. کنترل MonthCalender: برای نمایش تقویم کنترل NotifyIcon: ایجاد برنامه ای که در پس زمینه سیستم اجرا میشود (آنتی ویروسها، کنترل درایورها...) کنترل NumericUpDown: نمایش مقدار عددی با قابلیت افزایش و کاهش. کنترل PictureBox: کادری برای نمایش تصاویر کنترل ProgressBar: نمایش درصد پیشرفت کار کنترل RadioButton: افزودن گزینه ای قابل انتخاب به فرم. اگر چند تا از این کنترل در یک گروه قرار گیرند، کاربر فقط یکی را می تواند انتخاب کند. کنترل RichTextBox: دریافت اطلاعات با فرمت خاص و دریافت اطلاعات چند سطری. کنترل TextBox: دریافت و ویرایش متن کنترل ToolTip: راهنمای کوتاه کنترل های روی فرم کنترل TreeView: ایجاد و نمایش ساختار درختی کنترل WebBrowser: نمایش صفحهء 3 لینک به دیدگاه
piton 429 اشتراک گذاری ارسال شده در 29 تیر، ۱۳۸۹ دوستانی که برنامه نویسی مشکل دارندو یه جاییش گیر کردند بیان بگن تا در اسرع وقخ براشون بندازیم 3 لینک به دیدگاه
mIn 2294 اشتراک گذاری ارسال شده در 29 تیر، ۱۳۸۹ همین الان یه آموزش #C توی یه تاپیک دیگه در جریان نیست ؟!؟ 2 لینک به دیدگاه
rockrazipour 11 اشتراک گذاری ارسال شده در 22 اردیبهشت، ۱۳۹۰ سلام اميدوارم حالتون خوب باشه من در مورد using system.io در سي شارپ هيچي نمي دونم لطفا يه مطلب كلي در موردش كه كامل باشه و بتونم با مطالعه اون ياد بگيرم براي بفرستيد به ايميلم يا برام بگذراريد براي سايتتون با تشكر از شما عزيزان 1 لینک به دیدگاه
mammad.mechanic 569 اشتراک گذاری ارسال شده در 5 آبان، ۱۳۹۰ سلام خسته نباشید یه سوال داشتم تو سی شارپ چطوری میتونم یه نابع رو تعریف کنم که بعد بخوام ازش مشتق بگیرم...... تابع تعریف مشتق تو سی شارپ چیه؟ لینک به دیدگاه
behzadkhan2011 10 اشتراک گذاری ارسال شده در 25 بهمن، ۱۳۹۳ سلام ممکنه در مورد Define Class و Polymorphism مطلب بزارید لینک به دیدگاه
ارسال های توصیه شده