ورود

نسخه کامل مشاهده نسخه کامل : <:*:*:*:> کد نویسی، توضیح کد، طراحی متد (Method) زبان های مايکروسافت <:*:*:*:>



عــــلی
16-05-2009, 09:45
با سلام خدمت همه دوستان برنامه نویس و عزیزان پی سی.
قطعاً باید بدونید که قراره در این محل (تاپیک) چه کاری انجام بدیم!درسته... هدف من از ایجاد این تاپیک در اصل ساخت متد های مایکروسافت بود ولی دیدم که کمی به جزئیات تاپیک هم نگاه کنم و توضیحات کد و کد نویسی هم توش باشه تاپیک با شور بیشتری مورد استفاده قرار میگیره.من میخوام که تو این تاپیک ما با کمک یکدیگر یکی از متدهای Visual Studio مایکروسافت رو انتخاب کرده و اونو به صورت کامل در اینجا بزاریم!البته از متد های کوچک شروع کرده و به طرف متدهای سخت حرکت میکنیم.در ضمن دوستان می تونن که اگه جایی از کد تو برنامه نویسیشون مشکل داشتن و توضیح تیکه کد خواستن کد رو در اینجا قرار بدن تا من به همکاری دوستان بتونم براتون توضیح بدم البته اینو هم باید درنظر گرفت که دوستان پی سی زیاد هستند و من تنها نیستم.
خوب...
شاید بعضی از شما متد یادتون رفته باشه یا معنی درست اونو تو ویژوال ندونین!
واژه Method به معنی = روش، اسلوب، طريقه
باید بدونین که متد در کجا ها به کار میره پس به تیکه کد زیر توجه کنید:

(public void SQL_File_Engine(string FileName
}
Connection = @"Data Source=.\SQLEXPRESS;AttachDbFilename=""" + "|DataDirectory|" + FileName + "\";Integrated Security=True;User Instance=true;
;(Connect = newSqlConnection(Connection
{


در تیکه کد بالا SQL_File_Engine به عنوان متد به کار میره شما هر وقت تو برنامتون خواستین کد بالا رو بنویسن دیگه نیازی به کپی پیس یا نوشتن دوباره اون ندارین. فقط کافیه که متد رو صدا کنین:


;(@"\SQL_File_Engine("Main_DataBase.mdf

بسیار خوب این از توضیح متد (اگه بعضی از دوستان متوجه نشدن درخواست توضیح بیشتری کنن)
خوب...
من از متد Math.Abs شروع میکنم:
قطعاً همه شما میدونین که در محیط .NetFramework متد Math.Abs چه کاری انجام میده! متد Math.Abs یه عدد رو گرفته و قدر مطلق اون عدد رو برای شما بر میگردونه.در ریاضی:قدر مطلق هر عدد = مثبت آن عدد.
مثال:
|16|=16
|-16|=16
|0|=0
پس اگه ما به متد Abs هر عددی بدیم مثبت اون عدد رو میتونیم ببینیم میتونین با کد زیر امتحان کنین:


;(()MessageBox.Show(Math.Abs(-16).ToString


خوب حالا من به شما میگم که ماکروسافت چطوری از این متد استفاده کرده، به کد زیر دقت کنین:


(private double Abs(double value
}
(if (value < 0
}
;return -value
{
;return value
{


خوب الان باید فهمیده باشین که چطوری میشه قدر مطلق یک عدد رو بدست آورد.



توضیح کد:



یک متد که از نوع double بر میگردونه


(private double Abs(double value
}
doubleیک مقدار از نوع value
(if (value < 0
}
فقط در صورتی که مقدار valueکوچکتر از 0 یعنی منفی بود اونو مثبت میکنه.
;return -value
{
اگه عدد منفی نباشه که همونو برمیگردونه.
;return value
{



خوب دوستان باید بدونین که برای دوستانی که خیلی وقته برنامه نویسی میکنن نوشتن کد بالا کاری نداشت.توضیح دادم که ما از متدهای خیلی راحت شروع میکنیم و به متدهای سنگین میرسیم.



امیدوارم مورد استفاده قرار گرفته باشه و بگيره.قربان همه شما علي:11:.

persianmahdi
16-05-2009, 13:06
سلام

خیلی عالیه علی اقا

ادامه بدید

سوال :

این قسمت مگه منظورش این نیست که اگه value کوچکتر از صفر بود اونا منفی برگردون


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

عــــلی
17-05-2009, 00:23
سلام

خیلی عالیه علی اقا

ادامه بدید

سوال :

این قسمت مگه منظورش این نیست که اگه value کوچکتر از صفر بود اونا منفی برگردون


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

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


متد بعدی که قراره براتون تریس کنم متد Math.BigMul هست.
اول از همه توضیح بدم که این متد دو عدد را دریافت کرده و عملیات ضرب رو روی اونا انجام میده.پس فک نکنم کسی نتونه این متد رو بنویسه:
میتونید برای مشاهده جزئیات از کد زیر استفاده کنید:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
خوب برای ساخت متد هم میتونین از کد زیر استفاده کنید:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
توضیح کد:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

متغیر a و b هر دو از نوع int میباشند:
Int یک متغیر از نوع عدد صحیح که اعداد -2147483648 تا 2147483647 میباشد.

persianmahdi
17-05-2009, 12:01
درسته دوست من فرقی نمیکنه

سلام
خب اونوقت این متدی که شما نوشتید ABS نمی شه

به خاطر این که Abs میگه اگه value منفی ( یا کوچکتر از صفر) بود اونا مثبت برگردون .

در حالی که توی این متدی که شما نوشتید میگه اگه value منفی بود (یا کوچکتر از صفر) بود اونا منفی برگردون

عــــلی
17-05-2009, 16:10
سلام
خب اونوقت این متدی که شما نوشتید ABS نمی شه

به خاطر این که Abs میگه اگه value منفی ( یا کوچکتر از صفر) بود اونا مثبت برگردون .

در حالی که توی این متدی که شما نوشتید میگه اگه value منفی بود (یا کوچکتر از صفر) بود اونا منفی برگردون

سلام خدمت همه.

دوست عزیز ممنون از همراهیتون.میشه کد درستشو بنویسید.ممنون.


این دفعه با متد متد Math.Max که دو عدد دریافت کرده و بزرگترین رو نمایش میده:

مشاهده:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

خوب اینم متد:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

توضیح کد:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

با تشکر از همراهی دوستان:11:.

persianmahdi
17-05-2009, 18:50
سلام

به نظرم درستش این باشه .

با 3 نوع میشه Abs را تعریف کرد که من هر سه نوع را هم میزارم .


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ممنون

عــــلی
20-05-2009, 16:12
سلام

به نظرم درستش این باشه .

با 3 نوع میشه Abs را تعریف کرد که من هر سه نوع را هم میزارم .


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدممنون

با سلام خدمت همه دوستان.
دوست عزیز شما منظور من رو بد متوجه شدی!!(یه بار دیگه توضیحات اولیه رو بخون).من میخوام که متد مثلاً Abs ساخته بشه نه اینکه تو متدی که ساختیم دوباره از اون استفاده کنیم.
منظور من اینه که چطوری بدون Abs بتونیم Abs بسازیم.

متد Math.Min:
این متد با توجه به متد قبلی کوچکترین عدد رو برمیگردونه:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



مشاهده:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

توضیح کد:





برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید




قربان شما علی:11:.

عــــلی
21-05-2009, 21:22
بازم سلام خدمت دوستان برنامه نویس و پی سی.
از این پس کد هر سه زبان رو براتون میزارم که کسی مشکلی نداشته باشه یعنی به سه زبان وی بی سی شارپ و سی پلاس پلاس براتون ترجمه میکنم:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]مت د Math.Pow:
این متد دو ورودی را گرفته و ورودی اول را به توان ورودی دوم میرساند:

مشاهده:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی شارپ(#C) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]ویژو ال بیسیک(Visual Basic) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی پلاس پلاس(++C) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]مت د Math.Pow:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی شارپ(#C) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]ویژو ال بیسیک(Visual Basic) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی پلاس پلاس(++C) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]تو ضیح کد:
این متد دو ورودی از نوع double دارد و خود متد هم از نوع double برمیگرداند.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدیک متغیر از نوع double برای برگرداندن و محاصبات استفاده میکنیم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدیک حلقه برای که به تعداد متغیر y میچرخد و در صورتی که به y برسد خارج می شود.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدعملیات ضرب را در x انجام داده سپس در RET میریزیم.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدRET را برمیگردانیم.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

عــــلی
22-05-2009, 19:17
استفاده از توابع Api در زبان های .NET

سلام خدمت همه دوستان.امروز قراره به دوستان عزیز بگم که چگونه در برنامه هاشون از توابع Api استفاده کنند.


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]تا بع CloseWindow در واقع یک ورودی از نوع هندل(Handle) پنجره گرفته و آن پنجره را Minimize میکنه اما ما فقط میخوایم با استفاده از این Api فقط پنجره فرم خودمونو Minimize کنیم:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی شارپ(#C) توضیحات:

برای سی شارپ شما ابتدا باید یک using تعریف کنید، شما ابتدا باید کد زیر رو در بالای برنامه خود زیر using های دیگر قرار دهید:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی شارپ(#C) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

خوب حالا کد زیر رو کپی و در یک قسمت مناسب مثل General قرار دهید:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی شارپ(#C) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

حالا کد زیر رو در دکمه یا جایی که میخواید با اجرای کد پنره Minimize بشه قرار بدید:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی شارپ(#C) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]ویژو ال بیسیک(Visual Basic) توضیحات:
برای ویژوال بیسیک کد زیر رو در قسمت General قرار بدید:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]ویژو ال بیسیک(Visual Basic) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

حالا کد زیر رو در دکمه قرار دهید:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]ویژو ال بیسیک(Visual Basic) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی پلاس پلاس(++C) توضیحات:
برای سی پلاس پلاس هم using زیر رو در قسمت General و زیر using های دیگه قرار بدید:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی پلاس پلاس(++C) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

خوب حالا کد زیر رو کپی و در یک قسمت مناسب مثل General قرار دهید:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی پلاس پلاس(++C) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

حالا کد زیر رو در دکمه قرار دهید:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی پلاس پلاس(++C) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]تو ضیح کد:
کد زیر یک کامپوننت دات نت هست که به شما کمک میکنه تا با بتونین از DllImport استفاده کنید.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

کد زیر هم تابع CloseWindow رو در اختیار شما قرار میده تا بتونین برای Minimize کردن پنجره تون از اون استفاده کنین. این تابع که آرگومان از نوع long میگیره که نشان دهنده هندل پنجره است تا با استفاده از اون پنجره رو به حالت Minimize ببره.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

کد زیر رو هم حتماً میدونید... ما تابع CloseWindow رو صدا زدیم.و یه آرگومان به نام Handle به اون دادیم که این متغیر در اصل همون هندل فرم ما رو به ما برمیگردونه که چون از نوع Intptr برمیگردونه و تابع ما long میگیره ما اونو به Int64 تبدیل کردیم که همون Long هست.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

از دوستان برنامه نویس کسی نظری نداره؟

اگه مشکلی داشتین حتماً سوال کنید.

قربان شما علی:11::40:.

عــــلی
27-05-2009, 20:49
سلام خدمت همه دوستان برنامه نویس گرامی امروز میخوام در مورد چگونگی تعریف و کار با متغیرها در هر زبان رو بهتون نشون بدم.

به کد زیر دقت کنید:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی شارپ(#C) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]ویژو ال بیسیک(Visual Basic)کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی پلاس پلاس(++C) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]وی ژوال بیسیک 6(VB6) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدخوب اگه یکی از زبان های بالا رو بلد باشین قطعاً میتونید متغیر ها رو به زبان های دیگه به همین سادگی تعریف کنید.ولی اگه هیچ کدومو نمیدونین من یکی از زبان ها رو براتون توضیح میدم:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی شارپ(#C) توضیح کد:
ما یک متغیر از نوع Integer یا عدد 32 بیتی تعریف میکنیم.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیددر خط اول کد زیر ما intNumber رو مقدار 16 میدیم و در خط دوم intNumber با 8 جمع شده سپس داخل intNumber ریخته میشه و در خط آخر هم که به صورت پیغام نمایش میدیم.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیددر خط اول کد زیر ما intNumber رو مقدار 24 میدیم و در خط دوم intNumber با 2 تفریق شده سپس داخل intNumber ریخته میشه و در خط آخر هم که به صورت پیغام نمایش میدیم.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیددر خط اول کد زیر ما intNumber رو مقدار 6 میدیم و در خط دوم intNumber با 10 ضرب شده سپس داخل intNumber ریخته میشه و در خط آخر هم که به صورت پیغام نمایش میدیم.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در خط اول کد زیر ما intNumber رو مقدار 12 میدیم و در خط دوم intNumber با 6 تقسیم شده سپس داخل intNumber ریخته میشه.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

قربان شما علی[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

dogtag
31-05-2009, 15:21
اگر ادامه بدی بد نیست.
البته اوایلش جالب تر بود.

عــــلی
31-05-2009, 16:11
سلام خدمت همه برنامه نویسان.


اگر ادامه بدی بد نیست.
البته اوایلش جالب تر بود. ممنونم دوست عزیز.

به زودی به متدهای سنگین میرسیم عجله نکن.

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]چگ ونگی کار با دستور شرطی IF (شرط در ویژوال استادیو(Visual Studio)):


به کد زیر دقت کنید:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی شارپ(#C) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]ویژو ال بیسیک(Visual Basic)کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی پلاس پلاس(++C) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]وی ژوال بیسیک 6(VB6) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدخوب قطعاً با یکم دستکاری باید فهمیده باشین که شرط IF چگونه کار میکنه:27:.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی شارپ(#C) توضیح کد:
ما یک متغیر از نوع Integer یا عدد 32 بیتی تعریف میکنیم و مقدار اونو برابر با 27 قرار میدیم.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیددر اینجا ما یک شرط و دستورات مربوطه رو گذاشتیم.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و به شرط گفتیم در صورتی که intNumber برابر 27 باشد کد زیر را اجرا کند که یک پیغام به ما نمایش خواهد داد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدبرای اطمینان از شرط میتونید مقدار intNumber رو تغییر بدید تا مشاهده کنید.
اجرای شرط از } تا { انجام می شود و در VB تا End IF.

با تشکر فراوان از استاد هاشمیان.

dogtag
31-05-2009, 16:22
یه پیشنهاد بدم : لطفاً این چیز ها رو زیاد روش مانور نده.
چون تو کتابها خیلی بهتر و دقیق تر و ساده تر بحث شده.
همون متد های NET. رو شبیه سازی کنی (البته با تحقیق و چیدا کردن بهینه ترین راه) عالیه.
سعی هم بکن مثل VB6 کار های عزیز نشی که همش dll های ویندوز رو import کنی و بری جلو.
منظورم همون Minimize و ... ها است.

البته توجه داشته باش که چون تاپیکت پر بار ه و برام مهمه دارم نظر می دم.

این استیل نوشتنت (که رنگی می کنی و عکس می ذاری) خیلی عالیه.

و در کل ممنون.

عــــلی
31-05-2009, 16:42
سعی هم بکن مثل VB6 کار های عزیز نشی که همش dll های ویندوز رو import کنی و بری جلو.
منظورم همون Minimize و ... ها است.
و در کل ممنون.

یعنی از Dll ها و توابع API بگم یا نگم؟

dogtag
31-05-2009, 16:57
تا اونجایی که امکان داره نگو.
الان تو خود NET. همین minimize وجود داره که HWND می گیره و کوچیک می کنه. دیگه نیازی نیست.
(ولی الان فکر کنم فهمیدم چرا از DLL استفاده کردی، آخه داری شبیه سازی می کنی! ببخشید)
در صورتی که 100% می دونی غیر از DLL راهی نداری، استفاده کن.

در ضمن، اگه امکانش هست واسه ++C غیر NET. ی هم کدش رو بنویس.
ممنون.

---

برای اینکه تاپیکت شلوغ نشه اینجا می گم.
من همچین کتابی نمی شناسم ولی اگر تو بخش مربوط بهش درخواست بدی، پیدا می کنند.

موفق باشی


---

مدیر عزیز و محترم، این بیشتر به همون NET. مربوط نبود؟

عــــلی
31-05-2009, 17:41
تا اونجایی که امکان داره نگو.
الان تو خود NET. همین minimize وجود داره که HWND می گیره و کوچیک می کنه. دیگه نیازی نیست.
(ولی الان فکر کنم فهمیدم چرا از DLL استفاده کردی، آخه داری شبیه سازی می کنی! ببخشید)
در صورتی که 100% می دونی غیر از DLL راهی نداری، استفاده کن.

در ضمن، اگه امکانش هست واسه ++C غیر NET. ی هم کدش رو بنویس.
ممنون.

ممنونم از همراهیت دوست من.راستش من ++C رو بلد نیستم و کتابی هم پیدا نکردم که بتونم خوب یاد بگیرم.اگه کتابی داری که به صورت ویژوالی توضیح بده ممنون میشم بزاری(منظور از ویژوالی کار با محیط رو هم به صورت تصاویر آموزش بده).اگه کتاب داشته باشم مطمعناً میزارم.

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]مت د Math.IEEERemainder (به دست آوردن باقیمانده تقسیم دو عدد):


به متد زیر دقت کنید:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی شارپ(#C) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]ویژو ال بیسیک(Visual Basic)کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی پلاس پلاس(++C) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]وی ژوال بیسیک 6(VB6) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی شارپ(#C) توضیح کد:

حالا به مثال های ریاضی زیر دقت کنید:
1 = 3 / 10
2 = 4 / 10
1 = 7 / 15
3 = 6 / 15

وقتی به متد IEEERemainder دو عدد می دهیم.این متد عدد اول را تقسیم بر عدد دوم میکند به صورت زیر:
3 = 3 / 10
2 = 4 / 10
2 = 7 / 15
2 = 6 / 15

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

سپس جواب را در عدد دوم ضرب میکند:
9 = 3 * 3
8 = 4 * 2
14 = 7 * 2
12 = 6 * 2

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

و بعد عدد اول را از {ضرب جواب و عدد دوم} کم می کند و باقیمانده بدست میاید:

1 = 9 - 10
2 = 8 - 10
1 = 14 - 15
3 = 12 - 15

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

با تشکر از همه دوستان:11:.

Payman_62
31-05-2009, 20:17
منتقل شد........

عــــلی
04-06-2009, 18:25
با سلام خدمت دوستداران برنامه نویس عزیز.متد امروز PadLeft که میخوایم پیاده سازیش کنیم:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]مت د PadLeft (اضافه کردن چند کاراکتر به سمت چپ - رشته ورودی):

به متد زیر دقت کنید:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی شارپ(#C) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]ویژو ال بیسیک(Visual Basic)کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی پلاس پلاس(++C) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]وی ژوال بیسیک 6(VB6) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی شارپ(#C) توضیح کد:

متد PadLeft یک رشته می گیرد که این مقدار رشته اصلی می باشد.سپس یک مقدار از نوع عدد میگیرد که نشانگر اندازه ای که رشته اصلی است سپس یک کاراکتر میگیرد در صورتی که عدد وارد شده بزرگتر از اندازه رشته اصلی باشد کاراکتر وارد شده را به سمت چپ رشته اضافه میکند.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

یک رشته برای برگرداندن.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

این حلقه تا [اندازه رشته اصلی - عدد وارد شده] می چرخد و هر دور کاراکتر را به رشته برگشتی اضافه میکند.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

این کد کاراکتر را به رشته برگشتی اضافه میکند.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

و در آخر هم رشته اصلی به آخر رشته برگشتی اضافه میشود.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

امیدوارم واضع توضیح داده باشم.قربانتان علی:11:.

عــــلی
23-06-2009, 22:39
با سلام خدمت دوستداران برنامه نویس عزیز.متد امروز Math.Round هست که میخوایم پیاده سازیش کنیم:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]مت د Round (گرد کردن یک عدد اعشاری):

به متد زیر دقت کنید:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی شارپ(#C) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]ویژو ال بیسیک(Visual Basic)کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی پلاس پلاس(++C) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]وی ژوال بیسیک 6(VB6) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]دلفی(Delphi) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]آی ال (information literacy Or IL) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]کروم (Chorme) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی شارپ(#C) توضیح کد:
متد Round یک عدد اعشاری از نو Double می گیرد که این مقدار باید پردازش و گرد شود.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

کد زیر برای روند کرد کامل تر بگ که متد روند در صورتی که اعشار آن بزرگتر از نیم باشد عدد بزرگتر را بدون اعشار و در در صورتی که کوچکتر یا مساوی نیم باشد خود عدد اصلی را بدون اعشار برمیگرداند.
برای مثال:
عدد 10.50 یا 10.30 یا 10.1:
این عدد اگر روند شود میشود 10.
حالا عدد 10.51 یا 10.60 یا 10.85:
این عدد اگر روند شود میشود 11.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

دوستان میتوانند متد درخواستی خود را هم در این تاپیک بگویند تا برایشان ترجمه کنم.
با تشکر از همراهی شما قربان همه شما موفق و پیروز باشید.یاعلی:11:.

dogtag
23-06-2009, 23:27
سلام.
چند تا سوال:
1- کروم چیه؟؟!
2- تو ++C این __gc* یعنی چی؟
3- و همچنین *static_cast<__box Double*>

ممنون

عــــلی
24-06-2009, 00:34
سلام.
چند تا سوال:
1- کروم چیه؟؟!
2- تو ++C این __gc* یعنی چی؟
3- و همچنین *static_cast<__box Double*>

ممنون
سلام خسته نباشید. در مورد کروم و آی ال دارم تحقیق میکنم که ببینم چه زبان هایی هستند.
ولی دز مورد سوال دوم و سومت باید بگم که این کدها رو که اجرا کردم کمی ارور داشت.امیدوارم دیگه اینجوری نشه gc__ هم یه کلمه کلیدی هست که اکثراً برای کلاسها استفاده میشه که من اطلاعات کافی ازش ندارم.و در مورد اینا ان شاالله اگه اطلاعات کسب کردم حتماً برات میزارم:10:.

عــــلی
01-07-2009, 14:13
با سلام خدمت دوستان برنامه نویس عزیز.متد امروز Path.GetExtension می باشد(بازم میگم که اگه متد درخواستی داشتین بگین):

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]مت د GetExtension (خواندن پسوند یک فایل):
(به دلیل نداشتن برنامه های(Delphi,IL,Chorme) طراحی متد به این زبان ها فعلاً انجام نمیشه)

به متد زیر دقت کنید:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی شارپ(#C) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]ویژو ال بیسیک(Visual Basic)کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی پلاس پلاس(++C) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]وی ژوال بیسیک 6(VB6) کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی شارپ(#C) توضیح کد:
اینبار ابتدا ما سه تا متغیر کاراکتر از نوع Static و فقط خواندنی که مقدار آنها برای خروج از حلقه میباشد تعریف کردیم.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدمتد GetExtension یک آدرس از یک فایل را گرفته و پسوند آن فایل را بر میگرداند:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیددر شرط اول این متد ما به متد گفتیم در صورتی که مقدار آدرس فایل خالی بود خالی را برگرداند و کد های دیگر اجرا نمی شود:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیددو متغیر تعریف کردیم که مقدار آنها را برابر با تعداد کاراکتر های آدرس ورودی قرار دادیم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدحلقه ای قرار دادیم که از startIndex (تعداد کاراکتر های آدرس) تا صفر میچرخد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدتوضیحی در مورد حلقه while:
حلقه while یک شرط را میگیرد و تا زمانی که شرط غلط باشد میچرخد و اگر شرط حلقه درست باشد از حلقه خارج میشود.

یک متغیر ch از نوع char تعریف کردیم که مقدار آن کارکتر درخواستی از آدرس میباشد مثلاً اگر startIndex برابر با 4 باشد.چهارمین کاراکتر را به داخل ch میریزد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدخوب قطعاً همه شما میدانید که پسوند فایل ها با کاراکتر "." شروع میشود پس ما برای خروج از حلقه گفتیم اگر ch برابر با "." باشد.کد خروج از حلقه در اینجا همان return است که باید پسوند را به GetExtension برگرداند.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدیک شرط گذاشتیم برای اینکه startIndex اولین کاراکتر ما نباشد چون در این صورت فایل مورد نظر هیچ پسوندی ندارد و ما در این صورت کاراکتر خالی را برگرداندیم و در صورتی که startIndex اولین کاراکتر ما نباشد ما پسوند فایل را بر میگردانیم.مثلاً از آدرس path آن کاراکترهایی را برمیگردانیم که از startIndex شروع می شوند و تا length - startIndex خاتمه می یابند :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدو در آخر هم شرطی گذاشتیم که اگر ch برابر با یکی از متغیر های(DirectorySeparatorChar ,AltDirectorySeparatorChar ,VolumeSeparatorChar) بود از حلقه خارج میشویم و کاراکتر خالی به GetExtension برگردانده میشود.

موفق و سربلند باشد.

عــــلی
21-05-2010, 17:11
سلام.
توضیح کد بازی منچ:

«بسم الله الرحمن الرحیم»
توضیحات کد...

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدمتغیر TAS که از اسمش پیداست برای اینکه مقدار تاس انداخته شده در آن قرار گیرد مثلاً اگر تاس 6 یا 2 یا... بود در این متغیر ذخیره میشود که در کدهای بعدی میتوانید ببینید که چه جاهایی مقدار دهی می شود.

حتماً در محیط دیزاین (Design) فرم، لیبل هایی را مشاهده میکنید که متن انها "پرتاب تاس" و "بی حرکت می باشد" متغیر LBL_Nobat یکی از ان لیبل ها را در خود قرار میدهد که به نوبت هر بازیکن تغییر میکند مثلاً اگر نوبت بازیکن سبز باشد این برچسب همان لیبلی میشود که نوبت آن هست مثلاً Lbl_s که بعد از توضیحات کدهای بعدی متوجه میشوید که به چه درد میخورد.

ما یک Enum تعریف کردیم به نام ClassModel که با مشاهده آن میفهمید که دارای Zard,Ghermez,Sabz,Abi میباشد. به موقع توضیح میدهیم که Enum چه کار میکند.ما یک متغیر به نام Nobat تعریف کردیم که همانطور که از اسمش پیداست نشان میدهد که نوبت بازی دست چه بازیکنی است.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

رویداد Form_Load زمانی فراخوانی می شود که فرم اجرا مشود.
خاصیت Tag کنترل ها یک متغیر از نوع object است که میتوان هر چیزی را در آن قرار داد. که ما در کد بالا برای چهار تا لیبل Lbl_z, Lbl_a, Lbl_g, Lbl_s متغیر مورد نظر را در آن قرار دادیم که بعداً از آن استفاده کنیم.
کد LBL_Nobat = new Label(); برای این است که لیبل خالی نباشد که اگر خالی باشد باعث ایجاد خطا در اول بازی میشود.
حلقه زیر تمام کنترل های فرم را جستجو میکند و آن را یکی یکی در Main_Ctl میرید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیداگر کمی به کد زیر دقت کنید و به طریقه نام گذاری کنترل ها در فرم هم دقت کنید میبینید که ما در کد زیر از نام کنترل هایی که میخواهیم استفاده کنیم استفاده کرده ایم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدمتد Contains در کد بالا یک متن مثلاً "Pic_Start"را گرفته و در نام کنترل که Main_Ctl.Name جستجو میکند اگر آن متن وجود داشته باشد True بر میگرداند و شرط درست میشود.و اگر دقت کنید تمام کنترل هایی در نام آنها Pic_Start وجود دارد که بازی کن باشند.

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

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدما از متغیر AccessibleName در کنترل ها استفاده کردیم اگر نگاه کنید میبینید که هر کدام یک عدد هستند...
و چون متغیر AccessibleName یک String بود ما آن را با کلاس زیر به عدد تبدیل کردیم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدمتغیر (Class_Main.ClassModel) در اصل عدد به دست آمده Convert.ToInt16(Main_Ctl.AccessibleName) را تبدیل به Class_Main.ClassModel میکند.
This یعنی فرم پیشفرض که کلاس ما یک فرم میخواست و ما فرم پیش فرش را به کلاس دادیم.
Main_Ctl هم همان کنترلی است که از حلقه گرفتیم. ما برای هر کنترل بازیکن یک کلاس تعریف کردیم و آن ها را با کد زیر در Tag کنترل قرار میدهیم که بعداً فراخوانی کنیم.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدمتد زیر یک عدد میگیرد و عکس آن عدد را برمیگرداند که این عکس همان عکسی است که در تاس فرم مشاهده میکنید:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدرویداد یک رویداد کلیک است که به وسیله دکمه پرتاب تاس زده میشود:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکلاس Random برای آن است که ما یک عدد رندوم یا یک عدد تصادفی به عنوان منچ در متغیر TAS بریزیم.
کد زیر عکس را بر اساس TAS در متد Get_Tas_Imag(TAS) جستجو میکند و در Image کنترل تاس میریزد:
Pic_Tas.Image = Get_Tas_Imag(TAS);
متد زیر را بعاً توضیح خواهیم داد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
کد زیر: در صورتی که TAS ما شش نباشد نوبت عوض میشود چون اگر شش باشد نوبت عوض نمیشود و کسی که شش آورده میتواند جایزه خود را بندازد.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این عدد باید از 0 تا 3 باشد برای همین ما شرط زیر را گذاشتیم که باعث خطا نشویم:
if (Convert.ToInt16(Nobat) + 1 == 4)
یعنی اگر Enum چهار بود نویت را به اولین Enum بده..یعنی زرد.

توضیح متید زیر:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیداین متد تاس مورد نظر را میگیردو در tas میریزد دقت کنید که دو متغیر TAS و tas با هم فرق میکنند:
v
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدخط زیر که نیازی به توضیح ندارد ما در اصل متن لیبل ها را به حالت بی حرکت در آوردیم تا نوبت تاس انداختن مشخص شود:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اگر دقت کنید کسی که نوبتش میشود با رنگ قرمز در فرم دیده میشود.کد زیر همه رنگ ها را به حالت اولیه در میاورد تا در صورت نوباپت رنگ را عوض کند:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکد زیر تمام کنترل های بازی را از کار می اندازد تا کسی بی نوبت بازی نکند:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکد زیر:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدشرط زیر نشان میدهد در صورتی که نوبت برابر زرد باشد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدرنگ لیبل زرد قرمز میشود:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدلیبل زرد در لیبل نوبت قرار میگیرد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدتمام کنترل های زرد که نوبتشان است به رو میایند و به کار می افتند:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدبا نام Pic_Start_Zard میتوان زرد ها را جستجو کرد
با کد زیر به رو میایند:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیددر شرط زیر:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیددر صورتی که تاس شش باشد متن برچسب یا لیبل زرد برابر "اجازه ورود" میشود و در غیر این صورت "تاس پرتاب شد" می شود که با کد زیر در بالاتر، در متغیر text قرار دادیم:

text = "پرتاب تاس انجام شد";
در مورد کد های دیگر هم توضی مانند بالاست فقط به جای زرد مثلاً قرمز، آبی یا سبز میشود.

کد زیر:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدرویداد Pic_Start_Abi1_Click وقتی اجرا می شود که روی دکمه بازیکنی کلیک شود این رویداد شامل تمام کنترل های بازی کن میشود که زرد، قرمز، سبز و آبی میباشند.
شرط زیر زمانی اجرا میشود که متن لیبل نوبت (که توضیح داده بودیم که وقتی نوبت لیبلی باشد همان لیبل در آن قرار میگیرد) برابر "اجازه ورود" باشد و اگر یادتان باشد ما در TAG هر کنترل بازیکن یک کلاس اصلی قرار دادیم که الان از اینجا فراخوانی میکنیم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکد زیر متغیر object به نام sender را به PictureBox تبدیل میکند....این pictureBox همان کنترلی است که رو آن کلیک شده است:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکه ما متغیر Tag کنترلی را که روی آن کلیک شده را دریافت کردیم و با کد زیر آن را به کلاس تبدیل کردیم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدعلامت ! پشت این متغیر ها یعنی مخالف بودن یا True نبودن شرط.

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

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدبا خط زیر ما مجوز حرکت کلاس کنترل مورد نظر را True کردیم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکد زیر در اصل کنترل را وادار به حرکت میکند که در کلاس اصلی توضیح میدهیم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکدهای زیر هم که نیازی به توضیح نیست خط اول متن لیبل نوبت را تغیرر میدهد و "بی حرکت" میکند و خط دوم هم دکمه تاس را فعال میکند:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدخط زیر هم اگر تاس مخالف شش بود دکمه پرتاب تاس را فعال میکند:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدشرط زیر برای زمانی است که نوبت باشد ولی تاس ما شش نباشد و کنترل ما مجوز حرکت داشته باشد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدتوضیحات کلاس اصلی:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدمتغیر ها:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدمتغیر Frm_Main در اصل همان فرم اصلی ماست که فراخوانی مشود:
کد زیر هم نشان میدهد که این کلاس برای کدام بازی کن است:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکد زیر یک آرایه از کنترل هاست در این آرایه کنترل های فرم قرار میگیرند در اصلی این کنترل ها هم خانه های بازی هستند که بازیکن باید بر اساس این آرایه رو فرم حرکت کند:
متغیر زیر میزان حرکت کنترل را نشان میدهد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدمتغیر زیر مجوز حرکت کنترل مورد نظر است:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدمتغیر زیر هم کنترل اصلی فرم ایت که این کلاس به آن اختصاص داده میشود:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدبا متد زیر هم که آشنا هستید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیداین متد هم هنگام تعریف کلاس آرگومانهای خود را دریافت میکند که قبلاً توضیح داده شد.

با کد زیر متغیر Frm_Main برابر فرم ورودی مشود:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدبا کد زیر هم بازیکن مورد نظر را مشخص میکند و در متغیر Model میریزد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکد زیر هم که کنترل دریافتی را در کنترل اصلی برای استفاده میریزد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدما در خانه ها منچ برای هر بازیکن حدود 44 خانه داریم بنابر این برای آرایه خود 44 کنترل تعریف میکنیم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکه در زیر مقدار دهی می شوند:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیداگر در فرم اصلی دقت کنید میبینید که کنتذهای خانه ها اول نامشان PIC است.بنابر این ما با آنها کار داریم و اگر به آخر نام انها دقت کنید دو شماره را میبینید 00 که کد زیر این شماره ها را دریافت میکند و در آرایه به صورت مرتب قرار میدهد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدبه کد زیر دقت کنید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیداگر خوب ببینید،می بینید که کدهای زرد با بقیه فرق میکند....چون اولین بازیکن زرد است و بازی با زرد شروع میشود بنابراین ما دیگر نیاز به مرتب سازی زرد نداشتیم و فقط چهار خانه آخر آن را قرار دادیم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدشرط زیر متغیر Model را مقایشه میکند ببیند که قرمز است یا خیر:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدما یک آرایه دیگه تعریف کردیم برای مرتب سازی قرمز چون اگر مرتب نکنیم بازی کن های قرمز از اولین خانه زرد شروع به بازی میکنند . ما باید آنها را مرتب کنیم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدحلقه زیر را ببینید:

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

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدچون اخرین خانه قرمز از 30 شروع میشود ما I را 30 قرار دادیم تا اولین خانه قرمز 30 باشد و تا آخر برود:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدبعد از خروج از حلقه هم کد زیر چهار خانه پایانی را به آرایه میدهد و همه را در آرایه اصلی میریزد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیددر مورد کدهای دیگر هم توضیحات بالا کفایت میکند.
و اما متد زیر:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیداین متد همان متدی است که شما تعداد خانه هایی که باید حرکت کنید را به آن میدهید مثلاً اگر میخواهید چهار خانه به جلو بروید باید به این متغر عدد 4 بفرستید که مثالش در کدهای فرم است.

متد زیر:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدمتد بالا در اصل عملیات حرکت را انجام میدهد:
متغیر Val عددی است که شما به وسلیه منچ بدست میاورید و به متغیر میدهید. و Go تعداد خانه هایی است که کنترل بازی شما حرکت کرده است.
شرط زیر بررسی میکند که تعداد حرکت های رفته بیش از حد نباشد و کنترل مجوز حرکت داشته باشد(یعنی شش آورده و داخل بازی باشد) و اینکه کنترلی دیگر در آن خانه قرار نداشته باشد.چون دو کنترل در یک خانه نمیتوانند قرار گیرند:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکد زیر کنترل را حرکت میدهد و آن را برابر با یکی ار خانه های کنترل آرایه ای میکند:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکد زیر نشان میدهد که در خانه ای که قرار داریم دیگر کنترل دیگر نباید باشد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکد زیر نشان میدهد که در خانه قبلی که قرار داشتیم میتواند کنترل بازی کنی قرار گیرد زیرا دیگز آن خانه خالی شده است:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدو در آخر هم Enum:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدEnum کاربرد بسیاری برای ما داشت.که ما در برنامه خود بجای چند متغیر از یک Enum استفاده کردیم.

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

دانلود برنامه:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید[/COLOR]

ببخشید که توضیحات کمی نا مفهوم بود.این توضیحات برای یکسال پیشه من وقت نکردم دوباره بخونمش.
موفق باشید:11:.

nfp
23-05-2010, 07:50
سلام وقت بخیر!
میخوام یه برنامه به زبان C# بنویسم که تحت شبکه کار کنه از پایگاه داده SQL استفاده میکنم
میخوام بدونم تنظیمات SQL چی باس باشه?
CONNECTION STRING چه طور باس تعریف شه؟
اصولا باس دو تا exe داشته باشم یا نه؟(یکی واسه سرور و دیگری واسه کلاینتام)

عــــلی
23-05-2010, 14:44
اصولا باس دو تا exe داشته باشم یا نه؟(یکی واسه سرور و دیگری واسه کلاینتام)
سلام.
دوست من درسته باید دو تا برنامه یکی کلاینت و دیگری سرور که میتونی با یه جستجو پیدا کنی نمونه برنامه رو.

CONNECTION STRING چه طور باس تعریف شه؟
کانکنشن که توی برنامه و دستورات sql رو توی خود sql بنویس در قسمت Stored Procedures.
lموفق باشی دوست من.