آموزش برنامه نویسی باید به پول ختم شود. در غیر اینصورت وقت تلف کردن است.
در این دوره چه خواهی آموخت ؟
دنیای برنامه نویسی از کجا شروع می شود ؟
HTML، CSS یا جاوا و پایتون را انتخاب کنم ؟
باید کلاس بروم، کتاب بخوانم یا کارآموزی بروم ؟
آیا لازم است دانشگاه بروم یا اینکه برنامه نویس شدن از جای دیگری شروع خواهد شد؟
دوست دارم برنامه نویسی وب را شروع کنم اما نمی دانم چطور شروع کنم؟
این وضعیت یک دو راهی به تمام معنا است با این حال بالاخره یک زبان انتخاب می کنی و با دم دستی ترین ابزاری که برای یادگیری برنامه نویسی وجود دارد آموزش را شروع می کنی.
ممکن است برایت پیش بیاید که پشت کامپیوتر بنشینی تا کد نویسی کنی اما درست وقتی که دستت را روی صفحه کلید می گذاری تا چیزهایی که در ذهنت هست را پیاده کنی حس میکنی که مغزت قفل شده است و هیچ چیز بلد نیستی؟
انگار همه چیز میدانی ولی هیچ چیز نمی دانی!
این در حالی است که شاید ساعت ها برای خواندن کتاب و دیدن آموزش ها وقت گذاشته باشی، اما دراین نقطه یعنی جایی که می خواهی از آموزش هایی که دیده ای استفاده کنی حس ناتوانی به تو دست بدهد.
البته انتظار زیادی هم نیست که بخواهی بعد از ساعت ها آموزش دیدن و تلاش کردن، بخواهی بدون نگاه کردن به جزوه یا فیلم هایت کد بنویسی!
و وقتی که میبینی نمی توانی حتی حداقل یک خط کد بنویسی به خودت فشار می آوری تا شاید بتوانی از چیزهایی که مثلا یاد گرفته ای استفاده کنی، اما برایت جای تعجب دارد و با خودت می گویی چه اتفاقی برای من افتاده که نمی توانم کد بنویسم!
با خودت صادق باش، خودت هم خوب می دانی که در همان زمان یادگیری هم کدهایی که در آموزش ها می دیدی برایت قابل درک نبوده و تو تصورت این بوده که شاید در آن لحظه باید کدها را حفظ کنی تا بعدا از آنها استفاده کنی
در این شرایط با اینکه نمی دانی مشکل چیست اگر به برنامه نویسی علاقه داشته باشی، و بخواهی به هر قیمتی که شده برنامه نویس شوی باز هم صفر شروع خواهی کرد.
شاید این پروسه تکرار و یاد نگرفتن، سالها طول بکشد.
در این مدت زمان احتمالا گشت و گذاری در دنیای بزرگ برنامه نویسی انجام می دهی.
از برنامه نویسی به زبان سی شارپ به زبان پی اچ پی می روی ، از اچ تی ام ال و سی اس اس به سراغ جی کوئری و جاوا اسکریپت می روی.
سعی می کنی از آنهایی که در برنامه نویسی توانستند به جایی برسند کمک بگیری، هر کدام هم چیزی به تو می گویند اما تو را به هدفت نمی رساند.
پس چه چیزی در آنها وجود دارد که آنها می توانند برنامه نویسی کنند اما تو نمی توانی!
حتی گاهی ممکن است به آنها بدبین هم بشوی و حس کنی که آنها چیزی می دانند که نمی خواهند بگویند اما در خوشبینانه ترین حالت آنها خودشان هم نمی دانند چه مهارتی در وجودشان فعال است که می توانند کد نویسی کنند!
به همین دلیل حتی نمی توانند آن را به زبان بیاورند، چه برسد که بخواهند به تو یاد بدهند یا تو را راهنمایی کنند.
خلائی که باعث می شود تو نتوانی به راحتی فکرها و تحلیل هایت را به برنامه ای قابل اجرا تبدیل کند در واقع مهارتی است به اسم مکانیزم طبیعی ذهن.
در لحظه ای که پشت کامپیوتر می نشینی تا کد نویسی کنی، چه چیزهایی وجود دارد ؟
- – مغز تو و دست هایت
- – زبان برنامه نویسی و صفحه ای که در آن کد می نویسی
این دو قسمت مثل دو نفر در دو شهر متفاوت هستند که قرار است با هم ارتباط برقرار کنند اما هیچ راه ارتباطی بین آنها وجود ندارد. برای اینکه این ارتباط برقرار شود به چیزی مانند مکانیزم طبیعی ذهن نیاز داری.
و اگر این مهارت در ذهن تو فعال نباشد، تو احساس می کنی نمی توانی کاری انجام بدهی.
بگذار با یک مثال به تو نشان بدهم که چطور با استفاده مکانیزم طبیعی ذهن می توانی هر چیزی را به کد تبدیل کنی!
افرادی که توانایی کدنویسی دارند هم، دقیقا دارای مکانیزم طبیعی ذهن هستند، اما نمی توانند برای تو توضیح بدهند که چطور می توانند این کار را انجام بدهند و یا اینکه اصلا از چنین مهارتی در وجودشان اطلاع ندارند.
مکانیزم طبیعی ذهن برای چه افرادی مناسب است ؟
- افرادی که نمی دانند برنامه نویسی را از کجا شروع کنند
- افرادی که برنامه نویسی را شروع کرده اند اما گیج هستند و به نتیجه نرسیده اند
- افرادی که می خواهند چند زبان برنامه نویسی را به راحتی یاد بگیرند
- افرادی که تصور می کنند هر چیزی در مورد برنامه نویسی یاد می گیرند را سریع فراموش می کنند
- افرادی که پلت فرم های وب و موبایل یا بازی سازی برای آنها پیچیده است
پس برای اینکه بتوانی برنامه نویسی را در کوتاه مدت یاد بگیری و برنامه نویسی را به کار آسانی برای خودت تبدیل کنی، و عملا خلائی که باعث می شود نتوانی برنامه نویسی کنی را از بین ببری، به مکانیزم طبیعی ذهن نیاز داری.
اینکه چه زبان برنامه نویسی مناسب است می تواند دلایل مختلفی داشته باشد، مثلا یک نفر بازار را معیار انتخاب زبان برنامه نویسی اش قرار می دهد، یک نفر امکانات یک زبان برنامه نویسی و دیگری نیاز مشتری.
اما نکته مهم این است که تو با وجود مکانیزم طبیعی ذهن باید برنامه نویسی را طوری یاد بگیری که برایت فرقی نداشته باشد با چه زبانی کار کنی
چرا زبان سی شارپ برای شروع ایده آل است ؟
بعد از اینکه مکانیزم طبیعی ذهنت فعال شد حالا باید از ابزارهایی که وجود دارد مثل زبان برنامه نویسی، برای ساخت نرم افزار استفاده کنی.
تو می توانی برای هر کسب و کاری که نیازش به وسیله یک نرم افزار تحت ویندوز برطرف می شود از زبان سی شارپ استفاده کنی.
علاوه بر این بعد از اینکه زبان سی شارپ را یاد گرفتی می توانی از آن برای
- Windows Services،
- Web Applications،
- Windows Applications ،
- Web Services،
- Console Applications
- ، ساخت فریمورک ها به شکل Class Library
- و بازی سازی
استفاده کنی.
سی شارپ
برخی از ویژگی های کار با زبان سی شارپ
- به راحتی می توانی هم تیمی پیدا کنی
- کتابخانه های فارسی و انگلیسی قدرتمند زیادی دارد
- جامعه برنامه نویسان آن در ایران و خارج از ایران بسیار بزرگ است
- به راحتی می توانی هم تیمی پیدا کنی
- ویژوال استدیو قدرتمند است
- شی گرا است
- کامپایلی بودن این زبان به برنامه نویسان برای کاهش خطاهای نرم افزارشان کمک می کند
- همکاری بی نظیر با SQL Srever
- سازمان های دولتی ایران تمایل زیادی به ساخت نرم افزارهایشان به زبان سی شارپ دارند
- شغل های زیادی در تمام دنیا برای این زبان وجود دارد
- مهاجرت از زبان سی شارپ به زبان های دیگر و از زبان های دیگر به زبان سی شارپ راحت خواهد بود

ویندوز اپلیکیشن Windows Application
در این پکیج آموزشی که هدف آن آموزش برنامه نویسی به نحوی است که تمام سردرگمی هایت در خصوص برنامه نویسی از بین برود و با اصولی که یاد می گیری دیگر مشکلی برای یادگیری زبان های مختلف، تحلیل ها و کدنویسی نداشته باشی، پلتفرم ویندوز را انتخاب کرده ایم.
دلیل انتخاب ویندوز اپلیکیشن سادگی آن است. چون در این پلتفرم برنامه نویس فقط در یک قسمت کدنویسی خواهد کرد و درگیری های ساخت واسط کاربری و پیچیدگی کار کردن با کلاینت و سرور را نخواهد داشت، یادگیری برنامه نویسی راحت خواهد بود.
بنابراین در صورتی که برنامه نویسی را تحت پلتفرم ویندوز یاد بگیری، به دلیل تمرکزی که تنها بر روی یک قسمت خواهی داشت درک مفاهیمی که به تو القا می شود بیش از اندازه برایت آسان خواهد بود.
کدفرست
احتمالا می دانی که یکی از مهم ترین بحث های دنیای برنامه نویسی و چیزی که کاربران نرم افزارها و مشتری های تو نسبت به آن حساسند، ذخیره اطلاعات در بانک اطلاعاتی است.
اگر بخواهی برای ساخت بانک اطلاعاتی از روش دستی آن، یعنی روش Database First استفاده کنی در زمان اجرای پروژه مدت زمان زیادی صرف خواهی کرد در حالی که می توانی از روش کدفرست، جدول های بانک اطلاعاتی ات را به صورت اتوماتیک بسازی.
روش Code First باعث سادگی پروژه ات می شود و ایجاد تغییرات در جداول بانک اطلاعاتی که به این روش ساخته شده اند، آسان تر خواهد بود.
LinQ : زبان یکپارچه جست و جو
در بخش آموزش زبان برنامه نویسی سی شارپ، حلقه ها از جمله foreach را به تو آموزش خواهیم داد و همانطور که میدانی از حلقه ها برای جست و جو استفاده می شود اما نوشتن کدهای جست و جو نسبت به مزایایی که دارند، دارای پیچیدگی هستند و برای اینکه بتوانی با این پیچیدگی درگیر نشوی می توانی از تکنولوژی مانند Linq استفاده کنی و تنها در یک خط جست و جوی مورد نظرت را انجام بدهی.
در این پکیج آموزشی تمامی متدهای زبان Linq را بعلاوه Lambda expression ها به تو آموزش خواهیم داد.
سرفصل های دوره پولسازی با سی شارپ
– بررسی مقدمات زبان برنامهنویسی سیشارپ
کلمات کلیدی
الف) شناسههای استاندارد
ب) شناسههای غیر استاندارد
متغیر چیست؟
1- نامگذاری متغیر طبق قوانین
2- تعیین نوع متغیر
• نوع های داده ای
• دسته بندی زیرخانواده ها
خانواده اول value type ها
خانواده دوم refrence type ها
چگونگی تعریف متغیر
سوال ؟ چه تفاوتی بین var , object و dynamic وجود دارد؟
دادههای شمارشی
نوع داده ساختاری
آشنایی با محیط Console Application
عملگرهای مقایسهای
عملگرهای منطقی
عملگر AND
عملگرهای OR
اولویت عملگرها
دستورهای شرطی
ساختار دستور IF
حلقه های تکرار
حلقه For (با تعداد تکرار مشخص)
حلقه While
حلقه do
حلقه For Each
توضیحات (comment)
– متدها و توابع
توابع (Function)
حق دسترسی متغیرهای سراسری برای متدها و توابع
متغیرهای محلی در ساختارهای گردشی و شرطی
متغیرهای Static
مستند کردن توابع توسط XML
تولید خودکار XML Documentation Comments
تقسیم بندی کردن کدها
ایجاد محدوده به طور دلخواه (Region)
– مقدمات LING
LINQ
ساختار عمومی دستورات LINQ
تشریح کلمات کلیدی این ساختار
متغیر حاوی نتایج دستورات LINQ از چه نوعی تعریف میشود؟
استفاده از شرط در دستورات LINQ
Lambda in LINQ
مرتب سازی مجموعه
داده های غیرتکراری
استفاده از عملگرSelect با استفاده از روش فراخوانی متد
عملگر Skip
عملگر Take
ترکیب کلمات کلیدی Where، Distinct، Take
متد Any
Contains
متد Concat
متد Union
Intersect
متد Except
متد First ، Last
– جهشی به دنیای برنامهنویسی شیگرا
مفاهیم کلیدی OOP (Object Oriented Programming)
شی (Object)
Attributes .1 (ویژگیها)
Identity (ویژگی هویت)
Event .2 (رفتار – رویداد)
.3 Method (متد)
Relationship.4 (روابط)
اما از چه روشی می توان این ت.ت.ت را پیدا کرد؟
کلاس (Class) چیست؟
تعریف دیگری از کلاس
چه ارتباطی بین شی و کلاس وجود دارد؟
یافتن یک شی به روش م م م
مطالعه – مصاحبه – مشاهده
ونک واقعیت – نرم افزار – کد نویسی
شروع کدنویسی به سبک کلاس نویسی درC#
چندی از مزایای کلاس نویسی
Server Code
کد کردن کلاسها
مانوئل اوریبه مکزیک
اضافه کردن متدها
متد Constructor
نمونه گیری (Instantiation)
CLIENT CODE
استفاده از اشیا
Encapsulation (محافظت کردن)
خصوصیات (Properties)
شکل کلی یک Property
شرح ساختار Property
استفاده از خصوصیات در کلاینت کد
خصوصیات فقط نوشتنی (writeonly)
خصوصیات فقط خواندنی
پیاده سازی خودکار خصوصیات
ارث بری کلاسی از کلاس دیگر
ساختار وراثت (Inheritance hierarchy)
نگاهی به کلاینت کد کلاسهای پایه و کلاسهای مشتق
سطوح دسترسی به اعضای کلاس
مثالی دیگر از وراثت گیری در کلاسها
کد کلاینت
sealed کلاس
Polymorphism (چند ریختی)
تغییر پیادهسازی در کلاس مشتق
متدهای override و virtual
Multiple Inheritance
واسط (Interface)
ارتباطات (Association)
ارتباط یک به یک
ارتباطات یک به چند
بخش بخش کردن کلاسها (Partial)
نمایش دیاگرام کلاسها
ایجاد کلاس دیاگرام
ایجاد خصوصیت، ویژگی و متد برای کلاسها
ایجاد ویژگی
ارتباطات
وراثت گیری
مستند سازی در کلاس دیاگرام
Namespace (فضای نامی)
تعریف کلاس با نوعهای بی نام (Anonymous Types)
کتابخانه کلاسها (Class Library)
– کاربرد LINQ در اشیا
LINQ TO OBJECTS
شی List
متد ADD
افزودن مجموعهای از عناصر هنگام تعریف لیست
استفاده از LINQ توسط متدهای الحاقی شی لیست
متد SELECT
متد Where
ترکیب متدها
ترکیب عملگر و متد
عملگرهای مرتبسازی
عملگر Reverse
متد DefaultIfEmpty
عملگرهای اتصال و دسته بندی
عملگر Join
گروه بندی Group By
متد Single
استفاده از توابع تراکمی در دستورات Linq
متد Count و LongCount
متدهای Min و Max
متد Average
– آشنایی با محیط ویژوال استدیو و شروع تولید برنامه با C#
اصطلاح IDE
NET Framework .
کار با IDE
شمای برنامه VS
Snap Line
دسترسی به کادر Application
خلق اشیا بصری و شروع برنامه سازی
چگونه می توان یک شی ایجاد کرد و به آن دسترسی داشت؟
چگونه می توان به متدها و خصوصیات یک کنترل (شی) دسترسی داشت؟
مقایسه تغییر مقدار خصوصیت یک شی از دنیای واقعی با یک شی از دنیای VS
بررسی خواص پرکاربرد کنترلهای دات نت
الف- خصوصیات با مقادیر عددی
استفاده از Layout
Remove Vertical Spacing
Decrease Vertical Spacing
Make Vertical Spacing Equal
Remove Horizontal Spacing
Decrease Horizontal Spacing
Increase Horizontal Spacing
Make Horizontal Spacing Equal
Make Same Height
Make Same Width
Center Horizontally
Center Vertically
ب- خصوصیات با مقادیر منطقی
ج- خصوصیات با مقادیر رشتهای
د- خصوصیات مربوط به رنگ کنترلها
و- خصوصیت Font
خصوصیت Tab Indexو Tab Stop
تنظیم خصوصیت Tab Indexکنترلها با استفاده از ابزار Layout
متد Select
خصوصیت Flat Style
خصوصیت Dock
چگونگی ایجاد یک پروژه با C#
کنترل Label
کنترل Button
رویداد چیست؟
شروع برنامه نویسی
Default Event
کنترل TextBox
متدها
رویدادها
رویداد Enter
رویداد Leave
کنترل CheckBox
کنترل RadioButton
تکنیک شکار رویدادها در زمان کدنویسی
کالبد شکافی رویداد
باقی ماندن تنظیمات کنترلهای فرم در بازگشت مجدد به برنامه
Value
انتساب Setting به خصوصیت کنترلها از طریق پنجرهی Properties
خلق کنترلهای بصری دات نت در کدنویسی
یک ترفند
ساختار Using
انتساب رویداد به کنترل در کدنویسی
– کالبد شکافی پروژه، رویدادهای اشیا، چند فرمیها
فایلهای مربوط به پروژه
شاخه My Project
Properties
فرم چیست ؟
بررسی برخی از خواص و رویدادهای فرم
متدها
رویدادهای اساسی مربوط به فرم
برنامههای MDI
کادر مکالمه About (درباره)
طراحی فرم برای زبانهای مختلف
خصوصیت Language
تنظیم ویژگیهای پروژه
– معرفی کنترلهای پیشرفته
کنترل ToolTip
خصوصیات
کنترل Picture Box
خصوصیات
کنترل Timer
خصوصیات
متدها
صفحات Splash
کنترل ImageList
خصوصیات
خصوصیتهای ImageList وImageIndex وImageAlign
کنترل Menu Strip
خصوصیات
رویدادها
کنترل ContextMenuStrip
چگونه میتوان ContextMenu را به راست کلیک یک کنترل مربوط ساخت؟
کنترلList Box
خصوصیات
متدها
رویداد
کنترل CheckedListBox
کنترل Combo Box
خصوصیات
رویداد
کنترل DataGridView برای نمایش لیست
کنترل TreeView
خصوصیات TreeView
متدهای TreeView
خصوصیات TreeNode
متدهای TreeNode
کنترل ListView
کنترل Notify Icons
رویدادها
کنترل Progress Bar
متدها
کنترل LinkLabel
رویداد
چگونه میتوان توسط این کنترل وب سایتی را باز کرد؟
کنترل Web Browser
بررسی دو خصوصیت AutoCompleteMode و AutoCompleteSource
کنترل Masked TextBox
کنترل NumericUpDown
کنترل DomainUpDown
کنترل TrackBar
– تقسیم بندی فرم و گروه بندی اشیاء
کنترل Group Box
خصوصیات
کنترل Panel
خصوصیات
نوار ابزار ToolBar
کنترلToolStrip
استفاده از کنترل SplitButton درون کنترل ToolStrip
استفاده از کنترل Button درون کنترل ToolStrip
کنترل TabControl
برای ایجاد تبهای مجزا به صورت زیر عمل کنید
خصوصیات
کنترل StatusBar
کنترل Splitter
کنترل TableLayoutPanel
کنترل SplitContainer
کنترل FlowLayoutPanel
کنترل ToolStripContainer
– آشنایی با جعبههای متن چندخطی و کادرهای مکالمه
متون چند خطی در کنترل TextBox
MessageBox
InputBox
کادرهای مکالمه از پیش تعریف شده
کنترل OpenFileDialog
متد ShowDailog
خصوصیات OpenFileDialog
متد OpenFileDialog
کنترل SaveDialog
خصوصیات SaveDialog
متدهای SaveDialog
کنترل FolderBrowserDialog
خصوصیات FolderBrowserDialog
کنترل Colordialog
خصوصیات Colordialog
کنترل FontDialog
خصوصیات FontDialog
کلاس InstalledFontCollection
یک کادر مکالمه دستی بسازید
DialogResult
– بررسی و مقابله با خطاها
مقدمه
روش اول (پیش بینی)
Error Checking چیست ؟
شی ErrorProvider
متد Clear
یک مثال برای پیش بینی خطا
روش دوم (درمان)
Error Handling چیست؟
مزیت این روش چیست؟
استثنا (Exception)
استفاده از ساختارTry … Catch… Statement
اما نوع خطا در کجای این کادر نمایش داده میشود ؟
دستور When
– دوستانتان را در VB.Net پیدا کنید!
معرفی IntelliSense به شما
در لیست IntelliSense چه چیزهایی قرار دارد؟
چگونه میتوان از IntelliSense استفاده کرد؟
چگونه IntelliSense ظاهر میشود ؟
تشخیص نوع متغیر توسط IntelliSense
بر طرف کردن خطاهای زمان کدنویسی
ایجاد با استفاده (Generate From Usage)
کد نویسی سریع
Application
Clipboard
Keyboard
Mouse
Network
IsAvailable
– آشنایی با Activexهای کوچک و پرکاربرد
Activex چیست؟
دیدگاه برنامه نویسان در مورد Activexها
چگونه میتوانید Activexها را در ویژوال استدیو به کار بگیرید؟
معرفی Adobe PDF Reader
متدها
معرفی Shockwave Flash Object
خصوصیت Movie
متدها
اکتیوکس AnalogClock
خصوصیات
تقویم فارسی FarsiLibrary
ترفند فارسی کردن تقویم
GSM مودم چیست؟
پروتکل ارتباطی
– آشنایی با DevComponents
کنترل TextBoxX
کنترل IntegerInput
خصوصیات
کنترل ReflectionImage
کنترل ReflectionLabel
خصوصیات
کنترل ProgressBarX
خصوصیات
کنترل ButtonX
کنترل BalloonTip
چگونه این بالون کوچک را به کنترلهای فرم انتساب دهیم؟
خصوصیات
پس از طراحی Balloon حال چگونه آن را نمایش دهیم؟
کنترل SuperTooltip
خصوصیات
کنترل ComboBoxEx
خصوصیات
کنترل AdvTree
خصوصیات
کنترل BubbleBar
خصوصیات BubbleBar
خصوصیات BubbleBarTab
خصوصیات BubbleButton
کنترل TabStrip
خصوصیات
کنترل ContextMenuBar
چگونه گزینههای ContextMenu Bar را ایجاد کنیم؟
خصوصیات
کنترل PanelEx
کنترل GroupPanel
خصوصیات
کنترل Expandable Panel
کنترل ExplorerBar
خصوصیات
خصوصیات ExplorerBarGroupItem
کنترل Itempanel
خصوصیات
کنترل SideBar
حال چگونه با این کنترل کار کنیم؟
خصوصیات SlideBar
خصوصیات SlideBarPanel
کنترل NavigationPane
چگونه در NavigationPane میتوان گروهها را ایجاد کرد؟
کنترل DotNetBarManager
کنترل RibbonControl
حال چگونه از این کنترل استفاده کنیم ؟
2) Office2007StartButton
در زیر برخی از خصوصیات دکمهها را در این کنترل بررسی میکنیم
3)QuickAccessToolBar
4) DialogLauncher ButtonDialogLauncherButton DialogLauncherButton DialogLauncherButton
رویدادها
شی Command
متدها
رویدادها
دو خصوصیت Command و CommandParameter
– برنامهنویسی آفیس
ارتباط با نرم افزارهای Excel، Word
استفاده خودکار MSWORD
معرفی کلاسهای کاربردی نرم افزار MSWORD
کلاس Application
متدها
ایجاد سند جدید در Word
بازکردن فایل در MSWORD
ذخیره کردن فایل در MSWORD
کلاس Document
کلاس Range
Shading
کلاس Words
ایجاد یک پاراگراف جدید در سند
کلاس Paragraph
ایجاد جدول در سند
کلاس Table
تعیین رنگ جدول
دسترسی به محدودهی هر ستون
افزودن عکس به سند
کلاس Shape
استفاده خودکار EXCEL
معرفی کلاسهای نرم افزار EXCEL
کلاسApplication
متدها
ایجاد Workbook جدید در Excel
باز کردن فایل Excel
ذخیرهی فایل Excel
ایجاد Sheet جدید
دسترسی به سلولها
خصوصیت Cells
کلاس Range
فصل 16 آشنایی با فایلها
فایلها
کلاس File Stream
خواندن و نوشتن اطلاعات
کلاسStreamWriter
متدها
کلاس StreamReader
متدها
توابع مربوط به فایلها
عملیات بر روی فایلها
متدها و خصوصیات پوشهها
بدست آوردن شاخههای خاص
خصوصیات درایوها
– آشنایی با بانکهای اطلاعاتی
سیستم مدیریت پایگاه دادهها (DataBase Management System)
تعریف فایل (جدول، Table)
مدل ER (ارتباط موجودیت ، entity relation)
موجودیت (Entity)
صفات خاصه
از تعریف موجودیت دو تعریف کلی استخراج میشود
کلاس موجودیت
نمونه موجودیت
برای تبدیل مراحل زیر را طی میکنیم
ایجاد بانک اطلاعاتی در VS.NET2010
ایجاد جدول جدید
انواع دادههای پرکاربرد
عددی صحیح
عددی اعشاری
دادههای تاریخ
منطقی
مقادیر کاراکتری
کلید
کلید چیست ؟
فیلد کلیدی
شاخص (INDEX)
ارتباطات
ارتباط دودویی به سه شکل کلی زیر تقسیم میشود
Primary Key (کلید اصلی) چیست ؟
محدودیت جامعیت ارجاعی چیست (RIR)؟
ایجاد ارتباط
تعیین قوانین آبشاری هنگام حذف و ویرایش در جدول پدر
فیلد AutoNumber
خلاصه
حداکثر کاردینالی
حداقل کاردینالی
Allow Nulls
2- ارتباط یک به n
3- ارتباط n به m
رابطه فصل مشترک چیست ؟
موجودیتهای نوع فرعی
مراحل تبدیل موجودیتهای فرعی و نوع برتر به مدل رابطهای
موجودیتهای ضعیف
برای تبدیل یک موجودیت ضعیف به مدل رابطهای مراحل زیر را طی میکنیم
( Structure Query Language) SQL
دستورات SQL
عملگرها و دستورات شرطی
ریاضیاتی ( * ، / ، % (باقیمانده) ، + ، – )
عملگرهای مقایسهای ( < ، > ، = ، < > ، => ، = < )
دستور شرطی Where
عملگرهای کاراکتری
دو کلمه کلیدی is و null
پارامترها
توابع در SQL
دستور درج رکورد Insert values))
تغییر دادهها (Update set)
ایجاد View
دستور Exists
روالهای ذخیره شده
شی Connection( )
برای انجام یک ارتباط فیزیکی با بانک اطلاعاتی مورد نظر به شکل زیر عمل کنید
انجام مرحله اتصال به منبع داده توسط کدنویسی
خصوصیات
متدها
شی Data Command
ایجاد شی Data Command
برای استفاده از این شی با دو مرحله کلی زیر رو به رو هستید
انتساب شی Connection به شی DataCommand
خصوصیت Connection
ایجاد و استفاده از DataCommand در کدنویسی (زمان اجرا)
استفاده از پارامترها در کدنویسی
متد ExecuteNonQuery
شی SqlDataReader
– معماری برنامههای کاربردی بانک اطلاعاتی (به روش سنتی)
ORM چیست؟
چرا مایکروسافت دو تکنولوژی مختلف ORM تولید کرده است؟
Entity SQL چیست؟
معماری ADO.net Entity Framework
DataBase (دیتابیس)
Entity Data Model
بخش منطق (Logical)
بخش (Conceptual)
بخش Mapping
لایههای Entity Client و Entity SQL
لایههای LINQ to Entities, Object Services
ایجاد اولین مدل از روی پایگاه دادهها
اعتبار سنجی مدلها در EDM(Entity Data Model)
Navigation Properties
اجرای پرس و جو بر روی مدل
اجرای پرس و جو بر روی جدول والد و فرزند
درج اطلاعات
درج اطلاعات در جدول فرزند و پدر
حذف اطلاعات
ویرایش اطلاعات
ارتباطات چند به چند (M N) یا Many to Many(* *)
درج اطلاعات در موجودیت فصل مشترک
پرس و جو از موجودیت فصل مشترک
حذف اطلاعات از موجودیت فصل مشترک
استفاده از View
ارتباط مدل EDM با کنترلهای فرم
قرار دادن دو جدول در یک Entity
نگاهی به کد مدل منطقی (SSDL)
نگاهی به کد لایهی ادراکی
مقایسه کدهای لایه منطقی و ادراکی
Condition
پرس و جو بر روی موجودیت دارای ویژگی Condition
وراثت
مدیریت یک جدول توسط چند موجودیت بوسیلهی وراثت (Table-per- hierarchy)
ورود دادهها در جدول توسط موجودیت نوع جدید (وراثت گرفته شده TPH)
اجرای پرس و جو بر روی جدول توسط موجودیت نوع جدید (وراثت گرفته شده TPH)
حذف دادهها از جدول توسط موجودیت نوع جدید (وراثت گرفته شدهTPH )
ویرایش اطلاعات جدول توسط موجودیت نوع جدید (وراثت گرفته شده TPH)
شرایطی که جدول Sookht باید قبل از مدل سازی داشته باشد
مدیریت چند جدول توسط یک موجودیت بوسیلهی وراثت (Table-per- Type)
درج اطلاعات در جداول توسط موجودیت نوع جدید (وراثت گرفته شده TPT)
اجرای پرس و جو بر روی جدول توسط موجودیت نوع جدید (وراثت گرفته شدهTPT )
حذف اطلاعات از جداول توسط موجودیت نوع جدید (وراثت گرفته شده TPT)
ویرایش اطلاعات از جداول توسط موجودیت نوع جدید (وراثت گرفته شده TPT)
تعیین کدهای CUD
مدلسازی بدون پایگاه دادهها
ایجاد یک موجودیت جدید
ایجاد خصوصیات جدید
ایجاد ارتباط بین موجودیتها
خصوصیات Complex (مرکب)
کتابخانهی Entity Client
آشنایی مختصر با زبان eSQL
آشنایی با کلاسهای Entity Client
شی EntityConnection
شی EntityCommand =
شی EntityDataReader
Code First
Data Annotations Attributes
اما چگونه باید از این خصوصیات استفاده کرد
– دسترسی به بانک اطلاعاتی با استفاده از DataSet وTableAdapter
برنامهنویسی سه لایه
تشریح لایهها
مزایای پیاده سازی معماری سه لایه به شکل فوق
Business Entity Layer
کتابخانهی Data Access Layer
کتابخانهی Business Logic Layer
کتابخانهی Business Entity
پروژه Interface
کلاس HumanDAL
برنامه نویسی سه لایه به روش DB Exist
ایجاد مدل
– LINQ TO SQL
گزارش
Stimulsoft Reports
ایجاد یک گزارش ساده
معرفی محیط گزارش
وضعیتهای یک گزارش
قراردادن فیلدها در قسمت Data
فارسی کردن نام ستونها
ابزار Shape
شی Line
تعیین فرمت خط
شی Box یا مستطیل
شی عکس یا Picture
متن
متغیر سیستمی یا سیستم variables
فیلدهای فرمولی
پارامترها
نمایش رکوردهای مورد نظر در زمان اجرای گزارش(فیلتر کردن داده ها)
تعیین نوع قالب بندی یا Text Format
استفاده از جداول پدر و فرزند در گزارشات
ایجاد گروه
فیلد Summray
معرفی توابع پر کاربرد
ایجاد زیرگزارش (Sub Report)
انواع شرایط
اما چگونه باید از این ابزار استفاده کرد؟
ایجاد شی گزارش در کدنویسی
متد Load
تنظیمات نمایشی کنترل Report Viewer
پراپرتی های مربوط به شیReportViewer
مقداردهی شی Text خارج از گزارش (در کدنویسی)
ضمیمه Project
معرفی پروژه
عناصر پروژه
بانک اطلاعاتی
1- جدول اعضا (members)
AS
INSERT INTO TBL_Member
VALUES
RETURN
AS
RETURN
AS
RETURN717
2 – جدول کتاب (books)
AS
INSERT INTO TBL_Book
VALUES718
RETURN
AS
DELETE FROM TBL_Book
RETURN
AS
RETURN
AS
RETURN
3- جدول امانات (amanats)
پیاده سازی لایههای پروژه
پیاده سازی لایه Business Entity
کتابخانه Business Entity
2) کلاس book
3) کلاس member
4) کلاس user
پیاده سازی لایه Data Access
کتابخانه DataAcessLayer
1) کلاس dlmember
2) کلاس dlBook
3) کلاس dlAmanat
4) کلاسdlUser
5) کلاس dlMail
پیاده سازی لایهی Business Logic Layer
کتابخانهی Business Logic Layer
1- کلاس blMember
using DataAcessLayer
}
1- کلاس blBook
using DataAcessLayer
2- کلاس blAmanat
using DataAcessLayer;
3- کلاس blUser
using DataAcessLayer;
سطح دسترسی کاربر
4- کلاس blMail
using DataAcessLayer;
dlUser userdl = new dlUser();
پیاده سازی لایه Interface
کتابخانه Presentation
فرم ثبت اعضا
طراحی فرم ثبت اعضا
شرح کلاس فرم frmMember
شرح فیلدهای کلاس فرم frmMember
شرح توابع کلاس فرم frmMember
شرح رویدادهای کلاس frmMember
2) رویداد KeyPress کنترل txtsh
3) رویداد KeyPress کنترل txtcode
4) رویداد KeyPress کنترل txtzamentell
5) رویداد KeyPress کنترل txtfname
6) رویداد Leave کنترل txtcode
7) رویداد Click کنترل btn_insert
8- رویداد Click کنترل btn_browse
فرم ویرایش اطلاعات اعضا
طراحی فرم ویرایش اطلاعات اعضا
شرح کلاس فرم frmEditMember
شرح فیلدهای کلاس فرم frmEditMember
شرح توابع کلاس فرم frmEditMember
شرح رویدادهای کلاس frmEditMember
1) رویداد frmEditMember_Load
2) رویداد DataGridView1_Click
3) رویداد CmbSearch_SelectedIndexChanged
4) رویداد txtsearch_TextChanged
5) رویداد KeyPress کنترل txtsh
6) رویداد KeyDown کنترل CmbSearch
ویرایش اطلاعات اعضا
7) رویداد Click کنترل btn_update
8) حذف یک عضو
9- رویداد Click کنترل btn_browse
فرم ثبت کتاب
طراحی فرم ثبت کتاب
شرح کلاس فرم frmBook
شرح فیلدهای کلاس فرم frmBook
شرح توابع کلاس فرم frmBook
شرح رویدادهای کلاس frmBook
1) رویداد frmBook_Load
2) رویداد txtISBN_Leave
3) درج اطلاعات کتاب
4) خروج از فرم
فرم ویرایش و حذف کتاب
طراحی فرم ویرایش و حذف کتاب
شرح کلاس فرم frmEditBook
شرح فیلدهای کلاس فرم frmEditBook
شرح توابع کلاس فرم frmEditBook
شرح رویدادهای کلاس فرم frmEditBook
1) رویداد frmEditBook_Load
2) رویداد Click کنترل DataGridView
4) رویداد SelectedIndexChanged کنترل CmbSearch
5) رویداد TextChanged کنترل txtsearch
6) رویداد Click کنترل btnUpdate
7) رویداد Click کنترل btnDelete
8) خروج از فرم
فرم امانات
طراحی فرم frmListMember
شرح کلاس فرم frmListMember
شرح فیلدهای کلاس فرم frmListMember
شرح رویدادهای کلاس frmListMember
1) رویداد frmListMember_Load
2) رویداد TextChanged کنترل txtSearch
3) رویداد Click کنترل btnOK
طراحی فرم frmListBook
شرح کلاس فرم frmListBook
شرح فیلدهای کلاس فرم frmListBook
شرح رویدادهای کلاس frmListBook
1) رویداد frmListBook_Load
2) رویداد TextChanged کنترل txtSearch
3) رویداد Click کنترل DataGridView
4) رویداد Click کنترل btnOK
طراحی فرم امانات
شرح کلاس فرم frmNewAmanat
شرح فیلدهای کلاس فرم frmNewAmanat
شرح توابع کلاس فرم frmNewAmanat
شرح رویدادهای کلاس frmNewAmanat
1) رویداد frmNewAmanat_Load
2) رویداد Leave کنترل Txtbookcode
3) رویداد ButtonCustomClick کنترل txtMemberCode
4) رویداد ButtonCustomClick کنترل Txtbookcode
5) درج اطلاعات امانت
6) رویداد Leave کنترل txtMemberCode
فرم ویرایش و حذف امانات
طراحی فرم ویرایش و حذف امانات
شرح کلاس فرم frmEditAmanat
شرح فیلدهای کلاس فرم frmEditAmanat
شرح رویدادهای کلاس frmEditAmanat
1) frmEditAmanat_Load
2) رویداد Click کنترل DataGridView
3) رویداد SelectedIndexChanged کنترل CmbSearch
4) رویداد TextChanged کنترل txtsearch
5) رویداد ButtonCustomClick کنترل txtMemberCode
6) رویداد ButtonCustomClick کنترل Txtbookcode
7) رویداد Click کنترل btnUpdate
8) رویداد Click کنترل btnDelet
9) رویداد Leave کنترل Txtsearch
فرم ثبت کاربر
طراحی فرم ثبت کاربر
شرح کلاس فرم frmNewUser
شرح فیلدهای کلاس فرم frmNewUser
شرح توابع کلاس فرم frmNewUser
شرح رویدادهای کلاس FrmNewUser
1) رویداد Leave کنترل txt_user_nameID
2) رویداد Leave کنترل txt_pass2
3) رویداد CheckedChanged کنترل ChkNAll
4) رویداد Click کنترل Btn_insert
5) خروج از فرم
فرم ویرایش سطح دسترسی و نام کاربر
طراحی فرم ویرایش سطح دسترسی و نام کاربر
شرح کلاس فرم frmChangeAccess
شرح فیلدهای کلاس فرم frmChangeAccess
شرح توابع کلاس فرم frmChangeAccess
شرح رویدادهای کلاس frmChangeAccess
1) رویداد Load_FrmChangeAccess
2) رویداد TextChanged کنترل TxtSearch
3) رویداد Click کنترل DataGridView
4) رویداد Click کنترل btn_Update
5) رویداد Click کنترل btn_Del
6) رویداد CheckedChanged کنترل Chkall
7) خروج از فرم
فرم تغییر کلمه عبور کاربر
طراحی فرم تغییر کلمه عبور کاربر
شرح کلاس فرم frmChangePass
شرح فیلدهای کلاس فرم frmChangePass
شرح رویدادهای کلاس frmChangePass
1) رویداد frmChangePass_Load
2) رویداد Leave کنترل txt_pass2
3) رویداد Click کنترل btn_change_pass
فرم ارسال پیام
طراحی فرم ارسال پیام
ساخت منو
شرح کلاس فرم frmNewMail
شرح فیلدهای کلاس فرم FrmNewMail
شرح رویدادهای کلاس FrmNewMail
2) رویداد Click دکمه Bold
3) رویداد Click دکمه Italic
4) رویداد Click دکمه Underline
5) رویداد Click دکمه justifyfoll
6) رویداد Click دکمه Right_just
7) رویداد Click دکمه Left_Jist_Click
8) رویداد SelectedColorChanged کنترل color1
9) رویداد Click دکمه styleFont
10) رویداد Click دکمه print
11) رویداد BeginPrint کنترل PrintDocument1
12) رویداد PrintPage کنترلPrintDocument1
13) رویداد Leave کنترل Cmbrecipient
14) رویداد Click دکمه send_mail
فرم نمایش پیام
طراحی فرم نمایش پیام
ساخت منو
شرح کلاس فرم frmShowMail
شرح فیلدهای کلاس فرم frmShowMail
شرح توابع کلاس فرم frmShowMail
شرح رویدادهای کلاس frmShowMail
1) رویداد frmShowMail_Load
2) رویداد Click دکمه BtnSave
3) رویداد Click دکمه send_mail
4) رویداد Click دکمه print
5) رویداد Click دکمه BtnDelMail
گزارشات
گزارش کتابهای هر گروه
شرح کلاس فرم frmRptBookByGroup
شرح فیلدهای کلاس فرم frmRptBookByGroup
شرح رویدادهای کلاس فرم frmRptBookByGroup
گزارش لیست اعضا
اضافه کردن فیلدها به گزارش
گزارش کتابهای امانتی هر عضو
اضافه کردن فیلدها به گزارش
طراحی فرم نمایش گزارش کتابهای امانتی هر عضو
شرح کلاس فرم frmListAmanatPerOzv
فیلدهای کلاس فرم frmListAmanatPerOzv
شرح رویدادهای کلاس فرم frmListAmanatPerOzv
کارت عضویت
اضافه کردن فیلدها به گزارش
طراحی فرم نمایش کارت عضویت
شرح کلاس فرم frmCardOzv
شرح فیلدهای کلاس فرم frmCardOzv
شرح رویدادهای کلاس فرم frmCardOzv
فرم اصلی
طراحی فرم اصلی
ساخت منو
طراحی گزینههای SideBa
شرح کلاس فرم FrmMain
شرح فیلدهای کلاس فرم FrmMain
1) رویداد frmMain_Load
فرم ورود به برنامه
طراحی فرم ورود به برنامه
شرح کلاس فرم frmLogin
شرح فیلدهای کلاس فرم frmLogin
شرح توابع کلاس فرم frmLogin
شرح رویدادهای کلاس FrmLogin
رویداد btnLogin_Click
رویداد Click دکمه btnExit
شمایی از Solution Explorer در پایان پروژه
تو با این پکیج آموزشی به کجا خواهی رسید ؟
هدف اصلی این پکیج آموزشی این است که تو مهارت اصلی برنامه نویسی که مکانیزم طبیعی ذهن هست را با با استفاده از یک زبان ساده و پلتفرمی که دارای پیچیدگی نیست یاد بگیری و به یک متخصص برنامه نویسی تبدیل شوی.
و پس از یادگیری این پکیج آموزشی تو به برنامه نویسی با قابلیت های زیر تبدیل می شوی
- برنامه نویسی که توانایی تحلیل هر پروژه ای را دارد
- برنامه نویس مسلط به پلتفرم ویندوز است
- به عنوان یک فریلنسر توانایی پروژه ویندوز گرفتن را خواهی داشت
- برنامه نویسی که قادر است هر زبان برنامه نویسی که نیاز دارد را یاد بگیرد
- می توانی به عنوان برنامه نویسی که متخصص پلتفرم ویندوز است در هر شرکتی، استخدام شوی