<?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; c</title>
	<atom:link href="http://hesam-h.ir/blog/tag/c/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>برنامه ارسال و دریافت SMS رایگان به همراه کد منبع</title>
		<link>http://hesam-h.ir/blog/1390/02/%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d8%a7%d8%b1%d8%b3%d8%a7%d9%84-%d9%88-%d8%af%d8%b1%db%8c%d8%a7%d9%81%d8%aa-sms/</link>
		<comments>http://hesam-h.ir/blog/1390/02/%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d8%a7%d8%b1%d8%b3%d8%a7%d9%84-%d9%88-%d8%af%d8%b1%db%8c%d8%a7%d9%81%d8%aa-sms/#comments</comments>
		<pubDate>Tue, 03 May 2011 06:29:21 +0000</pubDate>
		<dc:creator>تبعیدی دست باد</dc:creator>
				<category><![CDATA[آی تی]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Free]]></category>
		<category><![CDATA[Gsm Modem]]></category>
		<category><![CDATA[source code]]></category>
		<category><![CDATA[Vb 6.0]]></category>
		<category><![CDATA[vb.net]]></category>
		<category><![CDATA[ارسال پیامک]]></category>
		<category><![CDATA[دانلود برنامه]]></category>
		<category><![CDATA[دریافت و ارسال اس ام اس]]></category>

		<guid isPermaLink="false">http://hesam-h.ir/blog/?p=1124</guid>
		<description><![CDATA[برای این لحظه از وبسایتم تصمیم گرفتم یک برنامه بسیار کاربردی برای شما در سایت قرار بدم تا از اون استفاده کنید . این برنامه قابلیت ارسال SMS به صورت فارسی و انگلیسی از طریق GSM MODEM  رو دارا هست . این برنامه به همراه منبع کد هست . فقط این نکته را باید متذکر [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://hesam-h.ir/blog/wp-content/uploads/2011/05/H-Sms-Sender-With-mCore.jpg"><img class="aligncenter size-full wp-image-1126" title="H-Sms Sender With mCore" src="http://hesam-h.ir/blog/wp-content/uploads/2011/05/H-Sms-Sender-With-mCore.jpg" alt="" width="354" height="260" /></a>برای این لحظه از وبسایتم تصمیم گرفتم یک برنامه بسیار کاربردی برای شما در سایت قرار بدم تا از اون استفاده کنید .</p>
<p>این برنامه قابلیت ارسال SMS به صورت فارسی و انگلیسی از طریق GSM MODEM  رو دارا هست .</p>
<p>این برنامه به همراه منبع کد هست .</p>
<p>فقط این نکته را باید متذکر شوم کامپوننتی که در این برنامه جهت ارتباط استفاده شده رجیستر شده نمیباشد .</p>
<p>سورس برنامه با زبان VB میباشد که البته به زبانهای DElphi و #C و VB.Net نیز موجود میباشد .</p>
<p>برای اجرا شدن برنامه میبایست VB بر روی سیستم شما نصب شود .</p>
<p><span id="more-1124"></span><span style="color: #ff0000;"><br />
(برای دریافت رمز فایل تنها از طریق فرم تماس با من اقدام کنید و از ارسال نظرات خودداری نمایید). </span></p>
<p>( برنامه زبانهای دیگر  : میبایست مبلغ ۲۵۰٫۰۰۰ ریال به شماره حسابی که در بالای صفحه وبسایت قرار داده شده واریز نمایید و فرم مربوطه به همراه آدرس دقیق ایمیل خود را وارد نمایید تا در کمتر از ۲۴ ساعت  برای شما ارسال گردد).</p>
Note: There is a file embedded within this post, please visit this post to download the file.
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/1390/02/%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d8%a7%d8%b1%d8%b3%d8%a7%d9%84-%d9%88-%d8%af%d8%b1%db%8c%d8%a7%d9%81%d8%aa-sms/feed/</wfw:commentRss>
		<slash:comments>46</slash:comments>
		</item>
		<item>
		<title>چگونه یک شبکه عصبی‌ هوشمند بسازیم؟</title>
		<link>http://hesam-h.ir/blog/1390/01/%da%86%da%af%d9%88%d9%86%d9%87-%d9%8a%d9%83-%d8%b4%d8%a8%d9%83%d9%87-%d8%b9%d8%b5%d8%a8%d9%8a%e2%80%8c-%d9%87%d9%88%d8%b4%d9%85%d9%86%d8%af-%d8%a8%d8%b3%d8%a7%d8%b2%d9%8a%d9%85%d8%9f/</link>
		<comments>http://hesam-h.ir/blog/1390/01/%da%86%da%af%d9%88%d9%86%d9%87-%d9%8a%d9%83-%d8%b4%d8%a8%d9%83%d9%87-%d8%b9%d8%b5%d8%a8%d9%8a%e2%80%8c-%d9%87%d9%88%d8%b4%d9%85%d9%86%d8%af-%d8%a8%d8%b3%d8%a7%d8%b2%d9%8a%d9%85%d8%9f/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 18:22:33 +0000</pubDate>
		<dc:creator>تبعیدی دست باد</dc:creator>
				<category><![CDATA[آی تی]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[neural network]]></category>
		<category><![CDATA[شبکه عصبی]]></category>
		<category><![CDATA[چگونه شبکه عصبی بنویسیم]]></category>

		<guid isPermaLink="false">http://hesam-h.ir/blog/?p=1099</guid>
		<description><![CDATA[اشاره : قدرت و سرعت کامپیوترهای امروزی به راستی شگفت انگیز است؛ زیرا کامپیوترهای قدرتمند می‌توانند میلیون‌ها عملیات را در کمتر از یک ثانیه انجام دهند. شاید آرزوی بسیاری از ما انسان‌ها این باشد که ای کاش می‌شد ما نیز مانند این دستگاه‌ها کارهای خود را با آن سرعت انجام می‌دادیم، ولی این نکته را [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://hesam-h.ir/blog/wp-content/uploads/2011/03/neural.jpg"><img class="aligncenter size-full wp-image-1100" title="neural" src="http://hesam-h.ir/blog/wp-content/uploads/2011/03/neural.jpg" alt="" width="283" height="226" /></a></p>
<p>اشاره :<br />
قدرت و سرعت کامپیوترهای امروزی به راستی شگفت انگیز است؛ زیرا کامپیوترهای قدرتمند می‌توانند میلیون‌ها عملیات را در کمتر از یک ثانیه انجام دهند. شاید آرزوی بسیاری از ما انسان‌ها این باشد که ای کاش می‌شد ما نیز مانند این دستگاه‌ها کارهای خود را با آن سرعت انجام می‌دادیم، ولی این نکته را نباید نادیده بگیریم که کارهایی هستند که ما می‌توانیم آن‌ها را به آسانی و در کمترین زمان ممکن انجام دهیم، ولی قوی‌ترین کامپیوترهای امروزی نیز نمی‌توانند آن‌ها را انجام دهند و آن قدرت تفکری است که مغز ما انسان‌ها دارد. حال تصور کنید که دستگاهی وجود داشته باشد که علا‌وه بر قدرت محاسبه و انجام کارهای فراوان در مدت زمان کوتاه، قدرت تفکر نیز داشته باشد یا به قول معروف هوشمند باشد!این تصور در حقیقت هدف فناوری هوش مصنوعی یا Artificial Intelligence) AI) است. یکی از راه‌حل‌های تحقق این هدف، شبکه‌های عصبی است. شبکه‌های عصبی در واقع از شبکه‌های عصبی و سیستم عصبی انسان الگوبرداری می‌کنند. برخی از محققان براین باورند که هوش مصنوعی و شبکه‌های عصبی دو راه‌حل متفاوت و در دو جهت مختلف هستند، ولی این باور را نمی‌توان کاملاً صحیح دانست؛ چرا که در حقیقت علم شبکه‌های عصبی و هوش‌مصنوعی وابسته به هم هستند. بدین‌معنا که قبل از این‌که Symbolها بتوانند توسط هوش مصنوعی شناسایی شوند، باید مراحلی طی شود. مثلاً تصور کنید که Symbolهایی مانند خانه، انسان یا میز وجود دارند. قبل از این که AI بتواند هر کدام از این Symbolها را شناسایی کند، باید از توانایی‌ها و صفات هر کدام از این‌ها اطلاع کامل حاصل کند. مثلاً تصور کنید که یک روبات که هوش مصنوعی دارد، یک انسان را می‌بیند، ولی از کجا می‌فهمد که این جسم یک انسان است؟ مثلاً بر اساس مشخصاتی مثل داشتن دو پا، دست، صورت، دهان و قدرت تکلم. اما شما وقتی یک انسان دیگر را می‌بینید، نیازی ندارید که اول تعداد پاهای او را بشمارید و بعد بگویید که این جسم، انسان است. مغز انسان‌ها می‌تواند با دیدن یک جسم فقط برای یک بار یاد بگیرد و اگر مجدداً آن جسم را مشاهده کرد، می‌تواند سریع تشخیص دهد و قسمت‌های مختلف مغز می‌توانند به صورت همزمان فعالیت کنند و از اطلاعات درون مغز استفاده نمایند. شبکه‌های عصبی در بسیاری از پروژه‌های هوش مصنوعی به کار گرفته می‌شود. مثلاً برای برنامه‌های تشخیص و الگوبرداری، شناسایی تصویر و کاراکتر، روبات‌ها و برنامه‌های فیلترینگ اطلاعات. این شبکه‌ها امروزه حتی در اتومبیل‌های بی‌سرنشین نیز کاربرد دارد. به طوری‌که با دیدن و بررسی رانندگی انسان‌ها، می‌توانند رانندگی کنند. در این مقاله اصول شبکه‌های عصبی در برنامه‌نویسی شیء‌گرا مورد بررسی قرار می‌گیرد. با استفاده از زبان #C و انجام دادن عملیات X-OR ساده می‌توانید اولین برنامه ساده هوش مصنوعی خود را بنویسید. لازم به ذکر است که مثالی که در این مقاله از آن استفاده شده، از مقاله Matthew Cochran (سی شارپ کورنر) اقتباس شده است.</p>
<p>مقاله در سایت هوش مصنوعی ایران موجود میباشد .</p>
<p>برای دانلود مقاله به ادامه مطلب بروید .</p>
<p><span id="more-1099"></span></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/1390/01/%da%86%da%af%d9%88%d9%86%d9%87-%d9%8a%d9%83-%d8%b4%d8%a8%d9%83%d9%87-%d8%b9%d8%b5%d8%a8%d9%8a%e2%80%8c-%d9%87%d9%88%d8%b4%d9%85%d9%86%d8%af-%d8%a8%d8%b3%d8%a7%d8%b2%d9%8a%d9%85%d8%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>سورس الگوریتمهای زمانبندی درس سیستم عامل</title>
		<link>http://hesam-h.ir/blog/1389/10/%d8%a7%d9%84%da%af%d9%88%d8%b1%db%8c%d8%aa%d9%85%d9%87%d8%a7%db%8c-%d8%af%d8%b1%d8%b3-%d8%b3%db%8c%d8%b3%d8%aa%d9%85-%d8%b9%d8%a7%d9%85%d9%84/</link>
		<comments>http://hesam-h.ir/blog/1389/10/%d8%a7%d9%84%da%af%d9%88%d8%b1%db%8c%d8%aa%d9%85%d9%87%d8%a7%db%8c-%d8%af%d8%b1%d8%b3-%d8%b3%db%8c%d8%b3%d8%aa%d9%85-%d8%b9%d8%a7%d9%85%d9%84/#comments</comments>
		<pubDate>Sat, 25 Dec 2010 19:25:36 +0000</pubDate>
		<dc:creator>تبعیدی دست باد</dc:creator>
				<category><![CDATA[آی تی]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[banker]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[fcfs]]></category>
		<category><![CDATA[fifo]]></category>
		<category><![CDATA[hrrl]]></category>
		<category><![CDATA[lifo]]></category>
		<category><![CDATA[rr]]></category>
		<category><![CDATA[sjf]]></category>
		<category><![CDATA[source code]]></category>
		<category><![CDATA[srt]]></category>
		<category><![CDATA[سورس]]></category>
		<category><![CDATA[سیستم عامل]]></category>

		<guid isPermaLink="false">http://hesam-h.ir/blog/?p=1119</guid>
		<description><![CDATA[بسیاری از سورس کدهایی که شما عزیزان به دنبال اوونها هستید در اینترنت به وفوور یافت میشود کافیست اندکی وقت بگذارید و جستجو کنید . منبع رو بر نداشتم - به امید موفقیت همه ی شما . Quine: Program that prints itself without using file Download Source Code Shortest job first CPU scheduling Download Source [...]]]></description>
			<content:encoded><![CDATA[<p>بسیاری از سورس کدهایی که شما عزیزان به دنبال اوونها هستید در اینترنت به وفوور یافت میشود کافیست اندکی وقت بگذارید و جستجو کنید . منبع رو بر نداشتم -</p>
<p>به امید موفقیت همه ی شما .</p>
<table cellspacing="3" cellpadding="3" width="879px">
<tbody>
<tr bgcolor="#f2f2f2">
<td>Quine: Program that prints itself without using file</td>
<td width="150px"><a href="http://technocode.co.in/download/c_1.zip">Download Source Code</a></td>
</tr>
<tr bgcolor="#f2f2f2">
<td>Shortest job first CPU scheduling</td>
<td width="150px"><a href="http://technocode.co.in/download/c_2.zip">Download Source Code</a></td>
</tr>
<tr bgcolor="#f2f2f2">
<td>First come first serve CPU scheduling</td>
<td width="150px"><a href="http://technocode.co.in/download/c_3.zip">Download Source Code</a></td>
</tr>
<tr bgcolor="#f2f2f2">
<td>Shortest remaining time first CPU scheduling</td>
<td width="150px"><a href="http://technocode.co.in/download/c_4.zip">Download Source Code</a></td>
</tr>
<tr bgcolor="#f2f2f2">
<td>Round robin CPU scheduling</td>
<td width="150px"><a href="http://technocode.co.in/download/c_5.zip">Download Source Code</a></td>
</tr>
<tr bgcolor="#f2f2f2">
<td>Priority non preemptive CPU scheduling</td>
<td width="150px"><a href="http://technocode.co.in/download/c_6.zip">Download Source Code</a></td>
</tr>
<tr bgcolor="#f2f2f2">
<td>Priority preemptive CPU scheduling</td>
<td width="150px"><a href="http://technocode.co.in/download/c_7.zip">Download Source Code</a></td>
</tr>
<tr bgcolor="#f2f2f2">
<td>Predictive parser</td>
<td width="150px"><a href="http://technocode.co.in/download/c_8.zip">Download Source Code</a></td>
</tr>
<tr bgcolor="#f2f2f2">
<td>Recursive decent parser</td>
<td width="150px"><a href="http://technocode.co.in/download/c_9.zip">Download Source Code</a></td>
</tr>
<tr bgcolor="#f2f2f2">
<td>Non recursive decent parser</td>
<td width="150px"><a href="http://technocode.co.in/download/c_10.zip">Download Source Code</a></td>
</tr>
<tr bgcolor="#f2f2f2">
<td>First and follow</td>
<td width="150px"><a href="http://technocode.co.in/download/c_11.zip">Download Source Code</a></td>
</tr>
<tr bgcolor="#f2f2f2">
<td>First and follow 2</td>
<td width="150px"><a href="http://technocode.co.in/download/c_12.zip">Download Source Code</a></td>
</tr>
<tr bgcolor="#f2f2f2">
<td>Banker’s resource allocation &amp; deadlock avoidance algorithm</td>
<td width="150px"><a href="http://technocode.co.in/download/c_13.zip">Download Source Code</a></td>
</tr>
<tr bgcolor="#f2f2f2">
<td>Lexical analyzer for converting a sequence of characters into a sequence of tokens</td>
<td width="150px"><a href="http://technocode.co.in/download/c_14.zip">Download Source Code</a></td>
</tr>
<tr bgcolor="#f2f2f2">
<td>First in first out, page replacement algorithm</td>
<td width="150px"><a href="http://technocode.co.in/download/c_15.zip">Download Source Code</a></td>
</tr>
<tr bgcolor="#f2f2f2">
<td>Least recently used, page replacement algorithm</td>
<td width="150px"><a href="http://technocode.co.in/download/c_16.zip">Download Source Code</a></td>
</tr>
<tr bgcolor="#f2f2f2">
<td>Optimal page replacement algorithm</td>
<td width="150px"><a href="http://technocode.co.in/download/c_17.zip">Download Source Code</a></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://hesam-h.ir/blog/1389/10/%d8%a7%d9%84%da%af%d9%88%d8%b1%db%8c%d8%aa%d9%85%d9%87%d8%a7%db%8c-%d8%af%d8%b1%d8%b3-%d8%b3%db%8c%d8%b3%d8%aa%d9%85-%d8%b9%d8%a7%d9%85%d9%84/feed/</wfw:commentRss>
		<slash:comments>2</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>کار با بانکهای اطلاعاتی در #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/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>
	</channel>
</rss>

