تبلیغات
سی شارپ کده

سی شارپ کده

با سلام خدمت همه ی شما دوستان عزیز

اگر علاقه مند هستید تا برای این وبلاگ مطلب بنویسید در نظرات همین پست خودتان را معرفی کنید
تا با شما ارتباط برقرار کنیم

نظرات() 

یکشنبه 20 شهریور 1390

دانلود کتاب مقدمه ای بر سی شارپ

نویسنده: حمیدرضا مهدوی پناه   طبقه بندی: دانلود، PDF آموزشی، 

در این کتاب اصول مقدماتی و پایه ای زبان برنامه نویسی سی شارپ به صورت بسیار خوب و با زبانی راحت آورده شده است

566 KB

d دانلود فیلم آموزشی مدل سازی وسایل نقلیه نظامی در مایا

نظرات() 

تفاوت های بین استراکچر و کلاس در سی شارپ

یکی از موضوعات گیج کننده برای کسایی که دارن تازه سی شارپ یاد میگیرن تفاوت استراکچر با کلاس هست و اینکه  کجا از کدامشان ( استراکچر ، کلاس ) استفاده شود بهتر است . امروز توو این پست یه جدول براتون آماده کردم، که میتونید تفاوت ها را مشاهده کنید :

Structure

Class

در سی شارپ یک استراکچر با لغت کلیدی struct تعریف میشود ، برای مثال :

Public struct stu { … }

در سی شارپ یک کلاس با لغت کلیدی class تعریف میشود ، برای مثال :

Public class stu { … }

یک استراکچر value type است و شیء بوجود آمده از آن در Stack ذخیره میشود .یک کلاس  reference typeاست و شیء بوجود آمده از آن در Heap ذخیره میشود .
یک استراکچر اصلا  نمیتواند ارث بری کندیک کلاس میتواند از کلاس یا استراکت دیگری ارث بری کند
یک استراکچر زمانی که از آرایه ها استفاده میشود مناسب تر است .یک کلاس زمانی که از collections ها استفاده میشود مناسب تر است .
در یک استراکچر نمیتوان به متغیرهای نمونه و عضو مقدار اولیه داد .در یک کلاس میتوان به متغیر های نمونه و عضو مقدار اولیه داد .
یک استراکچر نمیتواند دارای هرگونه سازنده ی بدون پارامتر یا یک سازنده پیشفرض که CLR فراهم کرده باشد. همچینین از destructor ها هم پشتیبانی نمیکند .یک کلاس میتواند دارای سازنده ی پیشفرض بدون پارامتر باشد که بوسلبه CLR فراهم شده و همچین destructor ها را پشتیبانی میکند .
یک استراکچر میتواند بدون کلمه کلیدی new ساخته شود ، برای مثال :

Stu test_obj ;

یک کلاس نمیتواند بدون کلمه کلیدی new شیء ایجاد کند . برای مثال :

stu test_obj = new stu(code_s,name_s);

منبع : وبلاگ برنامه نویسی با سی شارپ

نظرات() 

یکشنبه 20 شهریور 1390

MDI و SDI چیست ؟

نویسنده: حمیدرضا مهدوی پناه   طبقه بندی: نکته های آموزشی، 

با یه مثال می گم که درکش سریعتر و راحتتر باشه. من خودم اینجوری راحت متوجه شدم و همیشه یادم میمونه. همه تون حتما یه بار هم شده محیط برنامه فتوشاپ رو دیدین، دیدین که توی فرم اصلی (همون صفحه ی اصلی برنامه) چندتا پنجره ی کوچکتر هم هست. این سیستم که چند تا فرم توی فرم اصلی هستن و می تونین صداشون بزنین و یا وقتی پنجره نیو می کنین می تونین همون جا چند تا پنجره با هم داشته باشین توی پنجره ی اصلی، این می شه MDI و مقابلش مثلا دیدن وقتی می خوایی پنجره های برنامه ی ورد رو باز کنین هر بار که نیو می کنین داکیومنت جدید توی یه پنجره ی جدید باز می شه؟ این می شه SDI.

حالا توی ویژوال استودیو اگر همین طور معمولی فرم ها رو بسازیم و مثلا مثل همین مثال CRM و یا دفترچه تلفن فرم های بعدی رو نیو کنیم و صدا بزنیم می شه SDI فرم.

اما حالا یه نمونه ی خیلی ساده از MDI فرم ها رو با هم می سازیم توی وِیژوال استودیو 2008. مثالهای دیگش رو می تونین اینجاMSDN هم ببینین.

توی این جور فرم ها فرم اصلی ما که به لحاظ الویت بالاتر قرار می گیره می شه فرم Parent یا والد ما و بقیه فرم هایی که قراره توش باز شن می شن فرم های فرزند Child.

حالا مرحله به مرحله :

1.یه پروژه ی Windows Form Application می سازین. اسمش رو هر چی دوست دارین بذارین مثلا: MDIForm

2. برین به قسمت پراپرتیز فرمی که دارین و IsMdiContainer رو True کنین.اگه دقت کنین بعد این کار رنگ فرمتون  پررنگ می شه.

mdi13.بعد می تونین از توی پنجره ی ToolBox کنترل menustrip رو بذارین روی فرم تون و مثلا یه File و New و … مثل شکل داشته باشین روش(می دونین که روی فرم، روی همین منو کلیک کنین می تونین بنویسین منوهایی رو که میخوایین داشته باشین).

mdi2

4. بعد از این کار حالا می خواییم فرم فرزندمون مثلا فرم زیر منوی نیو (New) رو وقتی صدا می زنیم توی همین صفحه باز شه.اولا باید یه فرم اضافه کنین به پروژه:

4-1 : روی نام پروژه در Solution Explorer راست کلیک می کنین و گزینه ی Add و بعد New Item رو انتخاب می کنین:

mdi3  4-2: بعد توی پنجره ای که باز می شه یه فرم انتخاب می کنین و اضافه می کنین. می تونین اسم فرم رو هم عوض کنین.

mdi4

5. حالا باید کد مربوط به باز شدن فرم دوم رو بنویسم. از اونجایی که می خواییم با کلیک روی زیر منوی نیو فرم دوم باز بشه روی فرم اول روی زیر منوی New دو بار کلیک کنین تا وارد قسمت کدنویسیش بشیم و کد زیر رو در قسمت مورد نظر می نویسیم:

mdi5

و در نهایت F5 و اجرای برنامه.(من همین کد رو برای منوی Window هم نوشتم تا اجراش رو بهتر ببینین که چه جوری دو تا فرم همزمان توی یه فرم باز می شن و می شه باهاشون کار کرد، اندازه شون رو تغییر داد و …با بستن فرم اصلی و در واقع همون والد فرم های فرزند هم بسته می شن.)

mdi6



منبع : سی شارپ کرنر

نظرات() 

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

شما میدونید که اگه مثلا بخواهیم تا یه فرم جدید را نمایش دهیم و در آن کنترل هایی را مقدار دهی کنیم چگونه است برای مثال ما میخواهیم تا در فرم اصلی یک کلید و جعبه متن داشته باشیم و زمانیکه روی کلید کلیک کردیم یه فرم جدید نمایش داده بشه و در آن یه جعبه متن باشه و تکست جعبه متن برابر تکست جعبه متن فرم اصلی بشه برای این کار پس از این که آبجکت های مورد نیاز را به برنامه اضافه کردیم باید در رویداد کلیک کلیدمون این کد ها را بنویسیم , با این فرض که جعبه متن فرم اصلی textbox1 و جعبه متن فرم2 textbox2 نام دارند

 ;()Form2 frm = new Form2
;frm.textbox2.Text=textbox1.Text
;()frm.show

ولی حالا اگه بخواهیم تا بعد از نمایش تکست درون جعبه متن فرم2 هرگاه فرم2 بسته شد تکست جعبه متن فرم اصلی برابر تکست جعبه متن فرم2 شود باید چه کار کنیم ؟!! 
البته راه های گوناگونی برای این کار وجود دارد برای مثال با استفاده از متغیر های Global یا سراسری میتوان
چنین کاری کرد ولی هدف ما این است که به طور مستقیم این کار را بر روی جعبه متن فرم اصلی بکنیم
مثل مثال اول . پس با ما باشید تا نحوه ی انجام این کار را ببینید :


ابتدا اجازه بدید تا نگاهی به فایل Program.cs  بیاندازیم :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}
همونطور که میبینید در اینجا تابع Main و یه سرس از متد ها در اون وجود دارند . دو متد
اول به کار نا ربطی ندارند و برای همین در مورد اون های بحث نمیکنیم اما متد آخر :
کار این متد اجرای برنامه در قالب یک فرم اصلی است . همینطور که در اینجا میبینید فرم1
به عنوان فرم اصلی برنامه در هنگام اجرای اون باز میشه این بدان معنی است که اگه شما
فرم دومی هم داشته باشید میتونید نامش را به جای فرم1 در این متد قرار بدهید و از اون
پس برنامه ی شما با اون فرم اجرا خواهد شد 
در اینجا فرمی که برای ارسال به متد در متد نوشته شده فرمی است از نوع کلاس فرم1 
و نمونه سازی آن در خود متد انجام شده یعنی هنگام صدا زدن متد و هیچ نامی برای آن
انتخاب نشده و برای همین است که ما نمیتوانیم از طریق فرم های دیگر به طور مستقیم
به آن دسترسی داشته باشیم . در اصل در این جا یک فرم از نوع فرم1 نمونه سازی شده و
اجرا شده . ام اگر بخواهیم تا به فرم اجرا شده کنترل داشته باشیم باید کمی تغییر در کد ان به
وجود بیاوریم
ایتدا در فضای کلاس Program و قبل از متد Main یک شیئ از نوع فرم1 ایجاد میکنیم :
;public static Form2 fr
دلیل این که این شیئ را از نوع static گرفتیم این است که خود متد Main استاتیک است 
و متد های استاتیک فقط میتوانند به اعضای استاتیک فرم دسترسی داشته باشند و ما
چون میخواهیم به frm دسترسی داشته باشیم باید آن را از نوع استاتیک تعریف کنیم
سپس در متد Main و قبل از آخرین متد خط زیر را اضافه میکنیم :
;()frm=new Form1
توسط این خط نمونه سازی شیئ frm را انجام میدهیم یعنی frm را برابر یک نمونه جدید از 
Form1 قرار میدهیم
سپس متد آخر را به این شکل تغییر دهید :
Application.Run(frm);
با این کار شیئ frm که ایجاد کرده ایم به عنوان فرم اصلی نمایش داده میشود و چون frm
از نوع public است در تمام طول برنامه در هر جا خواهیم توانست از آن استفاده کنیم
برای مثال اگر در جایی بخواهیم تا نام Header فرم اصلی را تغییر دهیم کافیست به این
شکل تغییرات را بر روی آن اعمال کنیم
;"Program.frm.Text="Csharphouse
و با این کد تکست Header فرم اصلی تغییر خواهد کرد

توجه داشته باشید :
در مکان کد هایی که باید اضافه کنید دقت داشته باشد و حتما کد ;()frm=new Form1
را بعد از یکی مانده به آخرین متد ( یعنی قبل از متد آخر ) قرار دهید .

نظرات() 

مبحث فایلها یک از جذابترین موضوعات در سی شارپ است.در این پست قصد دارم نحوه مخفی کردن و نمایش فایل مخفی را به زبان سی شارپ توضیح دهم.البته کد بسیار ساده ای دارد.

خوب, چون از فایل میخواهیم استفاده کنیم ابتدا فضای نام System.IO را به برنامه اضافه میکنیم.یک شی از کلاس FileInfo درست کرده و به آن مسیر فایلی را که میخواهیم مخفی کنیم به آن میدهیم



مبحث فایلها یک از جذابترین موضوعات در سی شارپ است.در این پست قصد دارم نحوه مخفی کردن و نمایش فایل مخفی را به زبان سی شارپ توضیح دهم.البته کد بسیار ساده ای دارد.

خوب, چون از فایل میخواهیم استفاده کنیم ابتدا فضای نام System.IO را به برنامه اضافه میکنیم.یک شی از کلاس FileInfo درست کرده و به آن مسیر فایلی را که میخواهیم مخفی کنیم به آن میدهیم مانند کد زیر:

FileInfo file;
file = new FileInfo("مسیر فایل");


برای مخفی کردن فایل از کد زیر استفاده میکنیم:

file.Attributes = FileAttributes.Hidden;


برای آنکه فایل مخفی شده ظاهر شود و از حالت Hidden بیرون بیاید از کد زیر استفاده میکنیم:


file.Attributes = ~FileAttributes.Hidden;


در آخر یک مثال آموزشی را برای شما قرار میدهم.توجه کنید در این مثال از OpenFileDialog استفاده کردم تا فایلی که میخواهد Hidden شود بنا بر انتخاب کاربر باشد.

به نقل از بلاگ برنامه نویسی به زبان سی شارپ


نظرات() 

شنبه 19 شهریور 1390

سطح دسترسی ها در سی شارپ

نویسنده: حمیدرضا مهدوی پناه   طبقه بندی: نکته های آموزشی، 

سطح دسترسی  Access Modifiers




ما در زبان سی شارپ بطور کلی دارای چهار سطح دسترسی بصورت زیر هستیم .

1-private : دسترسی اختصاصی میباشد. در این حالت عضو مورد نظر از بیرون کلاس قابل مشاهده و دسترسی نخواهد بود و فقط در داخل کلاسی که تعریف میشود قابل دسترسی خواهد بود.

2-public : دسترسی عام میباشد. عضوی که از نوع public است از بیرون کلاسی که در آن تعریف شده است ، توسط دیگر کلاسها کاملا قابل دسترسی و ویرایش خواهد بود.

3-internal : تنها در داخل فایل یا اسمبلی فعلی قابل استفاده خواهند بود

4-protected : تنها در کلاسی که تعریف در آن تعریف شده و کلاسهایی که از آن کلاس مشتق میشوند قابل دسترسی خواهد بود.



به شکل اول تصویرنگاه کنید همانطور که می بینید دایره سبز رنگ نشان دهنده سطح دسترسی متغیرpublic است. می بینیم که این سطح دسترسی هم در خارج از کلاس و هم د ر خارج از پروژه ما قابل دسترسی است .

دایره های کوچک قرمز رنگ ، نشان دهنده متغیرها و فیلدهایی است با سطح دسترسی private است همانطور که از شکل پیداست این متغیرها فقط در همان محدوه که تعریف شده اند . قابل دستیابی هستند .

دایره آبی رنگ نشان دهنده سطح دسترسی internal است . یعنی کلاس یا متغیری از این نوع فقط در سطح همان پروژه قابل دسترسی است و اگر ما فرضا پروژه 2 را ایجاد کنیم و بخواهیم از کلاس با سطح دسترسی internal در پروژه 2 استفاده کنیم ممکن نیست .

و سرانجام شکلهای نامنتظم قهوه ای رنگ را می بینید که نشان دهنده سطح دسترسی protectedاست .

سطح دسترسی دیگری نیز وجود دارد تحت عنوان protected internal این سطح دسترسی در همان پروژه تعریف شده قابل دسترسی است و علاوه بر آن اگر کلاسی از پروژه دیگر از آن ارث بری کند نیز قابل دسترسی است .

در واقع برابر با internal +protected است . از اجتماع این دو در شکل بالا می توانید آن را مشاهده کنید قهوه ای به اضافه رنگ آبی .

به نقل از صفحه شخصی سید علا سبزپوش


نظرات() 

جمعه 18 شهریور 1390

مقالات کامل آموزش زبان XML

نویسنده: حمیدرضا مهدوی پناه   طبقه بندی: دانلود، PDF آموزشی، غیره، 

در این سری مقالات آموزشی به طور کامل مفصل در مورد زبان XML بحث و بررسی شده است و شما میتوانید با مطالعه ی آن تسلط خوبی بر این زبان به دست بیاورید


حجم مقالات : 10.44 مگابایت ( RAR File )

d دانلود فیلم آموزشی مدل سازی وسایل نقلیه نظامی در مایا

نظرات() 

چهارشنبه 16 شهریور 1390

رشته ها در سی شارپ

نویسنده: حمیدرضا مهدوی پناه   طبقه بندی: نکته های آموزشی، 

کار کردن با رشته های یک امر معمول برای برنامه نویسان سی شا رپ به حساب می آید . فریمورک دات نت ابزاهای بسیار متنوعی را برای کار با رشته ها فراهم کرده است.

اولین چیزی که باید در کار با رشته ها در سی شارپ مد نظر داشت این است که رشته ها در سی شارپ از نوع رفرنس هستند . نوع های رفرنس در دات نت بر روی پشته ی مدریت شده قرار دارند پس رشته ها در سی شارپ توسط جمع کننده ی دور ریز ها(garbage collector )  مدیریت میشوند و این باعث میشود تا آن ها به طور خودکار از بین نروند  وقتی  که از محدوده ی دید خارج میشوند.


ادامه مطلب

نظرات() 

امیدوارم از پروژه ی انیمیشن منو ها شماره 1 استفاده کرده باشید در شماره جدید از این پروژه تغییرات بسیار زیادی ایجاد شده است . برای مثال  چند استایل ( Style ) به پروژه ایجاد شده و کلید ها بیسار تغییر کرده اند و توابع انیمیشنی در این پروژه نسبت به پروژه ی قبلی تغییرات زیادی پیدا کرده اند .  امیدوارم دانلود کنید و لذت ببرید .

حجم : 91 کیلوبایت

d دانلود فیلم آموزشی مدل سازی وسایل نقلیه نظامی در مایا

نظرات() 

در این سورس یک mainwinodw قرار دارد که در آن 4 کلید نیز هست و 
شما با کلیک بر روی هر کدام از آن ها کلید ها به شکل جالبی با 

استفاده از انیمیشن هارد کد پنهان میشوند . این آموزش صرفا جهت 

آشنایی با انیمیشن ها در کد های خود زبان سی شارپ است .  به 

امید خدا ساخت این منو را کامل خواهم کرد . منتطر سورس های 

بعدی این پروژه هم باشید.


حجم : 76 کیلوبایت

d دانلود فیلم آموزشی مدل سازی وسایل نقلیه نظامی در مایا

نظرات() 

آمار وبلاگ

  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :