Contacts
صفحه اصلی پورتال | صفحه اصلی تالار | ثبت نام | اعضاء | گروه ها | جستجو | پرسش و پاسخ | فروشگاه الکترونیکی | خرید پستی بازی های کامپیوتری





صفحه اول انجمنها -> برنامه نویسی با زبان های C++ و Delphi و VB -> آموزش زبان شیرین سی شارپ از ابتدایی ترین حالت ممکن
 

ارسال يك موضوع جديد   پاسخ به يك موضوع ديدن موضوع قبلي :: ديدن موضوع بعدي
برو به صفحه 1, 2  بعدي

آموزش زبان شیرین سی شارپ از ابتدا
نويسنده
پيغام
Parham
متخصص ساخت بازی
متخصص ساخت بازی


تاريخ عضويت: 4 شنبه 28 دي 1390
تعداد ارسالها: 408
محل سكونت: somewhere behind a lot of troubles...


4 شنبه 16 فروردين 1391 - 23:40
پاسخ بصورت نقل قول
با سلام دوستان عزیز.
در این تاپیک میخوام مطرح کنم سی شارپ رو از پایین ترین مکان.
نظراتتون رو بگید می شنوم...
به شکل اولیه ی یک کد در سی شارپ نگاه کنید:

كد:
using system.text;
using system.xml;
namespace MyFirestWindowsApp
{
   public partial class fwapp 
   {
      public void main(string[] e)
      {
         consol.writeline("HelloWorld!");
         consol.readkey();
      }
   }
}


این برنامه چیکار میکنه؟
به واژه namespace دقت کنید:
این واژه به ما اجازه میده که در سیستم یک فضای نام داشته باشیم تا کلاسها-بخشهای درون هر نیم اسپیس- و متد هایمان را تعریف کنیم.
آکولاد های باز و بسته هم از اجزای اصلی و مهم یک برنامه ی سی شارپه.
یعنی هر namespace با{} همراهه.هرکلاس و هر متد هم همینطور.
آکولاد باز یعنی شروع دستورات مربوط به کلاس یا نیم سپیسی که داخلشیم و آکولاد بسته یعنی پایان محدوده اون نیم اسپیس با کلاس و یا متد و یا...
به خط public partial class fwapp توجه کنید:
این خط یک کلاس را تعریف می کنه که در اون ما می تونیم متد های خودمون را استفاده کنیم یا حتی متد بنویسیم تا بعدا استفاده کنیم،یا اینکه اصلش بتونیم کد های مربوط به برناممون راجع به هرکاری رو توش بنویسیم.
به متد main توجه کنید:
قبلش از کلمه ی کلیدی void به معنای هیچ استفاده کردم.
این کلمه به کامپایلر می فهمونه که هیچ مقداری توسط متد main به سیستم بر نمی گرده.
به consol.writeline توجه کنید:
این متد از کلاس consol به سیستم میگه که عبارت hello world! رو در صفحه نمایش بنویسه.البته چیزی که باید نوشته بشه رو ما خودمون بین کتیشن ها "" مشخص می کنیم.
متد readkey از کلاس consol در خط بعد باعث میشه تا برنامه پس از چاپ عبارت منتظر دریافت یک کلید از سمت کاربر بمونه.
وقتی کلید زده شد چون دستور دیگه ای بعد از consol.readkry() نیست برنامه بسته میشه.
این هم از یک برنامه ی کلیشه ای اما واقعا شیرین و هیجان انگیز برای برنامه نویس ها که برای اولین بار از یک موجود زبان نفهم!!! جواب می گیرن:مثل کامپیوتر!
اما دو نکته:
1.می تونستیم به جای عبارت void ، می تونستیم از هر نوع داده ای دیگه در سی شارپ مثل int استفاده کنیم.(بعدا راجع بهش توضیح می دم.)
اما باید پس از دستور متد readkry() عبارت return 0 را هم تایپ می کردیم تا برنامه بدون خطا متوقف بشه.
علتش را بعدا توضیح میدم.
2.بعد از متد readkey برای اطمینان از بسته شدن برنامه از دستور
;() application.exit استفاده می کنیم که متد exit از کلاس application باعث بسته شدن برناممون می شد.
امیدوارم از این مبحث راضی باشید چون در صورت رضایت شما یک تالار جدا برای این درس به وجود میاد... Rolling Eyes
منتظر نظراتتونم...
فعلا بای!

_________________
برای رسیدن به موفقیت آسانسوری وجود ندارد،باید پله پله بالا رفت؛


اين نامه توسط Parham در 5 شنبه 17 فروردين 1391 - 21:29 ويرايش شده است.
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
MEHRDAD_R
بازی ساز
بازی ساز


تاريخ عضويت: 2 شنبه 3 مهر 1385
تعداد ارسالها: 199


5 شنبه 17 فروردين 1391 - 11:20
پاسخ بصورت نقل قول
درود

عالی بود . خیلی لطف کردی و زحمت کشیدی. ادامه بده که این #C واقعا همه جا بدرد می خوره.

مهرداد

_________________
وب سايت شخصي بنده.فقط ساخت انيميشن دوبعدي با بهترين كيفيت.

http://www.pershaland.com/
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي نام كاربري در پيغامگير MSN
 

نويسنده
پيغام
Parham
متخصص ساخت بازی
متخصص ساخت بازی


تاريخ عضويت: 4 شنبه 28 دي 1390
تعداد ارسالها: 408
محل سكونت: somewhere behind a lot of troubles...


5 شنبه 17 فروردين 1391 - 12:23
پاسخ بصورت نقل قول
سلام دوستان.
در مثال قبل به این خطوط توجه کنید:
كد:

using System.text;
using System.xml;

در این خطوط ما از دستور using استفاده کردیم تا namespace های درون کتابخانه ها(مثلا mscrlib.dll ) که به برناممون از طریق منوی refrences اضافه کردیم یا اضافه شده(اتوماتیک توسط visual studio) را به برناممون پیوند بدیم تا از کلاسها و متد های توشون استفاده کنیم.
مثلا کلاس consol که در مثال قبل ازش استفاده کردیم در namespaceی به نام system در کتابخانه ی mscrlib.dll قرار داره و متد های writeline و readkey از بخش های این کلاس اند.
و یا کلاس application... .
این کتابخانه ها بیشتر در C:\windows\system 32 (محل سکونت اینجانب...! Rolling Eyes PDT_002 ) هستند و یا با نصب برنامه های مختلف از جمله visual studio یه اون اضافه میشن.
بعد موقعی که ما پروژه ای رو ایجاد می کنیم اتومات توسط vs به برنامه لینک میشن و کدهای مربوط به using و ایجاد یک کلاس برای برناممون خود به خود(البته نه خود به خود،بازم توسط vs) ایجاد میشن.
این هم ازکار using که نگفته بودم.

_________________
برای رسیدن به موفقیت آسانسوری وجود ندارد،باید پله پله بالا رفت؛
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
Ali
مدیر کل
مدیر کل


تاريخ عضويت: شنبه 20 تير 1383
تعداد ارسالها: 2983
محل سكونت: On the edge


5 شنبه 17 فروردين 1391 - 20:38
پاسخ بصورت نقل قول
سلام پرهام جان. ایشالا یکم که مطالب بیشتر شد، در قالب pdf توی بخش مقالات میذاریم. دستت درد نکنه.

_________________
پی سی گیمرز - آرشيو بزرگ بازی های کامپیوتری
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل ديدن وب سايت كاربر نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
Parham
متخصص ساخت بازی
متخصص ساخت بازی


تاريخ عضويت: 4 شنبه 28 دي 1390
تعداد ارسالها: 408
محل سكونت: somewhere behind a lot of troubles...


5 شنبه 17 فروردين 1391 - 21:18
پاسخ بصورت نقل قول
خواهش می کنم علی جان.
خودم به فکر pdf هستم ولی چون سرعت اینترنتم پایینه(44kb/s!!!) نمی تونم مقالات رو زیاد بدم...شرمندهولی به فکرش هستم. Arrow

_________________
برای رسیدن به موفقیت آسانسوری وجود ندارد،باید پله پله بالا رفت؛
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
Parham
متخصص ساخت بازی
متخصص ساخت بازی


تاريخ عضويت: 4 شنبه 28 دي 1390
تعداد ارسالها: 408
محل سكونت: somewhere behind a lot of troubles...


جمعه 18 فروردين 1391 - 21:57
پاسخ بصورت نقل قول
سلام دوستان.بخش دوم آموزش:
در ویژوال استودیو 2008/2005 از منوی file>new project گزینه windows application را انتخاب کنید و نام پروژه را
MyFirstWindowsApp قرار دهید.
حال به محیط پنجره ای برنامه وارد می شوید.(ببخشید که نمی تونم عکس براتون آپلود کنم.اگه کسی راهی داره بهم بگه... Neutral )
گزینه ی view code را انتخاب کنید یا روی فرم دابل کلیک کنید تا محیط کد نویسی باز شود.این کد ها از پیش نوشته شده:
كد:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace MyFirstWindowsApp
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
    }
}

خط هایی را که قبلا گفتم را دیگه تکرار نمی کنم اما این خطوط تازه اند.
كد:

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
    }

خط اول کلاس فرم1 رو از کلاس فرم های ویندوزی تعریف میکند.
متد فرم1 که حاوی دستور initalizecomponent هست رو مطمئن نیستم چه کار میکنه Wink ،اگه کسی میدونه مطرح کنه Evil or Very Mad
و اما متد private void Form1_load:
کلیه ی دستوراتی رو که در این ناحیه بنویسید در ابتدای اجرای برنامه اجرا میشن،البته برای یک بار،مگر اینکه شرط بذارید یا از حلقه ها استفاده کنید که دوباره بهتون توضیح میدم.
راجع به void و علت استفاده اش هم توضیح دادم.
حالا این عبارت رو در متد فرم1_لود تایپ کنید:
كد:

Messagebox.show("Hello World.");
application.exit();

تشریح کد های جدید:
اولین خط با فراخوانی متد show از کلاس messagebox یک کادر پیغام یا مسیج باکس را نمایش می دهد که حاوی عبارت
Hello World را نشون میده.
با کلیک روی دکمه ok در کادر پیغام،کادر بسته شده و دستور بعدی یعنی متد exit از کلاس application اجرا شده و برنامه بسته می شود.
اینم از همون برنامه ی کلیشه و معروف در حالت ویندوزی.
دفعه آینده(شاید دقایقی دیگر... PDT_002 ) در باره ی عملگر ها و عبارت های شرطی پست میدم.
فعلا... .

_________________
برای رسیدن به موفقیت آسانسوری وجود ندارد،باید پله پله بالا رفت؛
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
MahanGM
پیر بازی سازی
پیر بازی سازی


تاريخ عضويت: 3 شنبه 20 شهريور 1386
تعداد ارسالها: 1846
محل سكونت: USS Terra Nova


جمعه 18 فروردين 1391 - 22:57
پاسخ بصورت نقل قول
InitializeComponent میاد کنترل هایی که روی فرم هستند رو آماده سازی میکنه. اگه به فایل Designer فرم خودتون مراجعه کنید میبینید که تنظیمات هر کنترل اونجا اضافه و حذف میشه و همینطور ساخته میشن. در هنگام ساخته شدن فرم از این متد استفاده میشه که کنترل ها تنظیم بشن.

راستی چرا نمی تونی عکس آپلود کنی؟

_________________
I have a dream that little children will one day live in a nation where they will not be judged by the color of their skin but by the content of their character. I have a dream today
هیچ راه فراری نیست!
http://www.dreamfactory.ir
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي
 

نويسنده
پيغام
Parham
متخصص ساخت بازی
متخصص ساخت بازی


تاريخ عضويت: 4 شنبه 28 دي 1390
تعداد ارسالها: 408
محل سكونت: somewhere behind a lot of troubles...


4 شنبه 23 فروردين 1391 - 20:22
پاسخ بصورت نقل قول
نمیدونم! Confused سه چهار دفعه سعی کردم نشد...سایتی بلدین که روش آپلود کنم؟اینجوری آموزش راحت تره...

_________________
برای رسیدن به موفقیت آسانسوری وجود ندارد،باید پله پله بالا رفت؛
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
vahab
متخصص ساخت بازی
متخصص ساخت بازی


تاريخ عضويت: 3 شنبه 5 ارديبهشت 1385
تعداد ارسالها: 474
محل سكونت: کرج


4 شنبه 23 فروردين 1391 - 21:01
پاسخ بصورت نقل قول
به نظر من برای آپلود از سایت http://www.picofile.com استفاده کن.
یه اکانت می سازی و فضای 300 مگابایت در اختیارت می زاره که امکاناتش هم خوبه و سرعتش هم بالاست.
من خودم از این سایت استفاده می کنم.
اگه تصاویر تو کار باشه هم برای شما راحت تر میشه و هم برای کاربران دیگه Idea

_________________
بودیم و کسی پاس نمی داشت که هستیم
باشد که نباشیم و بدانند که بودیم

WWW.Duw-Studio.Ir

WWW.YeganehAfzar.Ir

بازی رایانه ای پروانه
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي
 

نويسنده
پيغام
Parham
متخصص ساخت بازی
متخصص ساخت بازی


تاريخ عضويت: 4 شنبه 28 دي 1390
تعداد ارسالها: 408
محل سكونت: somewhere behind a lot of troubles...


3 شنبه 12 ارديبهشت 1391 - 09:25
پاسخ بصورت نقل قول
بچه ها سلام،از غیبت طولانی ام عذر می خوام.
راجع به عملگر ها می خوام صحبت کنم امروز... .
از دستورات مهم برنامه نویسی که بسیار هم کاربرد دارند و در اکثریت برنامه ها در هر زبانی استفاده می شوند عملگر های مربوط به
جمع و تفریق و ضرب و تقسیم هستند.
این عملگر ها را با مثالهایی بشناسیم:
كد:

int x,y;
x=x+1
x+=1
x++
x=+y
-----
x=x-1
x-=1
 x--
x-=y
----
x=x*1
x*=1
x*=y
----
x=x/1
x/=1
x/=y

دستورات بالا را که مشاهده می کنید وظایفی از قبیل جمع متقیر ها باهم یا تفریق و ضرب آنها را بر عهده دارند.
عملگر ++ یک واحد به محتوی متغیر اضافه و -- یک واحد از آن کم می کند.
x+=y
x-=y
دستور اول متغیر x را برایر با حاصل جمع دو مقدار xوy قرار می دهد ودستور دوم متغیر x را برایر با حاصل تفریق دو مقدار xوy قرار می دهد.
فکر کنم عملگر های بعدی قابل حدس زدن یاشند...
x/=y حاصل تقسیم x بر y را درx قرار میدهد و x*=y حاصل ضرب x و y را در x قرار می دهد.
این هم از مبحث ساده ولی بسیار مهم عملگر ها.
عبارتهای شرطی بحث آینده ی ما خواهند بود.(انشاالله...) Twisted Evil

_________________
برای رسیدن به موفقیت آسانسوری وجود ندارد،باید پله پله بالا رفت؛
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نمايش نامه هاي ارسال شده قبلي:   
ارسال يك موضوع جديد   پاسخ به يك موضوع    صفحه 1 از 2 تمام ساعات و تاريخها بر حسب 3.5+ ساعت گرينويچ مي باشد
برو به صفحه 1, 2  بعدي


 
پرش به:  


شما نمي توانيد در اين انجمن نامه ارسال كنيد.
شما نمي توانيد به موضوعات اين انجمن پاسخ دهيد
شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن ويرايش كنيد
شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن حذف كنيد
شما نمي توانيد در نظر سنجي هاي اين انجمن شركت كنيد


unity3d

بازگردانی به فارسی : علی کسایی @ توسعه مجازی کادوس 2004-2011
Powered by phpBB © 2001, 2011 phpBB Group
| Home | عضويت | ليست اعضا | گروه هاي كاربران | جستجو | راهنماي اين انجمن | Log In |