<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>وبلاگی برای تمام فصول &#187; برنامه های من</title>
	<atom:link href="http://hesam-h.ir/blog/category/it/my-programms/feed/" rel="self" type="application/rss+xml" />
	<link>http://hesam-h.ir/blog</link>
	<description>حسام حاتمی</description>
	<lastBuildDate>Sun, 22 Jan 2012 18:53:22 +0000</lastBuildDate>
	<language>fa</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>ارسال ایمیل از طریق C#</title>
		<link>http://hesam-h.ir/blog/1389/10/%d8%a7%d8%b1%d8%b3%d8%a7%d9%84-%d8%a7%db%8c%d9%85%db%8c%d9%84-%d8%a7%d8%b2-%d8%b7%d8%b1%db%8c%d9%82-c/</link>
		<comments>http://hesam-h.ir/blog/1389/10/%d8%a7%d8%b1%d8%b3%d8%a7%d9%84-%d8%a7%db%8c%d9%85%db%8c%d9%84-%d8%a7%d8%b2-%d8%b7%d8%b1%db%8c%d9%82-c/#comments</comments>
		<pubDate>Sat, 01 Jan 2011 19:48:56 +0000</pubDate>
		<dc:creator>تبعیدی دست باد</dc:creator>
				<category><![CDATA[برنامه های من]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[ارسال ایمیل]]></category>
		<category><![CDATA[سورس]]></category>

		<guid isPermaLink="false">http://hesam-h.ir/blog/?p=1013</guid>
		<description><![CDATA[خیلی از شما دوستان به دنبال طریقه ارسال ایمیل از طریق C#  هستید من قطعه کد زیر رو برای استفاده در اختیارتون قرار میدم . امیدوارم مورد استفاده قرار بگیره . این برنامه بسیار ساده هست و از اصول بسیار مقدماتی استفاده میکنه.]]></description>
			<content:encoded><![CDATA[<p><a href="http://hesam-h.ir/blog/wp-content/uploads/2011/01/email.jpg"><img class="alignright size-full wp-image-1014" title="email" src="http://hesam-h.ir/blog/wp-content/uploads/2011/01/email.jpg" alt="" width="204" height="204" /></a></p>
<p>خیلی از شما دوستان به دنبال طریقه ارسال ایمیل از طریق C#  هستید من قطعه کد زیر رو برای استفاده در اختیارتون قرار میدم .</p>
<p>امیدوارم مورد استفاده قرار بگیره .</p>
<p>این برنامه بسیار ساده هست و از اصول بسیار مقدماتی استفاده میکنه.</p>
Note: There is a file embedded within this post, please visit this post to download the file.
]]></content:encoded>
			<wfw:commentRss>http://hesam-h.ir/blog/1389/10/%d8%a7%d8%b1%d8%b3%d8%a7%d9%84-%d8%a7%db%8c%d9%85%db%8c%d9%84-%d8%a7%d8%b2-%d8%b7%d8%b1%db%8c%d9%82-c/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>پیاده سازی الگوریتم Fifo</title>
		<link>http://hesam-h.ir/blog/1389/06/%d9%be%db%8c%d8%a7%d8%af%d9%87-%d8%b3%d8%a7%d8%b2%db%8c-%d8%a7%d9%84%da%af%d9%88%d8%b1%db%8c%d8%aa%d9%85-fifo/</link>
		<comments>http://hesam-h.ir/blog/1389/06/%d9%be%db%8c%d8%a7%d8%af%d9%87-%d8%b3%d8%a7%d8%b2%db%8c-%d8%a7%d9%84%da%af%d9%88%d8%b1%db%8c%d8%aa%d9%85-fifo/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 10:51:17 +0000</pubDate>
		<dc:creator>تبعیدی دست باد</dc:creator>
				<category><![CDATA[برنامه های من]]></category>
		<category><![CDATA[optimal algorithm for fifo]]></category>
		<category><![CDATA[الگوریتم بهینه برای Fifo]]></category>
		<category><![CDATA[ویژوال بیسیک]]></category>

		<guid isPermaLink="false">http://hesam-h.ir/blog/?p=982</guid>
		<description><![CDATA[در این پست پیاده سازی الگوریتم زمانبندی Fifo  رو بوسیله ویژوال بیسیک مشاهده میکنید. امیدوارم استفاده کنید. FIFO * برنامه با VB  میباشد.]]></description>
			<content:encoded><![CDATA[<p>در این پست پیاده سازی الگوریتم زمانبندی Fifo  رو بوسیله ویژوال بیسیک مشاهده میکنید.</p>
<p>امیدوارم استفاده کنید.</p>
<p><a href="http://hesam-h.ir/blog/wp-content/uploads/2010/12/FIFO.zip">FIFO</a></p>
<p>* برنامه با VB  میباشد.</p>
]]></content:encoded>
			<wfw:commentRss>http://hesam-h.ir/blog/1389/06/%d9%be%db%8c%d8%a7%d8%af%d9%87-%d8%b3%d8%a7%d8%b2%db%8c-%d8%a7%d9%84%da%af%d9%88%d8%b1%db%8c%d8%aa%d9%85-fifo/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>ماشین حساب با Socket Programming در #c</title>
		<link>http://hesam-h.ir/blog/1389/03/%d9%85%d8%a7%d8%b4%d9%8a%d9%86-%d8%ad%d8%b3%d8%a7%d8%a8-%d8%a8%d8%a7-socket-programming-%d8%af%d8%b1-c/</link>
		<comments>http://hesam-h.ir/blog/1389/03/%d9%85%d8%a7%d8%b4%d9%8a%d9%86-%d8%ad%d8%b3%d8%a7%d8%a8-%d8%a8%d8%a7-socket-programming-%d8%af%d8%b1-c/#comments</comments>
		<pubDate>Sun, 06 Jun 2010 17:30:09 +0000</pubDate>
		<dc:creator>تبعیدی دست باد</dc:creator>
				<category><![CDATA[آی تی]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[برنامه های من]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[calculator]]></category>
		<category><![CDATA[socket programming]]></category>
		<category><![CDATA[source code]]></category>
		<category><![CDATA[سوكت پروگرمينگ]]></category>
		<category><![CDATA[ماشين حساب]]></category>

		<guid isPermaLink="false">http://hesam-h.ir/blog/?p=687</guid>
		<description><![CDATA[با سلام به همه دوستان باز هم با یک برنامه جالب دیگه در خدمت شما هستم .برای یادگیری سوکت پروگرمینگ مناسب هست . این برنامه رو به درخواست یکی از دوستان کمی تغییرات دادم و در لوکال اجرا میشه .کامنت در سورس هست . برای دانلود به ادامه مطلب مراجعه نمایید. دریافت]]></description>
			<content:encoded><![CDATA[<p><a href="http://hesam-h.ir/blog/wp-content/uploads/2010/06/socketcalc.jpg"><img class="aligncenter size-medium wp-image-688" title="socketcalc" src="http://hesam-h.ir/blog/wp-content/uploads/2010/06/socketcalc-300x288.jpg" alt="" width="300" height="288" /></a></p>
<p>با سلام به همه دوستان باز هم با یک برنامه جالب دیگه در خدمت شما هستم .برای یادگیری سوکت پروگرمینگ مناسب هست . این برنامه رو به درخواست یکی از دوستان کمی تغییرات دادم و در لوکال اجرا میشه .کامنت در سورس هست .</p>
<p>برای دانلود به ادامه مطلب مراجعه نمایید.</p>
<p><span id="more-687"></span></p>
<p><a href="http://hesam-h.ir/blog/wp-content/uploads/2010/06/calcu.zip">دریافت</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hesam-h.ir/blog/1389/03/%d9%85%d8%a7%d8%b4%d9%8a%d9%86-%d8%ad%d8%b3%d8%a7%d8%a8-%d8%a8%d8%a7-socket-programming-%d8%af%d8%b1-c/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>my sql و  c# چگونه ؟چطور؟</title>
		<link>http://hesam-h.ir/blog/1389/01/my-sql-%d9%88-c-%da%86%da%af%d9%88%d9%86%d9%87-%d8%9f%da%86%d8%b7%d9%88%d8%b1%d8%9f%d8%af%d8%b1-%d8%ad%d8%a7%d9%84-%d8%aa%d9%83%d9%85%d9%8a%d9%84/</link>
		<comments>http://hesam-h.ir/blog/1389/01/my-sql-%d9%88-c-%da%86%da%af%d9%88%d9%86%d9%87-%d8%9f%da%86%d8%b7%d9%88%d8%b1%d8%9f%d8%af%d8%b1-%d8%ad%d8%a7%d9%84-%d8%aa%d9%83%d9%85%d9%8a%d9%84/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 09:30:14 +0000</pubDate>
		<dc:creator>تبعیدی دست باد</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[برنامه های من]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[ارتباط بين c# و mysql]]></category>

		<guid isPermaLink="false">http://hesam-h.ir/blog/?p=629</guid>
		<description><![CDATA[خیلی از دوستان این روزها به فکر استفاده از دیتابیسهای جدید و دور کردن خود از SQL Server  هستند . یکی از این نوع دیتا بیسها MySql  هست که یک نوع بانک اطلاعاتی باز متن هست . اما چطور میتوانیم کد منبع خود را به این پایگاه داده متصل کنیم . با من  تا انتهای [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://hesam-h.ir/blog/wp-content/uploads/2010/04/mysql-hires.gif"><img class="aligncenter size-medium wp-image-631" title="mysql-hires" src="http://hesam-h.ir/blog/wp-content/uploads/2010/04/mysql-hires-300x154.gif" alt="" width="300" height="154" /></a><br />
خیلی از دوستان این روزها به فکر استفاده از دیتابیسهای جدید و دور کردن خود از SQL Server  هستند .</p>
<p>یکی از این نوع دیتا بیسها MySql  هست که یک نوع بانک اطلاعاتی باز متن هست . اما چطور میتوانیم کد منبع خود را به این پایگاه داده متصل کنیم .</p>
<p>با من  تا انتهای این مقاله همرا ه باشید .</p>
<p>حتما به نتیجه خواهید رسید.</p>
<p><span id="more-629"></span>در ابتدای امر میبایستmysql.net conector ‌رو دریافت کرده و نصب کنید.پس از نصب این برنامه دیگر کلیه تنظیمات برای دیگر پروژه های شما قابل اعمال است .</p>
<p><a href="http://dev.mysql.com/downloads/connector/net">MySQL  Connector/Net</a></p>
<p><strong>آماده سازی بانک اطلاعاتی MYSQL  :</strong><br />
کار زیاد خاصی با MySQL .NET ندارید بجز اینکه بانک خودتون رو آماده کنید برای اینکار باید یک جدول داشته باشید . . . .من بصورت پیشفرض یک مثال برای ساخت جدول در mysql ‌میزنم .البته اگر با phpmyadmin‌کار کرده باشید این کار بازهم ساده تر خواهد شد.</p>
<p style="text-align: left;" dir="ltr">Create database aec;<br />
Grant insert, update, select, delete on aec.* to &#8216;aec_user&#8217;@'localhost&#8217; identified by &#8216;aec&#8217;;<br />
Create table aec.samples (<br />
id int auto_increment,<br />
description varchar(255),<br />
site_id int,<br />
received datetime,<br />
processed datetime,<br />
primary key (id));<br />
Insert into aec.samples (description, site_id, received) values (&#8216;clay desposit&#8217;, 27, now());<br />
Insert into aec.samples (description, site_id, received) values (&#8216;burial urn&#8217;, 103, now());</p>
<p style="text-align: right;">خوب حالا تنها مشکل ما این هست که چطور میشه به دیتابیس متصل شد :</p>
<p style="text-align: right;"><strong>افزودن MYSQL conector Refrence‌به پروژه :</strong></p>
<p style="text-align: right;">mysql connector‌خودش به صورت اتوماتیک به پروژه اضافه نمیشه بلکه ما باید اینکار رو به صورت دستی انجام بدیم .و البته این بسنگی به IDE  داره که شما استفاده میکنید مثلا این راه :project&gt;refrences&gt;mysql.data‌را از لیست انتخاب نمایید.</p>
<p style="text-align: right;"><strong>بارگذاری mysql connector در c# :</strong></p>
<p style="text-align: right;">حالا نوبت به مرحله تعریف عناصر منبع mysql در کد شما میرسه :</p>
<p style="text-align: left;" dir="ltr">using MySql.Data.MySqlClient;</p>
<p style="text-align: right;">در این مثال Dataset  مورد استفاده هست بنابر این System Data object میبایست به شکل زیر مورد دستیابی قرار گیرد:</p>
<div dir="ltr">
<div style="text-align: left;">using System;</div>
<div style="text-align: left;">using System.Data;</div>
<div style="text-align: right;">:برای ساختن فرم هم  اینچنین عمل میکنیم</div>
<div style="text-align: left;" dir="ltr">
<div>
<div>using System.Windows.Forms;</div>
<div>using System.Drawing;</div>
</div>
</div>
</div>
<p style="text-align: right;">حال پروژه تا قسمتی آماده شده.<strong> </strong></p>
<p style="text-align: right;"><strong>استفاده از اطلاعات Mysql  در فرمها :</strong></p>
<p style="text-align: right;">این برنامه ای که الان مشغول نوشتنش هستیم چه کارهایی انجام میده :</p>
<ol>
<li>یک کانکشن با Mysql  داره</li>
<li>یک پرس و جوی sql ‌رو به صورت مناسب نمایش میده</li>
<li>دیتا ها رو در یک گرید نمایش میده</li>
</ol>
<p style="text-align: left;" dir="ltr"> </p>
<div dir="ltr">
<div style="text-align: left;">public class MainForm : Form {</div>
<div style="text-align: left;">private MySqlConnection connection = new MySqlConnection ();</div>
<div style="text-align: left;">private MySqlDataAdapter data = new MySqlDataAdapter ();</div>
<div style="text-align: left;">DataGrid gridInfo = new DataGrid();</div>
<div style="text-align: right;" dir="ltr">
<p style="text-align: right;">خوب حالا برای وصل شدن به دیتابیس باید اطلاعات بانک اطلاعاتی و نحوه اتصال اوون رو به همراه فراخوانی متد   در کد قرار میدهیم</p>
<div>
<div style="text-align: left;">public static void Main () {</div>
<div style="text-align: left;">Application.Run(new MainForm ());</div>
<div style="text-align: left;">}</div>
<div style="text-align: left;">public MainForm() {</div>
<div style="text-align: left;">connection.ConnectionString =</div>
<div style="text-align: left;">&#8220;server=localhost;&#8221;</div>
<div style="text-align: left;">+ &#8220;database=aec;&#8221;</div>
<div style="text-align: left;">+ &#8220;uid=aec_user;&#8221;</div>
<div style="text-align: left;">+ &#8220;password=aec;&#8221;;</div>
<div style="text-align: left;">connection.Open ();</div>
<div style="text-align: right;">حالا پرس و جو رو ایجاد میکنیم</div>
<div style="text-align: left;">
<div>
<div>MySqlCommand command = connection.CreateCommand ();</div>
<div>command.CommandText = &#8220;select * from samples&#8221;;</div>
<div style="text-align: right;">و در نهایت پاسخ در دیتاست بارگذاری میشود (توی این مثال ما &#8220;سمپل دیتا&#8221; رو دادیم (ببخشید از اینکه فارسی نوشتم چون مشکلی بین کاراکترهای فارسی و انگلیسی بوجود اوومده و حال ندارم به دنبال رفع و محل عیب بگردم واسه همین فارسیشو مینویسم</div>
<div style="text-align: right;"><img title="Wink" src="http://hesam-h.ir/blog/wp-content/plugins/editor-extender/plugins/emotions/img/smiley-wink.gif" border="0" alt="Wink" /></div>
<div style="text-align: left;" dir="ltr">
<div>data.SelectCommand = command;</div>
<div>DataSet dataset = new DataSet();</div>
<div>data.Fill(dataset,&#8221;sample_data&#8221;);</div>
</div>
<div style="text-align: right;">:گرید میتونه محتویات دیتاست رو نمایش بده </div>
<div style="text-align: left;" dir="ltr">
<div>gridInfo.DataSource = dataset;</div>
<div>gridInfo.DataMember = &#8220;sample_data&#8221;;</div>
<div>gridInfo.Dock = DockStyle.Fill;</div>
</div>
<div style="text-align: right;">:در نهایت هم باید گرید رو به فرمتون اضافه کنید </div>
<div style="text-align: left;">
<div>this.Controls.Add (gridInfo);</div>
<div>}</div>
</div>
<div style="text-align: right;"><strong>:بستن کانکشن</strong></div>
<div style="text-align: right;">:کانکشن مای اس کیو ال زمانی که ما متد پایان را فراخوانی کنیم بسته خواهد شد </div>
<div style="text-align: left;" dir="ltr">
<div>
<div>~MainForm() {</div>
<div>connection.Close();</div>
<div>}</div>
<div style="text-align: right;"></div>
<div style="text-align: right;"></div>
<div style="text-align: right;">اگر مقالات بیشتری در این زمینه نیاز دارید حتمت نظر بدهید تا مقالاتی از این دست رو تکمیل کنم </div>
<div style="text-align: right;">مخصوصا ارتباط بین سی شارپ و مای اس کیو ال</div>
<div style="text-align: right;">موفق باشید.</div>
<div style="text-align: right;"><a href="http://hesam-h.ir/blog/wp-content/uploads/2010/04/841072_com_02_applica.png"><img class="aligncenter size-medium wp-image-645" title="841072_com_02_applica" src="http://hesam-h.ir/blog/wp-content/uploads/2010/04/841072_com_02_applica-300x201.png" alt="" width="300" height="201" /></a></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://hesam-h.ir/blog/1389/01/my-sql-%d9%88-c-%da%86%da%af%d9%88%d9%86%d9%87-%d8%9f%da%86%d8%b7%d9%88%d8%b1%d8%9f%d8%af%d8%b1-%d8%ad%d8%a7%d9%84-%d8%aa%d9%83%d9%85%d9%8a%d9%84/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>پیداکردن  ریشه‌های  چند جمله ای درجه n بوسیله الگوریتم ژنتیک</title>
		<link>http://hesam-h.ir/blog/1389/01/%d9%be%db%8c%d8%af%d8%a7%da%a9%d8%b1%d8%af%d9%86-%d8%b1%db%8c%d8%b4%d9%87%e2%80%8c%d9%87%d8%a7%db%8c-%da%86%d9%86%d8%af-%d8%ac%d9%85%d9%84%d9%87-%d8%a7%db%8c-%d8%af%d8%b1%d8%ac%d9%87-n-%d8%a8%d9%88/</link>
		<comments>http://hesam-h.ir/blog/1389/01/%d9%be%db%8c%d8%af%d8%a7%da%a9%d8%b1%d8%af%d9%86-%d8%b1%db%8c%d8%b4%d9%87%e2%80%8c%d9%87%d8%a7%db%8c-%da%86%d9%86%d8%af-%d8%ac%d9%85%d9%84%d9%87-%d8%a7%db%8c-%d8%af%d8%b1%d8%ac%d9%87-n-%d8%a8%d9%88/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 06:54:28 +0000</pubDate>
		<dc:creator>تبعیدی دست باد</dc:creator>
				<category><![CDATA[آی تی]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[برنامه های من]]></category>
		<category><![CDATA[الگوريتم ژنتيک]]></category>
		<category><![CDATA[سورس]]></category>
		<category><![CDATA[ویژوال بیسیک]]></category>
		<category><![CDATA[پروژه دانشجویی]]></category>
		<category><![CDATA[پیداکردن ریشه‌های چند جمله ای درجهn]]></category>

		<guid isPermaLink="false">http://hesam-h.ir/blog/?p=622</guid>
		<description><![CDATA[امیدوارم که بتونم با این برنامه باز هم به شما در این زمینه کمک کرده باشم . عکسی که مشاهده میکنید عکسی از محیط این برنامه هست که با زبان Vb6.0 نوشته شده است.پذیرای کلیه انتقادات و پیشنهادات شما هستم. برای دانلود به ادامه مطلب بروید. دربافت برنامه]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img src="http://hesam-h.ir/blog/wp-content/uploads/2010/04/chand-jomleye-300x278.jpg" alt="" width="300" height="278" /></p>
<p>امیدوارم که بتونم با این برنامه باز هم به شما در این زمینه کمک کرده  باشم .</p>
<p>عکسی که مشاهده میکنید عکسی از محیط این برنامه هست که با زبان Vb6.0  نوشته شده است.پذیرای کلیه انتقادات و پیشنهادات شما هستم.</p>
<p>برای دانلود به ادامه مطلب بروید.</p>
<p><span id="more-622"></span><a href="http://hesam-h.ir/blog/wp-content/uploads/2010/04/chand-_jomleye_by_hesam_hatami.zip">دربافت برنامه</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hesam-h.ir/blog/1389/01/%d9%be%db%8c%d8%af%d8%a7%da%a9%d8%b1%d8%af%d9%86-%d8%b1%db%8c%d8%b4%d9%87%e2%80%8c%d9%87%d8%a7%db%8c-%da%86%d9%86%d8%af-%d8%ac%d9%85%d9%84%d9%87-%d8%a7%db%8c-%d8%af%d8%b1%d8%ac%d9%87-n-%d8%a8%d9%88/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>کار با بانکهای اطلاعاتی در #c+سورس دفترچه تلفن</title>
		<link>http://hesam-h.ir/blog/1388/11/%da%a9%d8%a7%d8%b1-%d8%a8%d8%a7-%d8%a8%d8%a7%d9%86%da%a9%d9%87%d8%a7%db%8c-%d8%a7%d8%b7%d9%84%d8%a7%d8%b9%d8%a7%d8%aa%db%8c-%d8%af%d8%b1-c%d8%b3%d9%88%d8%b1%d8%b3-%d8%af%d9%81%d8%aa%d8%b1%da%86/</link>
		<comments>http://hesam-h.ir/blog/1388/11/%da%a9%d8%a7%d8%b1-%d8%a8%d8%a7-%d8%a8%d8%a7%d9%86%da%a9%d9%87%d8%a7%db%8c-%d8%a7%d8%b7%d9%84%d8%a7%d8%b9%d8%a7%d8%aa%db%8c-%d8%af%d8%b1-c%d8%b3%d9%88%d8%b1%d8%b3-%d8%af%d9%81%d8%aa%d8%b1%da%86/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 21:25:24 +0000</pubDate>
		<dc:creator>تبعیدی دست باد</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[برنامه های من]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[دفترچه تلفن]]></category>
		<category><![CDATA[دیتابیس]]></category>
		<category><![CDATA[سورس کد]]></category>

		<guid isPermaLink="false">http://hesam-h.ir/blog/?p=530</guid>
		<description><![CDATA[خوب فرض کنیم که هدف ما طراحی یک نرم افزار برای یک کتابخانه باشه . در اصول کلی طراحی یک نرم افزار اولین کاری که باید انجام بشه اینه که ببینیم سیستم ما قراره چه عملیاتی رو انجام بده و چه قابلیتهایی داشته باشه . تمام نهادهای مورد نیاز نرم افزار رو تشخیص بدیم و [...]]]></description>
			<content:encoded><![CDATA[<p>خوب فرض کنیم که هدف ما طراحی یک نرم افزار برای یک کتابخانه باشه . در اصول کلی طراحی یک نرم افزار اولین کاری که باید انجام بشه اینه که ببینیم سیستم ما قراره چه عملیاتی رو انجام بده و چه قابلیتهایی داشته باشه . تمام نهادهای مورد نیاز نرم افزار رو تشخیص بدیم و تمام اجزای مورد نیاز اونها رو تعیین کنیم . خوب مثلا در همین مثال کتابخانه نهادهای ما می تونن دانشجو ، کتاب ، متصدی کتابخانه ، مسئول اصلی کتابخانه و خود کتابخانه و بسیاری نهادهای دیگه بسته به قابلیتهایی که می خواهیم کتابخانه ما داشته باشه ، ایجاد کنیم . حالا که نهادها رو مشخص کردیم ، در مرحله بعد باید فیلدهای هر نهاد یا به اصطلاح هر رکورد را معیین کنیم که این هم بستگی به طراح نرم افزار داره . ولی خوب یک سری فیلدها هستن که تقریبا همه اونها رو ایجاد می کنند ، مثلا برای دانشجو : نام ، نام خانوادگی و شماره دانشجویی . خوب تا به حال یک طرح کلی از نرم افزاری که قراره ایجاد بشه تو ذهنمون ایجاد کردیم ، حالا باید توسط یک نرم افزار که به ما کمک می کنه جداول و فیلدهای اونها و رابطه بین جداول رو مشخص کنیم کار پیاده سازی طرح کلی نرم افزار رو انجام بدیم . خود من توی پروژم از ۹Power Designer استفدا کردم که نرم افزاری خیلی ساده ور در عین سادگی کاملی هستش . ما در این نرم افزار به رسم نمودار ERd بانک اطلاعاتی که می خواهیم طراحی کنیم می پردازیم (Entity Relational Diagram) . من برای نمونه یک مدل ERd ساده رو اینجا براتون میزارم که در power designer طراحی شده . سعی کردم ساده ترین حالت ممکن رو در نظربگیرم که برای همه قابل فهم باشه .<br />
<a href="http://hesam-h.ir/blog/wp-content/uploads/2010/02/1undpu.jpg"><img class="aligncenter size-medium wp-image-532" title="1undpu" src="http://hesam-h.ir/blog/wp-content/uploads/2010/02/1undpu-300x174.jpg" alt="" width="300" height="174" /></a><br />
<span id="more-530"></span></p>
<p>همونطور که در شکل بالا می بینید ۳ رابطه داریم . دو رابطه عضویت و یک رابطه integrity که همان امانت دادن کتاب هستش ( اگه بخوام در مورد power designer صحبت کنم خیلی رمان میبره بنابر این فرض رو بر این می گیریم برای ادامه که تا اینجای کار مشکلی ندارین ) . بعد از رشم این ERD باید به مدل بانک اطلاعاتی مورد نظر ما تبدیل بشه نا در بانک اطلاعاتی مورد نظر طرح نهایی رو که از این نرم افزار به دست میاریم رسم کنیم . برای این کهpower designer طرح ما رو کامپایل کنه و جداول مورد نیاز رو تولید کنه از منوی Tools گزینه Generate Physical Data Model رو انتخاب می کنیم و بعد Dbms مرود نظر خود را انتخاب کرده و در نهایت OK می کنیم . طرح ایجاد شده مدلی هستش که ما بانک اطلاعاتی خود را بر اساس ان طراحی کنیم . یعنی جداولی که در این طرح نهایی میبینیم باید در بانک اطلاعاتی رسم کرده و روابط بین فیلدهای جداول را کاملا مشخص کنیم . این طرح کامپایل شده مثال بالا هستش که باید جداولش در مثال من درSql Server 2005 پیده سازی شود .</p>
<p><a href="http://hesam-h.ir/blog/wp-content/uploads/2010/02/2.jpg"><img class="aligncenter size-medium wp-image-533" title="2" src="http://hesam-h.ir/blog/wp-content/uploads/2010/02/2-300x182.jpg" alt="" width="300" height="182" /></a>حالا باید وارد ویژوال استادیو ۲۰۰۵ شویم و به مرحله نهایی طراحی بانک اطلاعاتی نرم افزار کتابخانه خود بپردازیم . خوب وقتی وارد ویژوال استادیو شدین شما اولین کاری که باید انجام بدین اینه که یک Sql Server Database File ایجاد کنید . به این منظور از منوی Connect To DataBase رو انتخاب میکنید و از قسمت DataSource گزینه Microsoft Sql server database file رو انتخاب می کنید و در قسمت Database File Name یک نام دلخواه برای بانک اطلاعاتی خود انتخاب می کنید .و اگه Sql server نصب شده روی سیستم شما مشکلی نداشته باشه با فشردن دکمه ok بانک اطلاعاتی مربوطه ایجاد می شود .<br />
در تصویر زیر مراحل رو نشون دادم :<br />
<a href="http://hesam-h.ir/blog/wp-content/uploads/2010/02/3.jpg"><img class="aligncenter size-medium wp-image-534" title="3" src="http://hesam-h.ir/blog/wp-content/uploads/2010/02/3-246x300.jpg" alt="" width="246" height="300" /></a>بعد از اینکه مراحل بالا به درستی انجام شد از قسمت server Explorer در سمت چپ یا راست ویژوال استادیو می توانید دیتابیس ایجاد شده و جداول اون رو مشاهده کنید . در تصویر زیر نمایش داده شده :</p>
<p><a href="http://hesam-h.ir/blog/wp-content/uploads/2010/02/4.jpg"><img class="aligncenter size-medium wp-image-535" title="4" src="http://hesam-h.ir/blog/wp-content/uploads/2010/02/4-191x300.jpg" alt="" width="191" height="300" /></a></p>
<p>خوب حالا وقت اینه که جداولی که از power designer بدست آوردیم رو درSql Server ایجاد کنیم . بدین منظور در همون قسمت server explorer روی نام دیتابیس خود کلیک کرده تا باز شود ، بعد روی پوشه Tables کلیک راست کرده و Add New Table رو کلیک می کنیم . پنجره ای مانند شکل زیر ایجاد می شود :</p>
<p><a href="http://hesam-h.ir/blog/wp-content/uploads/2010/02/51.jpg"><img class="aligncenter size-full wp-image-542" title="5" src="http://hesam-h.ir/blog/wp-content/uploads/2010/02/51.jpg" alt="" width="158" height="291" /></a>در این پنجره باید نام فیلدهای جداول و نوع دادهای اونها رو تعیین کنیم و اگر گزینه Allow Nulls برای فیلدی تیک بخورد به این معنی است که کاربر نهایی نرم افزار موقع وارد کردن اطلاعات می تواند برای این فیلد مقداری وارد نکند . برای فیلدی که کلید اصلی جدول می باشد در حالی که آن فیلد انتخاب شده باید علامت کلید را از جعبه ابزار بالا انتخاب کرد. بعد از اینکه تمامی فیلدهای جدول مورد نظر تعریف شد با فشردن Ctrl + S نام جدول مورد نظر را وارد کرده وok می کنید و همین مراحل برای تمامی جداول خود انجام می دهید . بعد از تعریف تمامی جداول باید رابطه موجود بین عناصر جداول برای برای Sql server مشخص کنید . برای انجام این کار رد server explorer روی Tables کلیک کرده و جداولی که دارای کلید خارجی می باشند را یکی یکی در IDE باز کرده و از نوار ابزار بالا دکه Relationship را کلیک کرده و در پنل سمت راست روی گزینه &#8230; کلیک کرده و رابطه بین کلیدهای خارجی این جدول ( یعنی فیلدهایی که جزو فیلدهای واقعی این جدول نیستند و با کامپیایل طر ح ما در power designer از جداول دیگر وارد این جدول شده اند ) را با جدولی که این کلید در واقع متعلق به ان جدول است مشخص می کنیم .</p>
<p>مراحل بالا را در شکل های زیر خلاصه کردم :<br />
<a href="http://hesam-h.ir/blog/wp-content/uploads/2010/02/61.jpg"><img class="aligncenter size-medium wp-image-543" title="6" src="http://hesam-h.ir/blog/wp-content/uploads/2010/02/61-300x248.jpg" alt="" width="300" height="248" /></a></p>
<p>همانطور که در تصویر بالا نشان داده شده یکی از جداول باز است و از قسمت بالا روی گزینه مشخص شده کلیک می کنیم و پنجره زیر باز می شود :</p>
<p><a href="http://hesam-h.ir/blog/wp-content/uploads/2010/02/7.jpg"><img class="aligncenter size-medium wp-image-538" title="7" src="http://hesam-h.ir/blog/wp-content/uploads/2010/02/7-300x194.jpg" alt="" width="300" height="194" /></a>و بعد گزینه Add را کلیک می کنیم . پنجره زیر باز میشود :</p>
<p><a href="http://hesam-h.ir/blog/wp-content/uploads/2010/02/8.jpg"><img class="aligncenter size-medium wp-image-539" title="8" src="http://hesam-h.ir/blog/wp-content/uploads/2010/02/8-300x188.jpg" alt="" width="300" height="188" /></a>در باکس سمت چپ تمامی کلیدهای خارجی این جدول نمایان می شود . روی هر کدام یکی یکی کلیک کرده و مراحل زیر را برای آنها تکرار می کنیم :<br />
در پنل سمت راست در قسمت Generalو در قمت Tables and coloums specification روی علامت &#8230; کلیک کرده و شکل زیر حاصل می شود :</p>
<p><a href="http://hesam-h.ir/blog/wp-content/uploads/2010/02/9.jpg"><img class="aligncenter size-medium wp-image-540" title="9" src="http://hesam-h.ir/blog/wp-content/uploads/2010/02/9-300x229.jpg" alt="" width="300" height="229" /></a>در پنجره بالا در سمت راست جدول فعلی را انتخاب شده است و از باکس پایین فیلدی خارجی را انتخاب می کنیم و در سمت چپ جدولی که ایم فیلد مربوط به آن است را انتخاب کرده و از قسمت زیر آن فیلد خارجی که در جدول دیگر قرار گرفته انتخاب می کنیم . همانند شکل زیر :</p>
<p><a href="http://hesam-h.ir/blog/wp-content/uploads/2010/02/10.jpg"><img class="aligncenter size-medium wp-image-541" title="10" src="http://hesam-h.ir/blog/wp-content/uploads/2010/02/10-300x230.jpg" alt="" width="300" height="230" /></a></p>
<p>و در نهایت ok می کنیم و این کار را برای تمامی جداولی که دارای فیلد خارجی می باشند انجام می دهیم . بعد از انجام این کار شمای کلی بانک اطلاعاتی که قرار است در نرم افزار خود از آن استفاده کنیم به دست آمده است که برای مشاهده دیاگرام ان می توانیم در server explorer روی گزینه Database Diagram کلیک راست کرده و گزینه Add New Diagram را کلیک کنیم و جداول خود را Add کنیم با این کار دیاگرام نهایی و رابطه بین جداول ایجاد می شود که ئر موقع کد نویسی برای قسمتهای مختلف نرم افزار خیلی می تواند سودمند واقع شود .</p>
<p>خوب دوستان تا اینجای کار یک قسمت عمده کار رو با هم انجام دادیم . از اینجا به بعد دیگه باید همون نکاتی رو که در ابتدا گفتم در نظر بگیرید ، اینکه چه قابلیت هایی قرار است کتابخانه شما داشته باشد و بعد روالهای مورد نظر خود را پیاده کنید و بعد از اتمام تمامی این مراحل به سراغc# رفته و به طراحی Ide نرم افزار می پردازیم و کدنویسی های مربوطه را انجام می دهیم .</p>
<p>در ضمن اگه eroor می خوری,اگه از Sql Express استفاده می کنی و توی خود visual studio از تب Server Explorer میخوای به دیتا بیس کانکت بشی اولا که از Windows Authentication استفاده کن اگه بازم همین خطا رو داد توی همون پنچره serever explorer که باز شده توی اون تکست باکس یه اسم دلخواه بنویس مثلا test بعد ok کن تا یک دیتابیس جدید برات بسازه وقتی اوکی کنی یک پیغام میده که همچیین دیتابیسی وجود نداره شما اوکی میکنی و اگه sql شما به درستی نصب شده باشه برات دیتابیس رو میسازه و توی لیست دیتا بیس ها توی server explorer نشونش میده اگه خطا داد مطمعن شو که دیتابیسی با همین نام قبلا ایجاد نکرده بودی در این صورت اگه هر مشکلی خوردی بهترین راه نصب دوباره sql server هستش . ولی اگه ساخت برات دیتابیس رو که نتیچه میگیرری که sqlserver شما درست نصب شده و مشکلی نداره . اگه برای remote connection باز هم ازت خطا گرفت شما sql server management studio رو نصب کن که یک محیط ویژوال برای نسخه Express شما نصب میکنه بعد که بری داخلش یکم بگردی یک گزینه به نام Allowe remote connection رو پیدا میکنی که تیک اون رو بزنی مشکل حله . هر چند این گزینه وقتی کاربرد داره که بخوای توی محیط شبکه و با برنامه های Client server کار کنی .</p>
<h1><strong> مثال :</strong></h1>
<p><strong> </strong><strong>یک برنامه ۳ سه لایه ساده کلاسیک</strong><strong> &#8211; </strong><strong>دفترچه تلفن </strong></p>
<p><a href="http://hesam-h.ir/blog/wp-content/uploads/2010/02/11.jpg"><img class="aligncenter size-medium wp-image-544" title="11" src="http://hesam-h.ir/blog/wp-content/uploads/2010/02/11-300x189.jpg" alt="" width="300" height="189" /></a></p>
<p>یک نمونه برنامه ۳ لایه  بصورت ساده با کمک رابط OleDb با منبع داده ارتباط برقرار می کنه&#8230; نمونه کوچکی از یک دفترچه تلفنه ، از بانک اطلاعاتی MS Access بعنوان منبع داده استفاده می کنه ک فقط یک جدول ب نام Persons داره..</p>
<p>برنامه در ۳ پروژه مجزا (بصورت لایه دسترسی به داده یا DAL و لایه منطق تجاری برنامه یا BLL و لایه نمایش یا PL) نوشته شده&#8230;سعی شده بصورت کلاسیک نوشته بشه و از تکنیکهای جدید مثل LINQ هم استفاده ای نشده! شاید توی ی sample ِ دیگه&#8230;!</p>
<p>در لایه تجاری ، کلاسهایی ب نام Provider (مثل clsPersonProvider) مسئول جوابگویی ب نیاز لایه نمایش هستن ، و در لایه DAL کلاسهایی ب نام Adapter (مثلا clsPersonAdapter) مسئول پاسخگویی ب نیازهای لایه BLL هستن..</p>
<p>تمام دسترسیها ب بانک (ک مسلما فقط در لایه DAL انجام می شه) از طریق یک کلاس static ب نام clsSingletonConnectionManager انجام می شه&#8230; (توسط الگوی singleton اینکار پیاده سازی شده تا همیشه فقط یک instance و یک پل ارتباطی ب بانک وجود داشته باشد..مزایا و معایب این روش رو خودتون پیدا کنید!)</p>
<p>Validation ِ ساده ای انجام شده، در setter ها&#8230;(هنگامی ک مقدار یک پراپرتی ، set می شه بررسی انجام می شه ک مقدار مورد نظر تهی نباشد و در این صورت یک Exception رو ایجاد می کنه)<br />
(کلا در این قسمت می شه Validation هایی رو بر حسب نیاز انجام داد، در این برنامه ی نمونه خیلی از اینچنین مسائل برای سادگی بیشتر پیاده نشده!</p>
<p>برای مثال ، برای گرفتن و نمایش دادن لیست کلیه Person ها ، در لایه نمایش دستور مربوطه صادر می شه و توسط personProvider_ ب لایه &#8220;منطق تجاری&#8221; فرستاده می شه:</p>
<p>کد:</p>
<p style="text-align: left;">private void show_All()<br />
{<br />
dataGridView1.DataSource = _personProvider.Get_All_Items();<br />
}</p>
<p>این درخواست مجددا به لایه &#8220;دسترسی ب داده&#8221; ارسال می شه (توسط آبجکت personAdapter_) در اونجا لیست کلیه Person ها در آبجکتی از نوع DataTable ِ از پیش ساخته شده (TypedDataTable ، استفاده از TypedDataset , TypedDataTable ها مزایایی داره، مثلا مستقیما ب نام یک فیلد می شه دسترسی پیدا کرد در یک سطر یا همون StrongNaming و اینجور چیزا رو فراهم می کنن) ب نام dsPhonebook.PersonsDataTable<br />
ریخته می شه (fill می شه) و این جدول برگشت داده می شه ب لایه BLL :</p>
<p>کد:</p>
<p style="text-align: left;">public dsPhonebook.PersonsDataTable Select_AllPersons()<br />
{<br />
return base.select_All(_QUERY_SELECTALL_Persons);<br />
}</p>
<p style="text-align: left;">کد:</p>
<p style="text-align: left;">protected virtual T select_All(string pQuerySelectAll)<br />
{<br />
T retTable = new T();</p>
<p>OleDbDataAdapter da = new OleDbDataAdapter(pQuerySelectAll, clsSingletoConnectionManager.GetConnection2Phonebook);<br />
da.Fill(retTable);</p>
<p>return retTable;<br />
}</p>
<p style="text-align: right;">در این لایه (BLL) و در ادامه مقادیر برگشت داده شده ک در یک dsPhonebook.PersonsDataTable قرار دارن Cast می شن ب :</p>
<p>کد:</p>
<p style="text-align: left;">List&lt;clsPersonEntity&gt;</p>
<p>و این List در نهایت ب &#8220;لایه نمایش&#8221; برگشت داده می شه و در DataGridView مشاهده می شه..</p>
<p><a href="http://hesam-h.ir/blog/wp-content/uploads/2010/02/RC3LayersPhonebook.zip">RC3LayersPhonebook</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hesam-h.ir/blog/1388/11/%da%a9%d8%a7%d8%b1-%d8%a8%d8%a7-%d8%a8%d8%a7%d9%86%da%a9%d9%87%d8%a7%db%8c-%d8%a7%d8%b7%d9%84%d8%a7%d8%b9%d8%a7%d8%aa%db%8c-%d8%af%d8%b1-c%d8%b3%d9%88%d8%b1%d8%b3-%d8%af%d9%81%d8%aa%d8%b1%da%86/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>شطرنج</title>
		<link>http://hesam-h.ir/blog/1388/11/%d8%b4%d8%b7%d8%b1%d9%86%d8%ac/</link>
		<comments>http://hesam-h.ir/blog/1388/11/%d8%b4%d8%b7%d8%b1%d9%86%d8%ac/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 20:15:54 +0000</pubDate>
		<dc:creator>تبعیدی دست باد</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[برنامه های من]]></category>
		<category><![CDATA[c#.net]]></category>
		<category><![CDATA[شطرنج]]></category>
		<category><![CDATA[هوش مصنوعی]]></category>
		<category><![CDATA[پروژه دانشجویی]]></category>

		<guid isPermaLink="false">http://hesam-h.ir/blog/?p=495</guid>
		<description><![CDATA[سورس کد بازی شطرنج رو به صورت بسیار ساده مشاهده میکنید که با زبان C# هست امیدوارم استفاده کنید. برای دانلود به ادامه مطلب بروید. Chess-Shatranj  ]]></description>
			<content:encoded><![CDATA[<p><a href="http://hesam-h.ir/blog/wp-content/uploads/2010/02/shatranj.jpg"><img class="aligncenter size-medium wp-image-496" title="shatranj" src="http://hesam-h.ir/blog/wp-content/uploads/2010/02/shatranj-300x231.jpg" alt="" width="300" height="231" /></a></p>
<p>سورس کد بازی شطرنج رو به صورت بسیار ساده مشاهده میکنید که با زبان C# هست امیدوارم استفاده کنید.</p>
<p>برای دانلود به ادامه مطلب بروید.</p>
<p><span id="more-495"></span><a href="http://hesam-h.ir/blog/wp-content/uploads/2010/02/Chess-Shatranj.zip">Chess-Shatranj</a></p>
<p> </p>
]]></content:encoded>
			<wfw:commentRss>http://hesam-h.ir/blog/1388/11/%d8%b4%d8%b7%d8%b1%d9%86%d8%ac/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>سورس کد عامل هوشمند(جاروبرقی و آشغالها)vacuum Cleaner World</title>
		<link>http://hesam-h.ir/blog/1388/10/%d8%b3%d9%88%d8%b1%d8%b3-%da%a9%d8%af-%d8%b9%d8%a7%d9%85%d9%84-%d9%87%d9%88%d8%b4%d9%85%d9%86%d8%af%d8%ac%d8%a7%d8%b1%d9%88%d8%a8%d8%b1%d9%82%db%8c-%d9%88-%d8%a2%d8%b4%d8%ba%d8%a7%d9%84%d9%87%d8%a7v/</link>
		<comments>http://hesam-h.ir/blog/1388/10/%d8%b3%d9%88%d8%b1%d8%b3-%da%a9%d8%af-%d8%b9%d8%a7%d9%85%d9%84-%d9%87%d9%88%d8%b4%d9%85%d9%86%d8%af%d8%ac%d8%a7%d8%b1%d9%88%d8%a8%d8%b1%d9%82%db%8c-%d9%88-%d8%a2%d8%b4%d8%ba%d8%a7%d9%84%d9%87%d8%a7v/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 18:57:34 +0000</pubDate>
		<dc:creator>تبعیدی دست باد</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[برنامه های من]]></category>
		<category><![CDATA[vacuum Cleaner World]]></category>
		<category><![CDATA[دلفی]]></category>
		<category><![CDATA[سورس کد]]></category>
		<category><![CDATA[عامل هوشمند]]></category>
		<category><![CDATA[هوش مصنوعی]]></category>

		<guid isPermaLink="false">http://hesam-h.ir/blog/?p=340</guid>
		<description><![CDATA[در این مسئله عملکرد یک جاروبرقی هوشمند را مورد بررسی قرار می دهیم. فرض می کنیم که دو اتاق وجود دارد که هر کدام از آن ها ممکن است شامل خاک باشد یا نباشد و عامل ممکن است در محیط ۱ یا ۲ باشد. عامل می تواند مستقیم برود و یا به چپ یا راست [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;">
<div class="imageframe centered" style="width: 475px; text-align: right;"><a title="cleaner" rel="lightbox[pics340]" href="http://hesam-h.ir/blog/wp-content/uploads/2009/12/cleaner.jpg"><img class="attachment wp-att-341 alignright" src="http://hesam-h.ir/blog/wp-content/uploads/2009/12/cleaner.jpg" alt="cleaner" width="300" height="300" /></a></div>
</div>
<p>در این مسئله عملکرد یک جاروبرقی هوشمند را مورد بررسی قرار می دهیم.<br /> فرض می کنیم که دو اتاق وجود دارد که هر کدام از آن ها ممکن است شامل خاک باشد یا نباشد و عامل ممکن است در محیط ۱ یا ۲ باشد. عامل می تواند مستقیم برود و یا به چپ یا راست بپیچد. بنابراین هشت حالت ممکن، به عنوان عمل بعدی، وجود دارد.<br /> <strong>برای مشاهده ادامه مسئله و حل آن بوسیله دلفی به ادامه مطلب مراجعه کنید.</strong><br /> <span id="more-340"></span></p>
<div style="text-align: center;">
<div class="imageframe centered" style="width: 200px;"><a title="rasel" rel="lightbox[pics340]" href="http://hesam-h.ir/blog/wp-content/uploads/2009/12/rasel.jpg"><img class="attachment wp-att-343" src="http://hesam-h.ir/blog/wp-content/uploads/2009/12/rasel.thumbnail.jpg" alt="rasel" width="300" height="300" /></a></div>
</div>
<p>۱-      جارو در محیط ۱ – هر دو محیط خاکی<br /> ۲-      جارو در محیط ۱ – محیط ۱ خاکی<br /> ۳-      جارو در محیط ۱ – محیط ۲ خاکی<br /> ۴-      جارو در محیط ۱ – هیچکدام از محیط ها خاکی نیست<br /> ۵-      جارو در محیط ۲ – هر دو محیط خاکی<br /> ۶-      جارو در محیط ۲ – محیط ۱ خاکی<br /> ۷-      جارو در محیط ۲ – محیط ۲ خاکی<br /> ۸-      جارو در محیط ۲ – هیچکدام از محیط ها خاکی نیست<br /> ·         ابتدا تصور کنید که حسگر های عامل به او اطلاعات کافی می دهند.(دنیا قابل دسترسی است.) و همچنین عامل می داند هر کدام از اعمالش چه تغییری در محیط ایجاد می کنند و سپس می تواند محاسبه کند با کدام وضعیت پس از انجام عمل رو به رو خواهد شد. این ساده ترین حالت مسئله است که به آن مسئله تک حالته می گویند.<br /> ·         حالا تصور کنید که عامل تمام اثرهای عمل هایش را می داند، اما دسترسی به محیط محدود است. برای مثال، عامل هیچ حسگری ندارد. در این حالت فقط می داند که وضعیت اولیه اش یکی از اعضای مجموعه (۱،۲،۳،۴،۵،۶،۷،۸) است. ممکن است فکر کنید که وضعیت عامل ناامید کننده است! اما در حقیقت اینقدر ها هم که به نظر می آید ناگوار نیست. زیرا عامل می داند که هر کدام از اعمالش چه اثری دارند. برای مثال می تواند محاسبه کند که عمل راست موجب می شود تا در یکی از حالات (۲،۴،۶،۸) باشد. بنابراین می تواند با انتخاب یک دنباله عملیاتی، به هدف برسد. به طور خلاصه هنگامی که محیط تماما قابل دسترسی نیست، عامل باید در مورد مجموعه حالت هایی که ممکن است هدف برسد، استدلال کند. به این نوع از مسئله مسئله چند حالته می گویند.<br /> ·         اگر عامل اثر اعمال خودش را نادیده بگیرد می تواند به مشکلات دیگری دچار شود. برای مثال تصور کنید که محیط غیر قطعی باشد از این رو باید از قانون مورفی(Murphy) تبعیت کند.<br /> برای مثال عامل می داند که در یکی از وضعیت های ۱ یا ۳ است. با انجام هر عمل در یک حالت دیگر قرار می گیرد که امکان دارد آن را به هدف برساند و یا با شکست مواجه شود. در چنین مواردی عامل تمام درخت عملیات را محاسبه کند. به طور کلی هر شاخه درخت با یک امکان احتمالی که از آن ناشی می شود، بررسی می شود. به همین علت به آن مسئله احتمالی می گویند.<br /> ·         حال تصور کنید که عامل هیچ اطلاعی در مورد اثرات اعمالش و اینکه در کجا قرار دارد، ندارد.(بدبخت تر از این عامل سراغ ندارید!؟) مانند کسی که در یک کشور غریب و بدون هیچ نقشه ای گم شده است. در ای حالت عامل باید تجربه کند و به تدریج کشف کند که چه عملی باید انجام شود و چه وضعیت هایی وجود دارند. این روش یک نوع جستجو است که بر خلاف جستجو در دنیای فرضی، می تواند عامل را با خطرات جدی مواجه کند. به مسائلی از این قبیل، مسئله اکتشافی می گویند.</p>
<p><a href="http://hesam-h.ir/blog/wp-content/uploads/2009/12/cleaner.zip">cleaner</a></p>
<p><!--more--></p>
]]></content:encoded>
			<wfw:commentRss>http://hesam-h.ir/blog/1388/10/%d8%b3%d9%88%d8%b1%d8%b3-%da%a9%d8%af-%d8%b9%d8%a7%d9%85%d9%84-%d9%87%d9%88%d8%b4%d9%85%d9%86%d8%af%d8%ac%d8%a7%d8%b1%d9%88%d8%a8%d8%b1%d9%82%db%8c-%d9%88-%d8%a2%d8%b4%d8%ba%d8%a7%d9%84%d9%87%d8%a7v/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>حل مسئله کشیشها و آدمخوار</title>
		<link>http://hesam-h.ir/blog/1388/10/%d8%ad%d9%84-%d9%85%d8%b3%d8%a6%d9%84%d9%87-%da%a9%d8%b4%db%8c%d8%b4%d9%87%d8%a7-%d9%88-%d8%a2%d8%af%d9%85%d8%ae%d9%88%d8%a7%d8%b1/</link>
		<comments>http://hesam-h.ir/blog/1388/10/%d8%ad%d9%84-%d9%85%d8%b3%d8%a6%d9%84%d9%87-%da%a9%d8%b4%db%8c%d8%b4%d9%87%d8%a7-%d9%88-%d8%a2%d8%af%d9%85%d8%ae%d9%88%d8%a7%d8%b1/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 08:33:14 +0000</pubDate>
		<dc:creator>تبعیدی دست باد</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[برنامه های من]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[حل مسئله]]></category>
		<category><![CDATA[سورس]]></category>
		<category><![CDATA[هوش مصنوعی]]></category>
		<category><![CDATA[کشیشها و آدمخوارها]]></category>

		<guid isPermaLink="false">http://hesam-h.ir/blog/?p=334</guid>
		<description><![CDATA[اسم جالبیه !! البته برای اوونهایی که سررشته ای از کامپیوتر و هوش مصنوعی ندارند شاید کمی عجیب باشه ! اما این یک مسئله جالب و قدیمی هست. داستان از این قراره که : سه کشیش و سه آدمخوار در یک سمت رودخانه قراردارند .چطور میشه با یک قایق که توانایی حمل حداکثر دو نفر [...]]]></description>
			<content:encoded><![CDATA[<p>اسم جالبیه !! البته برای اوونهایی که سررشته ای از کامپیوتر و هوش مصنوعی ندارند شاید کمی عجیب باشه ! اما این یک مسئله جالب و قدیمی هست.<br />
داستان از این قراره که :<br />
سه کشیش و سه آدمخوار<br />
در یک سمت رودخانه قراردارند .چطور میشه با یک قایق که توانایی<br />
حمل حداکثر دو نفر را دارد آنها را به سمت دیگر رودخانه انتقال<br />
دهیم که در سمتی که قایق نیست تعداد کشیش ها از آدمخوارها بیشتر<br />
و بلعکس تعداد آدمخوارها از کشیش ها بیشتر نشود.<br />
این مسئله رو با زبان سی حل کردم.<br />
در ادامه مطلب سورس و فایل اجرایی رو مشاهده خواهید نمود.</p>
<p><span id="more-334"></span><br />
<a href='http://hesam-h.ir/blog/wp-content/uploads/2009/12/solve-keshish.zip'>دریافت مسئله و پاسخ</a><br />
(نکته : به صورت گرافیکی هست و هدر   graphics.h  در اوون فراخوانی شده)<br />
<!--more--></p>
]]></content:encoded>
			<wfw:commentRss>http://hesam-h.ir/blog/1388/10/%d8%ad%d9%84-%d9%85%d8%b3%d8%a6%d9%84%d9%87-%da%a9%d8%b4%db%8c%d8%b4%d9%87%d8%a7-%d9%88-%d8%a2%d8%af%d9%85%d8%ae%d9%88%d8%a7%d8%b1/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>معمای هشت</title>
		<link>http://hesam-h.ir/blog/1388/10/%d9%85%d8%b9%d9%85%d8%a7%db%8c-%d9%87%d8%b4%d8%aa/</link>
		<comments>http://hesam-h.ir/blog/1388/10/%d9%85%d8%b9%d9%85%d8%a7%db%8c-%d9%87%d8%b4%d8%aa/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 08:10:07 +0000</pubDate>
		<dc:creator>تبعیدی دست باد</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[برنامه های من]]></category>
		<category><![CDATA[دلفی]]></category>
		<category><![CDATA[سورس کد]]></category>
		<category><![CDATA[معمای هشت]]></category>
		<category><![CDATA[هوش مصنوعی]]></category>

		<guid isPermaLink="false">http://hesam-h.ir/blog/?p=331</guid>
		<description><![CDATA[اینبار سورس و فایل اجرایی معمای هشت رو برای شما دوستان عزیز قرار دادم ، امیدوارم که استفاده کنید. این برنامه با دلفی نوشته شده. میتونید در ادامه مطلب فایل مربوطه رو دانلود کنید. معمای هشت]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;">
<div class="imageframe centered" style="width: 200px;"><a title="8" rel="lightbox[pics0]" href="http://hesam-h.ir/blog/wp-content/uploads/2009/12/8.jpg"><img class="attachment wp-att-330" src="http://hesam-h.ir/blog/wp-content/uploads/2009/12/8.thumbnail.jpg" alt="8" width="200" height="128" /></a></div>
</div>
<p>اینبار سورس و فایل اجرایی معمای هشت رو برای شما دوستان عزیز قرار دادم ، امیدوارم که استفاده کنید.<br />
این برنامه با دلفی نوشته شده.<br />
میتونید در ادامه مطلب فایل مربوطه رو دانلود کنید.<br />
<span id="more-331"></span><br />
<a href='http://hesam-h.ir/blog/wp-content/uploads/2009/12/Moamaye-Hasht.zip'>معمای هشت</a><br />
<!--more--></p>
]]></content:encoded>
			<wfw:commentRss>http://hesam-h.ir/blog/1388/10/%d9%85%d8%b9%d9%85%d8%a7%db%8c-%d9%87%d8%b4%d8%aa/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>آژانس یار . . .</title>
		<link>http://hesam-h.ir/blog/1388/10/%d8%a2%da%98%d8%a7%d9%86%d8%b3-%db%8c%d8%a7%d8%b1/</link>
		<comments>http://hesam-h.ir/blog/1388/10/%d8%a2%da%98%d8%a7%d9%86%d8%b3-%db%8c%d8%a7%d8%b1/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 20:45:42 +0000</pubDate>
		<dc:creator>تبعیدی دست باد</dc:creator>
				<category><![CDATA[برنامه های من]]></category>
		<category><![CDATA[آژانس یار]]></category>
		<category><![CDATA[اکسس]]></category>
		<category><![CDATA[حسام حاتمی]]></category>
		<category><![CDATA[ویژوال بیسیک]]></category>
		<category><![CDATA[پروژه دانشجویی]]></category>

		<guid isPermaLink="false">http://hesam-h.ir/blog/?p=321</guid>
		<description><![CDATA[این بار یک هدیه برای همه دوست داران وبسایتم دارم ، و اوون سورس پروژه آژانس مسافری یار نسخه یک هست ! . زیاد در مورد این برنامه توضیح نمیدم جز اینکه با ویژوال بیسک هست و از بانک اطلاعاتی اکسس استفاده میکنه . شما خودتون میتونید بسیار اوون رو بسط و گسترش بدید.خواهشا حق [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;">
<div class="imageframe centered" style="width: 616px; text-align: right;"><a title="yaR" rel="lightbox[pics321]" href="http://hesam-h.ir/blog/wp-content/uploads/2009/12/yaR.jpg"><img class="attachment wp-att-323" src="http://hesam-h.ir/blog/wp-content/uploads/2009/12/yaR.jpg" alt="yaR" width="300" height="200" /></a></div>
</div>
<p>این بار یک هدیه برای همه دوست داران وبسایتم دارم ، و اوون سورس پروژه آژانس مسافری یار نسخه یک هست ! . زیاد در مورد این برنامه توضیح نمیدم جز اینکه با ویژوال بیسک هست و از بانک اطلاعاتی اکسس استفاده میکنه . شما خودتون میتونید بسیار اوون رو بسط و گسترش بدید.خواهشا حق مولف رو رعایت کنید.<br /> برای دانلود به ادامه مطلب مراجعه کنید.<br /> <span id="more-321"></span><br /> <a href="http://hesam-h.ir/blog/wp-content/uploads/2009/12/Ajans-Yar.zip">آژانس یار</a><br /> <!--more--></p>
]]></content:encoded>
			<wfw:commentRss>http://hesam-h.ir/blog/1388/10/%d8%a2%da%98%d8%a7%d9%86%d8%b3-%db%8c%d8%a7%d8%b1/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>تاریخ شمسی</title>
		<link>http://hesam-h.ir/blog/1388/08/%d8%aa%d8%a7%d8%b1%db%8c%d8%ae-%d8%b4%d9%85%d8%b3%db%8c/</link>
		<comments>http://hesam-h.ir/blog/1388/08/%d8%aa%d8%a7%d8%b1%db%8c%d8%ae-%d8%b4%d9%85%d8%b3%db%8c/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 10:48:12 +0000</pubDate>
		<dc:creator>تبعیدی دست باد</dc:creator>
				<category><![CDATA[برنامه های من]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[تقویم شمسی]]></category>
		<category><![CDATA[ویژوال بیسیک]]></category>

		<guid isPermaLink="false">http://hesam-h.ir/blog/?p=45</guid>
		<description><![CDATA[یکی از برنامه های بسیار کوچکی که نوشتم تاریخ شمسی است که به صورت کوچک در پایین محیط تسکبار قابل مشاهده است. دریافت برنامه Shamsi Date]]></description>
			<content:encoded><![CDATA[<p>یکی از برنامه های بسیار کوچکی که نوشتم تاریخ شمسی است که به صورت کوچک در پایین محیط تسکبار قابل مشاهده است.<br />
<a href="http://hesam-h.ir/blog/wp-content/uploads/2009/11/date.JPG"><img src="http://hesam-h.ir/blog/wp-content/uploads/2009/11/date.JPG" alt="date" title="date" width="247" height="52" class="aligncenter size-full wp-image-43" /></a><br />
دریافت برنامه<br />
<a href='http://hesam-h.ir/blog/wp-content/uploads/2009/11/Shamsi-Date.exe'>Shamsi Date</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hesam-h.ir/blog/1388/08/%d8%aa%d8%a7%d8%b1%db%8c%d8%ae-%d8%b4%d9%85%d8%b3%db%8c/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

