<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>مدونة عبد الكريم كنعان</title>
	<atom:link href="http://kanaan85.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kanaan85.wordpress.com</link>
	<description>تتميز لغة الدوت نيت .NET بالعديد من مزايا السهولة والقوة التي تجعلها مطلب العديد من المبرمجين.</description>
	<lastBuildDate>Mon, 12 Dec 2011 10:34:33 +0000</lastBuildDate>
	<language>ar</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='kanaan85.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>مدونة عبد الكريم كنعان</title>
		<link>http://kanaan85.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://kanaan85.wordpress.com/osd.xml" title="مدونة عبد الكريم كنعان" />
	<atom:link rel='hub' href='http://kanaan85.wordpress.com/?pushpress=hub'/>
		<item>
		<title>التعامل مع القواميس Dictionaries</title>
		<link>http://kanaan85.wordpress.com/2011/01/01/dictionaries-classes/</link>
		<comments>http://kanaan85.wordpress.com/2011/01/01/dictionaries-classes/#comments</comments>
		<pubDate>Sat, 01 Jan 2011 23:33:32 +0000</pubDate>
		<dc:creator>عبد الكريم كنعان</dc:creator>
				<category><![CDATA[عام]]></category>
		<category><![CDATA[Dictionaries]]></category>
		<category><![CDATA[Hashtable]]></category>
		<category><![CDATA[System.Collections]]></category>

		<guid isPermaLink="false">http://kanaan85.wordpress.com/?p=258</guid>
		<description><![CDATA[التعامل مع القواميس Dictionaries بالإضافة إلى ما تعلمناه سابقا فإنه يوجد ضمن فضاء الأسماء System.Collections صفوف القواميس التي تدل من اسمها أنها مثل القاموس تقوم بتخزين قيمة تسمى &#8220;مفتاح&#8221; وقيمة تسمى &#8220;قيمة المفتاح&#8221;، وبالتالي تكون الافادة في عملية البحث عن القيمة المقابلة لمفتاح ما، من هذه الصفوف الصف Hashtable الذي يمكن استخدامه كما يلي: Hashtable [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kanaan85.wordpress.com&amp;blog=2943185&amp;post=258&amp;subd=kanaan85&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2 style="text-align:center;">التعامل مع القواميس Dictionaries</h2>
<p>بالإضافة إلى ما تعلمناه سابقا فإنه يوجد ضمن فضاء الأسماء System.Collections صفوف القواميس التي تدل من اسمها أنها مثل القاموس تقوم بتخزين قيمة تسمى &#8220;مفتاح&#8221; وقيمة تسمى &#8220;قيمة المفتاح&#8221;، وبالتالي تكون الافادة في عملية البحث عن القيمة المقابلة لمفتاح ما، من هذه الصفوف الصف Hashtable الذي يمكن استخدامه كما يلي:</p>
<p style="text-align:left;" dir="ltr"><span style="color:#33cccc;">Hashtable </span>emailLookup = <span style="color:#0000ff;">new </span><span style="color:#33cccc;">Hashtable</span>();</p>
<p style="text-align:left;" dir="ltr">emailLookup.Add(&#8220;Abdulkarim2006@hotmail.com&#8221;, &#8220;Kanaan, Abdulkarim&#8221;);<br />
emailLookup["Abdulkarim.Kanaan@gmail.com"] = &#8220;Kanaan, Abdulkarim&#8221;;</p>
<p><span id="more-258"></span></p>
<p>طبعا كما لاحظنا هناك طريقتين لإدخال البيانات إما باستخدام التابع Add أو باستخدام الفهرسة طبعا ولكن يجدر القول إلى أن هذه الأخيرة ستكون عملية إضافة في حال أن المفتاح الذي تمت إضافته غير موجود أما في حال وجوده مسبقا فإنه سيؤدي إلى عملية تعديل، أي في حال الايميل <a href="mailto:Abdulkarim.Kanaan@gmail.com">Abdulkarim.Kanaan@gmail.com</a> موجود مسبقا فإن السطر:</p>
<p style="text-align:left;" dir="ltr">emailLookup["Abdulkarim.Kanaan@gmail.com"] = &#8220;Kanaan, Abdulkarim&#8221;;</p>
<p>يعد عملية تعديل وليس إضافة.، وبالتالي نجد أن هذا الصف المعلومات المخزنة فيه عبارة عن زوج (مفتاح\قيمة)، والآن من أجل الحصول على قيمة مقابلة لمفتاح يكفي أن نكتب:</p>
<p style="text-align:left;" dir="ltr"><span style="color:#33cccc;">Console</span>.WriteLine(emailLookup["Abdulkarim.Kanaan@gmail.com"]);</p>
<p>ولكن في حال أننا لا نعرف المفتاح للقيمة التي نبحث عنها على المعلومات المخزنة داخل الكائن emailLookup من الصف Hashtable دعنا نكتب:</p>
<p style="text-align:left;" dir="ltr"><span style="color:#0000ff;">foreach </span>(<span style="color:#0000ff;">object </span>obj <span style="color:#0000ff;">in </span>emailLookup)<br />
{<br />
        <span style="color:#33cccc;">Console</span>.WriteLine(obj);<br />
}</p>
<p>ولكن ياللمفاجأة ما هذه النواتج؟:</p>
<p style="text-align:left;">System.Collections.DictionaryEntry<br />
System.Collections.DictionaryEntry</p>
<p>ما الذي حدث؟ الذي حدث أنك حصلت على كائن من الصف DictionaryEntry وليس مفتاح أو قيمة للمفتاح، حتى يتم العمل بشكل سليم عليك أن تنشئ كائن من الصف DictioaryEntry كما في المثال التالي:</p>
<p style="text-align:left;" dir="ltr"><span style="color:#0000ff;">foreach </span>(<span style="color:#33cccc;">DictionaryEntry </span>entry <span style="color:#0000ff;">in </span>emailLookup)<br />
{<br />
        <span style="color:#33cccc;">Console</span>.WriteLine(entry.Value);<br />
}</p>
<p>جميع صفوف القواميس تدعم الواجهة IDictionary المشتقة من الواجهة ICollection، أهم الخصائص والاجراءات للواجهة IDictionary مبينة في الجدوليت التاليين:</p>
<table dir="rtl" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="111" valign="top">اسم الخاصية</td>
<td width="482" valign="top">الوصف</td>
</tr>
<tr>
<td width="111" valign="top">IsFixedSize</td>
<td width="482" valign="top">هذه القيمة تشير فيما إذا كان بالامكان تغير سعة المجمع.</td>
</tr>
<tr>
<td width="111" valign="top">IsReadOnly</td>
<td width="482" valign="top">تشير هذه القيمة إلى أنه إذا كان بالإمكان تغير قيم المجمع.</td>
</tr>
<tr>
<td width="111" valign="top">Keys</td>
<td width="482" valign="top">يعيد كائن من الواجهة ICollection يحتوي على قائمة المفاتيح المخزنة داخل المجمع.</td>
</tr>
<tr>
<td width="111" valign="top">Values</td>
<td width="482" valign="top">يعيد كائن من الواجهة ICollection يحتوي على قائمة قيم المفاتيح المخزنة داخل المجمع.</td>
</tr>
</tbody>
</table>
<table dir="rtl" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="111" valign="top">اسم الاجراء</td>
<td width="482" valign="top">الوصف</td>
</tr>
<tr>
<td width="111" valign="top">Add</td>
<td width="482" valign="top">إضافة زوج (مفتاح\قيمة) إلى المجمع.</td>
</tr>
<tr>
<td width="111" valign="top">Clear</td>
<td width="482" valign="top">حذف كافة عناصر المجمع.</td>
</tr>
<tr>
<td width="111" valign="top">Contains</td>
<td width="482" valign="top">التحقق فبما إذا كان مفتاح محدد موجود داخل المجمع.</td>
</tr>
<tr>
<td width="111" valign="top">GetEnumerator</td>
<td width="482" valign="top">يعيعد كائن من الواجهة  IDictionaryEnumerator، هذا الاجراء مختلف عن ذلك الذي يعيد كائن من الواجهة IEnumerable</td>
</tr>
<tr>
<td width="111" valign="top">Remove</td>
<td width="482" valign="top">يحذف عنصر من المجمع وذلك من خلال مفتاح محدد.</td>
</tr>
</tbody>
</table>
<p>أو يمكن الحصول على القيم المخزنة داخل مجمع كما يلي:</p>
<p style="text-align:left;" dir="ltr"><span style="color:#0000ff;">foreach </span>(<span style="color:#0000ff;">object </span>obj <span style="color:#0000ff;">in </span>emailLookup.Values)<br />
{<br />
        <span style="color:#33cccc;">Console</span>.WriteLine(obj);<br />
}</p>
<p style="text-align:left;">بالإضافة إلى ذلك فإن الصف Hashtable يحوي عل  تابعين من أجل معرفة فيما إذا كان فتاح أو قيمة مفتاح موجودة داخل المجمع، الجول التالي يوضحهما:</p>
<table dir="rtl" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="111" valign="top">اسم الاجراء</td>
<td width="482" valign="top">الوصف</td>
</tr>
<tr>
<td width="111" valign="top">ContainsKey</td>
<td width="482" valign="top">يتحقق فيما إذا كان المجمع يحتوي على مفتاح محدد.</td>
</tr>
<tr>
<td width="111" valign="top">ContainsValue</td>
<td width="482" valign="top">يتحقق فيما إذا كان المجمع يحتوي على قيمة مفتاح محدد.</td>
</tr>
</tbody>
</table>
<p>فهم عملية المساواة (التساوي) Equality:</p>
<p>يستخدم الصف Hashtable قيمة من نمط العدد الصحيح تقابل المفتاح، يستخدم هذه القيمة من أجل تسريع عمليات البحث عن مفتاح محدد، حيث أن كل صف في .NET مشتق من الصف Object الذي يدعم الاجراء GetHash الذي يعيد بدوره قيمة عددية صحيحة فريدة تعرف الكائن، في الصف Hashtable  يتم تخزين قيمة فريدة للمفاتيح المخزنة في نفس الكائن، فعندما نقوم بمحاولة تخزين <strong>مفتاح مرتين</strong> (هذه الكلمة من ذهب: كيف يعرف أن هذا المفتاح مكرر؟؟ تابع لتعرف السبب) فإن المرة الثانية سوف تعتبر استدعاء لمفتاح الأول من أجل تعديل القيمة المقابلة له، على سبيل المثال:</p>
<p style="text-align:left;" dir="ltr"><span style="color:#33cccc;">Hashtable </span>duplicates = new <span style="color:#33cccc;">Hashtable</span>();</p>
<p style="text-align:left;" dir="ltr">duplicates["First"] = &#8220;1st&#8221;;<br />
duplicates["First"] = &#8220;the first&#8221;;</p>
<p style="text-align:left;" dir="ltr"><span style="color:#33cccc;">Console</span>.WriteLine(duplicates.Count); \\1</p>
<p>بما أن كلا المفتاحين <strong>متساويين</strong> في القيمة فإنه يعتبر تعديل للقيمة المقابلة للمفتاح الأول، في الحقيقة قد تم ذلك باستدعاء الاجراء GetHashCode الموجود في الصف String وبالرغم من أن كلا منهما (المفتاحين) كائن مستقل إلا أنه تم التعرف عليها على أنهما كائن واحد.</p>
<p>حتى نفهم الأمر الأكثر دعنا ننشىء صف جديد ونسميه Fish كما يلي:</p>
<p style="text-align:left;" dir="ltr"><span style="color:#0000ff;">public class </span><span style="color:#33cccc;">Fish</span><br />
{<br />
        <span style="color:#0000ff;">string </span>name;</p>
<p style="text-align:left;" dir="ltr">        <span style="color:#0000ff;">public </span>Fish(<span style="color:#0000ff;">string </span>theName)<br />
        {<br />
                name = theName;<br />
        }<br />
}</p>
<p>والان إذا قمنا بإنشاء كائنين من هذا الصف الجديد وجعلنا الخاصية name تأخذ نفس القيمة، دعنا نرى ماذا سوف يعتبرهما الكائن من الصف Hashtabel هل هما متساويين أم لا؟</p>
<p style="text-align:left;" dir="ltr"><span style="color:#33cccc;">Hashtable </span>duplicates = new <span style="color:#33cccc;">Hashtable</span>();</p>
<p style="text-align:left;" dir="ltr">Fish key1 = new Fish(&#8220;Herring&#8221;);<br />
Fish key2 = new Fish(&#8220;Herring&#8221;);</p>
<p style="text-align:left;" dir="ltr">duplicates[key1] = &#8220;Hello&#8221;;<br />
duplicates[key2] = &#8220;Hello&#8221;;</p>
<p style="text-align:left;" dir="ltr"><span style="color:#33cccc;">Console</span>.WriteLine(duplicates.Count); // 2</p>
<p style="text-align:right;">لقد اعتبر الكائن duplicates كلا من الكائنين key1, key2 كائنين غير متساويين لأن التابع GetHashCode قد أنشىء قيمتين مختلفتين لكل منهما، حتى نعالج هذا الأمر يجب أن نتجاوز المنهج GetHashCode من الصف Object ونعرفه نحن بأنفسنا كما يلي:</p>
<p style="text-align:left;" dir="ltr"><span style="color:#0000ff;">public override int </span>GetHashCode()<br />
{<br />
        <span style="color:#0000ff;">return </span>name.GetHashCode();<br />
}</p>
<p style="text-align:right;">والان عندما يتم استدعاء المنهح GetHashCode فإنه سيعيد نفس القيمة وذلك في حال قيمة name متساوية، ولكن مع ذلك لن نكون قد حللنا المشكلة والسبب في ذلك أنه يوجد تابع آخر في الصف Object يدعى Equals فهو يعيد القيمة false إذا كان كلا الكائنين من نسختين مختلفتين (أي لا يحملان نفس العنوان اللذان يشيران له في الذاكرة) ولحل هذه المشكلة نقوم بتجاوز المنهج Equals كما يلي:</p>
<p style="text-align:left;" dir="ltr"><span style="color:#0000ff;">public override bool</span> Equals(object obj)<br />
{<br />
        <span style="color:#33cccc;">Fish </span>otherFish = obj <span style="color:#0000ff;">as </span><span style="color:#33cccc;">Fish</span>;</p>
<p style="text-align:left;" dir="ltr">        <span style="color:#0000ff;">if </span>(otherFish == <span style="color:#0000ff;">null</span>)<br />
                <span style="color:#0000ff;">return false</span>;</p>
<p style="text-align:left;" dir="ltr">        <span style="color:#0000ff;">return </span>otherFish.name == this.name;<br />
}</p>
<p>الان أعد تشغيل البرنامج ولا حظ الفرق.</p>
<p><span style="text-decoration:underline;">استخدام الواجهة </span><span style="text-decoration:underline;">IEqualityComparer</span>: تحتوي هذه الواجهة على تابعين اثنين الأول: GetHashCode والثاني Equals سوف نقوم بالاستفادة من هذه الواجهة فيما يلي لنعد إلى المثال:</p>
<p style="text-align:left;" dir="ltr"><span style="color:#33cccc;">Hashtable </span>duplicates = new <span style="color:#33cccc;">Hashtable</span>();</p>
<p style="text-align:left;" dir="ltr">duplicates["First"] = &#8220;1st&#8221;;<br />
duplicates["First"] = &#8220;the first&#8221;;</p>
<p style="text-align:left;" dir="ltr"><span style="color:#33cccc;">Console</span>.WriteLine(duplicates.Count); <a href="//\\1">\\1</a></p>
<p style="text-align:right;">ولنقم بتغير قيمة أحد المفاتيح من First إلى first وأعد التشغيل ستلاحظ أن الكائن من الصف Hashtable قد إعتبرهما كائنين مختلفين، والمطلوب الآن إلغاء التحسس لحالة الأحرف، كيف سنقوم بعمل ذلك؟؟ لاحظ إن الباني للصف Hashtable يقبل كائن من نوع IEqualityComparer سوف تستفيد منها بإنشاء صف يرث من هذه الواجهة ثم تجهيز عملية المقارنة كما نريد:</p>
<p style="text-align:left;" dir="ltr"><span style="color:#0000ff;">public class</span> <span style="color:#33cccc;">InsensitiveComparer </span>: IEqualityComparer<br />
{<br />
         <span style="color:#33cccc;">CaseInsensitiveComparer </span>_comparer = <span style="color:#0000ff;">new </span><span style="color:#33cccc;">CaseInsensitiveComparer</span>();</p>
<p style="text-align:left;" dir="ltr">        <span style="color:#0000ff;">#region</span> IEqualityComparer Members</p>
<p style="text-align:left;" dir="ltr">        <span style="color:#0000ff;">public int </span>GetHashCode(<span style="color:#0000ff;">object </span>obj)<br />
        {<br />
                <span style="color:#0000ff;">return </span>obj.ToString().ToLowerInvariant().GetHashCode();<br />
         }</p>
<p style="text-align:left;" dir="ltr">        <span style="color:#0000ff;">public new bool</span> Equals(object x, object y)<br />
        {<br />
                <span style="color:#0000ff;">if </span>(_comparer.Compare(x, y) == 0)<br />
                {    <span style="color:#0000ff;">return true</span>;    }<br />
                <span style="color:#0000ff;">else</span><br />
                {    <span style="color:#0000ff;">return false</span>;    }<br />
          }</p>
<p style="text-align:left;" dir="ltr">         <span style="color:#0000ff;">#endregion</span><br />
}</p>
<p style="text-align:left;">أعد كتابة الكود السابق كما يلي:</p>
<p style="text-align:left;" dir="ltr"><span style="color:#33cccc;">Hashtable </span>duplicates = new <span style="color:#33cccc;">Hashtable</span>(new InsensitiveComparer());</p>
<p style="text-align:left;" dir="ltr">duplicates["First"] = &#8220;1st&#8221;;<br />
duplicates["first"] = &#8220;the first&#8221;;</p>
<p style="text-align:left;" dir="ltr"><span style="color:#33cccc;">Console</span>.WriteLine(duplicates.Count); // 1</p>
<p style="text-align:left;">ولاحظ الناتج!!!.</p>
<p>بقي ذكر شيء واحد أن الصف Hashtable يقوم بترتيب العناصر المدخلة تلقائيا تبعا لقيمة Hash للمفاتيح المدخلة، المثال التالي يوضح ذلك:</p>
<p style="text-align:left;" dir="ltr"><span style="color:#33cccc;">Hashtable </span>ht = new <span style="color:#33cccc;">Hashtable</span>();</p>
<p style="text-align:left;" dir="ltr">ht.Add(0, &#8220;Zero&#8221;);<br />
ht.Add(2, &#8220;Two&#8221;);<br />
ht.Add(1, &#8220;One&#8221;);</p>
<p style="text-align:left;" dir="ltr"><span style="color:#0000ff;">foreach</span>(<span style="color:#0000ff;">DictionaryEntry </span>de <span style="color:#0000ff;">in </span>ht)<br />
{<br />
        <span style="color:#33cccc;">Console</span>.WriteLine(&#8220;Key:{0}, Value:{1}&#8221;, de.Key, de.Value);<br />
}</p>
<p>الناتج سيكون:</p>
<p style="text-align:left;" dir="ltr">Key:2, Value:Two<br />
Key:1, Value:One<br />
Key:0, Value:Zero</p>
<p style="text-align:left;" dir="ltr"> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kanaan85.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kanaan85.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kanaan85.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kanaan85.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kanaan85.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kanaan85.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kanaan85.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kanaan85.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kanaan85.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kanaan85.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kanaan85.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kanaan85.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kanaan85.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kanaan85.wordpress.com/258/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kanaan85.wordpress.com&amp;blog=2943185&amp;post=258&amp;subd=kanaan85&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kanaan85.wordpress.com/2011/01/01/dictionaries-classes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fc9fb0a128c9a23601091f1e32f664ec?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">كنعان</media:title>
		</media:content>
	</item>
		<item>
		<title>المكدس والرتل Stack &amp; Queue</title>
		<link>http://kanaan85.wordpress.com/2010/10/09/stack-queue/</link>
		<comments>http://kanaan85.wordpress.com/2010/10/09/stack-queue/#comments</comments>
		<pubDate>Sat, 09 Oct 2010 00:46:51 +0000</pubDate>
		<dc:creator>عبد الكريم كنعان</dc:creator>
				<category><![CDATA[عام]]></category>
		<category><![CDATA[Queue]]></category>
		<category><![CDATA[Stack]]></category>
		<category><![CDATA[مكدس]]></category>
		<category><![CDATA[رتل]]></category>

		<guid isPermaLink="false">http://kanaan85.wordpress.com/?p=202</guid>
		<description><![CDATA[العمل مع القوائم المتسلسلة الصف Queue(الرتل): هذا الصف هو أحد صفوف فضاء الأسماء System.Collections يعتمد هذا الصف على القاعدة (FIFO: First In First Out) أي ما يدخل أولا من العناصر يخرج أولا (تماما مثل أي رتل نظامي)، فيقدم هذا الصف آليه سهلة بل سهلة جدا لإدخال العناصر وفق الرتل وإخراجهم من ضمن الرتل، أهم خصائص [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kanaan85.wordpress.com&amp;blog=2943185&amp;post=202&amp;subd=kanaan85&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h1 style="text-align:center;">العمل مع القوائم المتسلسلة</h1>
<h2>الصف Queue(الرتل):</h2>
<p class="MsoNormal" style="text-align:right;"><span style="font-family:&amp;" lang="AR-SY">هذا الصف هو أحد صفوف فضاء الأسماء </span>System.Collections<span style="font-family:&amp;" lang="AR-SY"> يعتمد هذا الصف على القاعدة </span>(FIFO: First In First Out)<span style="font-family:&amp;" lang="AR-SY"> أي ما يدخل أولا من العناصر يخرج أولا (تماما مثل أي رتل نظامي)، فيقدم هذا الصف آليه سهلة بل سهلة جدا لإدخال العناصر وفق الرتل وإخراجهم من ضمن الرتل، أهم خصائص هذا الصف وإجراءاته تجدهما في الجدولين التالين:</span></p>
<p class="MsoNormal" style="text-align:right;"><span style="font-family:&amp;" lang="AR-SY"><span id="more-202"></span><br />
</span></p>
<table style="text-align:right;" dir="rtl" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="text-align:right;" width="92" valign="top"><strong>اسم الخاصية</strong></td>
<td style="text-align:right;" width="501" valign="top"><strong>الوصف</strong></td>
</tr>
<tr>
<td style="text-align:right;" width="92" valign="top">Count</td>
<td style="text-align:right;" width="501" valign="top">يعطي عدد العناصر الموجودة ضمن الرتل</td>
</tr>
</tbody>
</table>
<p style="text-align:right;">.</p>
<table style="text-align:right;" dir="rtl" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="text-align:right;" width="92" valign="top"><strong>اسم الاجراء</strong></td>
<td style="text-align:right;" width="501" valign="top"><strong>الوصف</strong></td>
</tr>
<tr>
<td style="text-align:right;" width="92" valign="top">Dequeue</td>
<td style="text-align:right;" width="501" valign="top">يعيد أول عنصر موجود في مقدمة الرتل مع حذفه منها في الوقت نفسه.</td>
</tr>
<tr>
<td style="text-align:right;" width="92" valign="top">Enqueue</td>
<td style="text-align:right;" width="501" valign="top">إضافة عنصر إلى نهاية الرتل</td>
</tr>
<tr>
<td style="text-align:right;" width="92" valign="top">Peek</td>
<td style="text-align:right;" width="501" valign="top">يعيد العنصر الموجود في مقدمة الرتل مع عدم حذفه</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="text-align:right;"><span style="font-family:&amp;" lang="AR-SY"> </span></p>
<p class="MsoNormal" style="text-align:right;"><span style="font-family:&amp;" lang="AR-SY">المثال التالي يوضح مدى سهولة استعمال هذا الصف:</span></p>
<p style="text-align:left;" dir="ltr"><span style="color:#008080;">Queue </span>q = new <span style="color:#008080;">Queue</span>();</p>
<p style="text-align:left;" dir="ltr">q.Enqueue(&#8220;An item&#8221;);</p>
<p style="text-align:left;" dir="ltr"><span style="color:#008080;">Console</span>.WriteLine(q.Dequeue());</p>
<p>يسمح لك هذا الصف بإدخل قيم مكررة أو قيم null، وتستطيع أيضا إختبار الرتل لمعرفة أنه قد فرغ أو لا، لاحظ المثال التالي:</p>
<p style="text-align:left;" dir="ltr"><span style="color:#008080;">Queue </span>q = new <span style="color:#008080;">Queue</span>();</p>
<p style="text-align:left;">&nbsp;</p>
<p style="text-align:left;" dir="ltr">q.Enqueue(&#8220;First&#8221;);</p>
<p style="text-align:left;" dir="ltr">q.Enqueue(&#8220;Second&#8221;);</p>
<p style="text-align:left;" dir="ltr">q.Enqueue(&#8220;Third&#8221;);</p>
<p style="text-align:left;" dir="ltr">q.Enqueue(&#8220;Fourth&#8221;);</p>
<p style="text-align:left;">&nbsp;</p>
<p style="text-align:left;" dir="ltr"><span style="color:#0000ff;">while </span>(q.Count &gt; 0)</p>
<p style="text-align:left;" dir="ltr">{</p>
<p style="text-align:left;padding-left:30px;" dir="ltr"><span style="color:#008080;">Console</span>.WriteLine(q.Dequeue());</p>
<p style="text-align:left;" dir="ltr">}</p>
<h2 style="text-align:right;">الصف Stack (المكدس):</h2>
<p>هذا الصف شبيه بسابقة إلا أنه يعتمد على قاعدة (LIFO: last-in, first out)  العنصر الذي دخل آخرا يخرج أولا، فهذا الصف يسمح بتنفيذ العديد من العمليات السهلة على المكدس من دفع إلى قمة المكدس وسحب العناصر أيضا، لاحظ الجداول التالية:</p>
<table style="text-align:left;" dir="rtl" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr style="text-align:right;">
<td width="92" valign="top"><strong>اسم الخاصية</strong></td>
<td style="text-align:right;" width="501" valign="top"><strong>الوصف</strong></td>
</tr>
<tr style="text-align:right;">
<td width="92" valign="top">Count</td>
<td style="text-align:right;" width="501" valign="top">الحصول على عدد العناصر الموجودة في المكدس.</td>
</tr>
</tbody>
</table>
<p style="text-align:right;">.</p>
<table style="text-align:left;" dir="rtl" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="text-align:right;" width="92" valign="top"><strong>اسم الاجراء</strong></td>
<td style="text-align:right;" width="501" valign="top"><strong>الوصف</strong></td>
</tr>
<tr>
<td style="text-align:right;" width="92" valign="top">Pop</td>
<td style="text-align:right;" width="501" valign="top">يعيد العنصر الموجود من قمة المكدس وبنفس الوقت يقوم بحذفه من قمة   المكدس.</td>
</tr>
<tr>
<td style="text-align:right;" width="92" valign="top">Push</td>
<td style="text-align:right;" width="501" valign="top">يقوم بإدخال عنصر إلى قمة المكدس.</td>
</tr>
<tr>
<td style="text-align:right;" width="92" valign="top">Peek</td>
<td style="text-align:right;" width="501" valign="top">يعيد العنصر الموجود في قمة المكدس مع عدم حذفه.</td>
</tr>
</tbody>
</table>
<p style="text-align:right;">المثال التالي يبين سهولة التعامل مع المكدس:</p>
<p style="text-align:left;" dir="ltr"><span style="color:#008080;">Stack </span>s = new <span style="color:#008080;">Stack</span>();</p>
<p style="text-align:left;" dir="ltr">s.Push(&#8220;An item&#8221;);</p>
<p style="text-align:left;" dir="ltr"><span style="color:#008080;">Console</span>.WriteLine(s.Pop());</p>
<p style="text-align:right;">لاحظ أيضا هذا المثال:</p>
<p style="text-align:left;" dir="ltr"><span style="color:#008080;">Stack </span>s = new <span style="color:#008080;">Stack</span>();</p>
<p style="text-align:left;" dir="ltr">s.Push(&#8220;First&#8221;);</p>
<p style="text-align:left;" dir="ltr">s.Push(&#8220;Second&#8221;);</p>
<p style="text-align:left;" dir="ltr">s.Push(&#8220;Third&#8221;);</p>
<p style="text-align:left;" dir="ltr">s.Push(&#8220;Fourth&#8221;);</p>
<p style="text-align:left;" dir="ltr"><span style="color:#0000ff;">while </span>(s.Count &gt; 0)</p>
<p style="text-align:left;" dir="ltr">{</p>
<p style="text-align:left;padding-left:30px;" dir="ltr"><span style="color:#008080;">Console</span>.WriteLine(s.Pop());</p>
<p style="text-align:left;" dir="ltr">}</p>
<p style="text-align:right;">سينتج مايلي:</p>
<p style="text-align:left;background-color:#e6e6e6;">Fourth<br />
Third<br />
Second<br />
First</p>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:2px;width:1px;height:1px;overflow:hidden;text-align:left;">
<p>&lt;!&#8211;[if gte mso 9]&gt;     &lt;![endif]&#8211;&gt;&lt;!&#8211;[if gte mso 9]&gt;  Normal 0     false false false  EN-US X-NONE AR-SA                         &lt;![endif]&#8211;&gt;&lt;!&#8211;[if gte mso 9]&gt;                                                                                                                                            &lt;![endif]&#8211;&gt;<!--  /* Font Definitions */  @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-520092929 1073786111 9 0 415 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0in; 	margin-right:0in; 	margin-bottom:10.0pt; 	margin-left:0in; 	text-align:right; 	line-height:115%; 	mso-pagination:widow-orphan; 	direction:rtl; 	unicode-bidi:embed; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:Arial; 	mso-bidi-theme-font:minor-bidi;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:Arial; 	mso-bidi-theme-font:minor-bidi;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page WordSection1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.WordSection1 	{page:WordSection1;} --><!--[if gte mso 10]&gt; &lt;!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:&quot;Table Normal&quot;; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-parent:&quot;&quot;; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin-top:0in; 	mso-para-margin-right:0in; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0in; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:Arial; 	mso-bidi-theme-font:minor-bidi;} table.MsoTableGrid 	{mso-style-name:&quot;Table Grid&quot;; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-priority:59; 	mso-style-unhide:no; 	border:solid black 1.0pt; 	mso-border-themecolor:text1; 	mso-border-alt:solid black .5pt; 	mso-border-themecolor:text1; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-border-insideh:.5pt solid black; 	mso-border-insideh-themecolor:text1; 	mso-border-insidev:.5pt solid black; 	mso-border-insidev-themecolor:text1; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:Arial; 	mso-bidi-theme-font:minor-bidi;} --> &lt;!&#8211;[endif]&#8211;&gt;</p>
<div>
<table class="MsoTableGrid" style="border-collapse:collapse;" dir="rtl" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="width:76.25pt;border:1pt solid black;padding:0 5.4pt;" width="102" valign="top">
<p class="MsoNormal" style="margin-bottom:.0001pt;line-height:normal;"><span style="font-family:&amp;" lang="AR-SY">اسم الاجراء</span></p>
</td>
<td style="width:368.55pt;padding:0 5.4pt;" width="491" valign="top">
<p class="MsoNormal" style="margin-bottom:.0001pt;line-height:normal;"><span style="font-family:&amp;" lang="AR-SY">الوصف</span></p>
</td>
</tr>
<tr>
<td style="width:76.25pt;padding:0 5.4pt;" width="102" valign="top">
<p class="MsoNormal" style="margin-bottom:.0001pt;line-height:normal;">Dequeue</p>
</td>
<td style="width:368.55pt;padding:0 5.4pt;" width="491" valign="top">
<p class="MsoNormal" style="margin-bottom:.0001pt;line-height:normal;"><span style="font-family:&amp;" lang="AR-SY">يعيد أول عنصر موجود في مقدمة الرتل مع حذفه منها في الوقت نفسه.</span></p>
</td>
</tr>
<tr>
<td style="width:76.25pt;padding:0 5.4pt;" width="102" valign="top">
<p class="MsoNormal" style="margin-bottom:.0001pt;line-height:normal;">Enqueue</p>
</td>
<td style="width:368.55pt;padding:0 5.4pt;" width="491" valign="top">
<p class="MsoNormal" style="margin-bottom:.0001pt;line-height:normal;"><span style="font-family:&amp;" lang="AR-SY">إضافة عنصر إلى نهاية الرتل.</span></p>
</td>
</tr>
<tr>
<td style="width:76.25pt;padding:0 5.4pt;" width="102" valign="top">
<p class="MsoNormal" style="margin-bottom:.0001pt;line-height:normal;">Peek</p>
</td>
<td style="width:368.55pt;padding:0 5.4pt;" width="491" valign="top">
<p class="MsoNormal" style="margin-bottom:.0001pt;line-height:normal;"><span style="font-family:&amp;" lang="AR-SY">يعيد العنصر الموجود في مقدمة الرتل مع عدم حذفه.</span></p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>لا تنسونا من دعائكم,,</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kanaan85.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kanaan85.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kanaan85.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kanaan85.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kanaan85.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kanaan85.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kanaan85.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kanaan85.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kanaan85.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kanaan85.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kanaan85.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kanaan85.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kanaan85.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kanaan85.wordpress.com/202/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kanaan85.wordpress.com&amp;blog=2943185&amp;post=202&amp;subd=kanaan85&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kanaan85.wordpress.com/2010/10/09/stack-queue/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fc9fb0a128c9a23601091f1e32f664ec?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">كنعان</media:title>
		</media:content>
	</item>
		<item>
		<title>الصف ArrayList</title>
		<link>http://kanaan85.wordpress.com/2010/09/03/arraylist-class/</link>
		<comments>http://kanaan85.wordpress.com/2010/09/03/arraylist-class/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 07:39:53 +0000</pubDate>
		<dc:creator>عبد الكريم كنعان</dc:creator>
				<category><![CDATA[عام]]></category>
		<category><![CDATA[ArrayList]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Collections]]></category>

		<guid isPermaLink="false">http://kanaan85.wordpress.com/?p=187</guid>
		<description><![CDATA[يوجد العديد من الصفوف التي تمكننا من التعامل مع البيانات، هذه الصفوف موجودة في فضاء الأسماء System.Collections منها: ArrayList، SortedList، Queue، Stack، Hashtable، BitArray، StringCollection، StringDictionary، ListDictionary، HybridDictionary، NameValueCollection. إضافة وحذف عناصر: الصف ArrayList: تسمح لنا بتخزين أي كائنات نشاء حيث يقبل الاجراء Add كائن (Object) الكود التالي يوضح كيفية إضافة عناصر إليها: using System.Collections; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kanaan85.wordpress.com&amp;blog=2943185&amp;post=187&amp;subd=kanaan85&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal"><span style="font-family:&amp;" lang="AR-SY">يوجد العديد من الصفوف التي تمكننا من التعامل مع البيانات، هذه الصفوف موجودة في فضاء الأسماء </span>System.Collections<span style="font-family:&amp;" lang="AR-SY"> منها: </span><a href="http://kanaan85.files.wordpress.com/2010/08/dotnet-tech.jpg"><img class="size-full wp-image-198  alignleft" title="dotnet-tech" src="http://kanaan85.files.wordpress.com/2010/08/dotnet-tech.jpg?w=550" alt=""   /></a>ArrayList<span style="font-family:&amp;" lang="AR-SY">، </span>SortedList<span style="font-family:&amp;" lang="AR-SY">، </span>Queue<span style="font-family:&amp;" lang="AR-SY">، </span>Stack<span style="font-family:&amp;" lang="AR-SY">، </span>Hashtable<span style="font-family:&amp;" lang="AR-SY">، </span>BitArray<span style="font-family:&amp;" lang="AR-SY">، </span>StringCollection<span style="font-family:&amp;" lang="AR-SY">، </span>StringDictionary<span style="font-family:&amp;" lang="AR-SY">، </span>ListDictionary<span style="font-family:&amp;" lang="AR-SY">، </span>HybridDictionary<span style="font-family:&amp;" lang="AR-SY">، </span>NameValueCollection<span style="font-family:&amp;" lang="AR-SY">.</span></p>
<p class="MsoNormal"><span style="font-family:&amp;" lang="AR-SY">إضافة وحذف عناصر:<br />
الصف </span>ArrayList<span style="font-family:&amp;" lang="AR-SY">: تسمح لنا بتخزين أي كائنات نشاء حيث يقبل الاجراء </span>Add<span style="font-family:&amp;" lang="AR-SY"> كائن (</span>Object<span style="font-family:&amp;" lang="AR-SY">) الكود التالي يوضح كيفية إضافة عناصر إليها:</span></p>
<p class="MsoNormal"><span style="font-family:&amp;" lang="AR-SY"><br />
</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="color:#0000ff;"><span style="font-size:10pt;">using</span></span><span style="font-size:10pt;font-family:&amp;"><span style="color:#0000ff;"> </span>System.Collections;</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="color:#008080;"><span style="font-size:10pt;">ArrayList</span></span><span style="font-size:10pt;font-family:&amp;"><span style="color:#008080;"> </span>coll = <span style="color:blue;">new</span> <span style="color:teal;">ArrayList</span>();</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;font-family:&amp;"> </span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="color:#339966;"><span style="font-size:10pt;">// Add individual items to the collection</span></span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="color:#0000ff;"><span style="font-size:10pt;">string</span></span><span style="font-size:10pt;font-family:&amp;"><span style="color:#0000ff;"> </span>s = <span style="color:maroon;">&#8220;Hello&#8221;</span>;</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;font-family:&amp;">coll.Add(s);</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;font-family:&amp;">coll.Add(<span style="color:maroon;">&#8220;hi&#8221;</span>);</span><span style="font-size:10pt;font-family:&amp;" lang="EN-GB"> </span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;font-family:&amp;">coll.Add(50);</span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;line-height:115%;font-family:&amp;">coll.Add(<span style="color:blue;">new</span> <span style="color:blue;">object</span>());</span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;line-height:115%;font-family:&amp;"><span id="more-187"></span><br />
</span></p>
<p class="MsoNormal"><span style="font-family:&amp;" lang="AR-SY">كما يحوي الصف </span>ArrayList<span style="font-family:&amp;" lang="AR-SY"> على الاجراء </span>AddRange<span style="font-family:&amp;" lang="AR-SY"> الذي يمكنه أن يقبل مجموعة من العناصر أو أي كائن بشرط أنه يدعم الواجهة (</span>Interface<span style="font-family:&amp;" lang="AR-SY">) </span>ICollection<span style="font-family:&amp;" lang="AR-SY"> مثل (جميع أنواع المصفوفات، </span>ArrayList<span style="font-family:&amp;" lang="AR-SY">)، المثال التالي يوضح ذلك:</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="color:#0000ff;"><span style="font-size:10pt;">string</span></span><span style="font-size:10pt;font-family:&amp;">[] anArray =</span><span style="font-size:10pt;font-family:&amp;"><span style="color:blue;"> new</span> <span style="color:blue;">string</span>[] { <span style="color:maroon;">&#8220;more&#8221;</span>, <span style="color:maroon;">&#8220;or&#8221;</span>, <span style="color:maroon;">&#8220;less&#8221;</span> };</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;font-family:&amp;">coll.AddRange(anArray);</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;font-family:&amp;"> </span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="color:#0000ff;"><span style="font-size:10pt;">object</span></span><span style="font-size:10pt;font-family:&amp;">[] anotherArray =<span style="color:blue;"> new</span> <span style="color:blue;">object</span>[] { <span style="color:blue;">new</span> <span style="color:blue;">object</span>(), <span style="color:blue;">new</span> <span style="color:teal;">ArrayList</span>() };</span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;line-height:115%;font-family:&amp;">coll.AddRange(anotherArray);</span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;line-height:115%;font-family:&amp;"><br />
</span></p>
<p class="MsoNormal"><span style="font-family:&amp;" lang="AR-SY">يعتبر الصف </span>ArrayList<span style="font-family:&amp;" lang="AR-SY"> من المجموعات الديناميكية، لذلك إن استخدام الاجرائين </span>Add<span style="font-family:&amp;" lang="AR-SY"> و </span>AddRange<span style="font-family:&amp;" lang="AR-SY"> يؤدي إلى إضافة العناصر إلى آخر المجموعة، كما أن هذا الصف يحوي على الاجراء </span>Insert<span style="font-family:&amp;" lang="AR-SY"> الذي يسمح بإدخال العنصر في موقع محدد، الكود التالي يوضح ذلك:</span></p>
<p class="MsoNormal"><span style="font-family:&amp;" lang="AR-SY"><br />
</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;font-family:&amp;">coll.Insert(3, <span style="color:maroon;">&#8220;Hey all&#8221;</span>);</span><span style="font-size:10pt;font-family:&amp;" lang="EN-GB"> </span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="color:#0000ff;"><span style="font-size:10pt;">string</span></span><span style="font-size:10pt;font-family:&amp;">[] moreStrings =</span><span style="font-size:10pt;font-family:&amp;"><span style="color:blue;"> new</span> <span style="color:blue;">string</span>[] { <span style="color:maroon;">&#8220;goodnight&#8221;</span>, <span style="color:maroon;">&#8220;see ya&#8221;</span> };</span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;line-height:115%;font-family:&amp;">coll.Insert(4, moreStrings);</span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;line-height:115%;font-family:&amp;"><br />
</span></p>
<p class="MsoNormal"><span style="font-family:&amp;" lang="AR-SY">كما يمكنك أيضا تحديد العنصر الذي تريد من خلال رقم الفهرسة (الدليل)  له على سبيل المثال:</span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;line-height:115%;font-family:&amp;">coll[3] = <span style="color:maroon;">&#8220;Hey All&#8221;</span>;</span></p>
<p class="MsoNormal"><span style="font-family:&amp;" lang="AR-SY">كما يوجد ثلاث توابع من أجل عملية الحذف وهم: </span>Remove<span style="font-family:&amp;" lang="AR-SY">، </span>RemoveAt<span style="font-family:&amp;" lang="AR-SY">، </span>RemoveRange<span style="font-family:&amp;" lang="AR-SY"> </span></p>
<p class="MsoNormal"><span style="font-family:&amp;" lang="AR-SY">التابع </span>Remove<span style="font-family:&amp;" lang="AR-SY"> يقوم بحذف كائن محدد من المجمع ولا يظهر أي شيء يدل على أن عملية الحذف قد تمت، أم أنه في الاصل لم يجد هذا الكائن الذي طلبت حذفه، الكود التالي يوضح استخدام التابع </span>Remove<span style="font-family:&amp;" lang="AR-SY">:</span></p>
<p class="MsoNormal"><span style="font-family:&amp;" lang="AR-SY"><br />
</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;font-family:&amp;">coll.Add(<span style="color:maroon;">&#8220;Hello&#8221;</span>);</span><span style="font-size:10pt;font-family:&amp;" lang="EN-GB"> </span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;line-height:115%;font-family:&amp;">coll.Remove(<span style="color:maroon;">&#8220;Hello&#8221;</span>);</span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;line-height:115%;font-family:&amp;"><br />
</span></p>
<p class="MsoNormal"><span style="font-family:&amp;" lang="AR-SY">أما التابع </span>RemoveAt<span style="font-family:&amp;" lang="AR-SY"> يقوم بحذف عنصر محدد وذلك بتحديد رقم فهرسته (دليله)، أما التابع </span>RemoveRange<span style="font-family:&amp;" lang="AR-SY"> يقوم بعملية الحذف لمجموع من الفهارس (الأدلة)، الكود التالي يوضح كيفية استخدام التابعين:</span></p>
<p class="MsoNormal"><span style="font-family:&amp;" lang="AR-SY"><br />
</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="color:#339966;"><span style="font-size:10pt;">// Remove first four item in ArrayList</span></span><span style="font-size:10pt;font-family:&amp;" lang="EN-GB"> </span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;font-family:&amp;">coll.RemoveAt(0);</span><span style="font-size:10pt;font-family:&amp;" lang="EN-GB"> </span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="color:#339966;"><span style="font-size:10pt;">// Removes first four items in array list</span></span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;line-height:115%;font-family:&amp;">coll.RemoveRange(0, 4);</span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;line-height:115%;font-family:&amp;"><br />
</span></p>
<p class="MsoNormal"><span style="font-family:&amp;" lang="AR-SY">كما يحوي الصف </span>ArrayList<span style="font-family:&amp;" lang="AR-SY"> على توابع أخرى مفيدة مثل التابع </span>Clear<span style="font-family:&amp;" lang="AR-SY"> الذي يقوم بإفراغ المجمع من كافة العناصر التي يحويها.<br />
والتابع </span>IndexOf<span style="font-family:&amp;" lang="AR-SY"> فهو مفيد من أجل معرفة رقم دليل (الفهرسة) لكائن ما، طبعا إن كان موجودا وفي حال أن الكائن لم يكن موجودا فإن التابع سيعيد القيمة </span>-1<span style="font-family:&amp;" lang="AR-SY">.<br />
التايع </span>Contain<span style="font-family:&amp;" lang="AR-SY"> من اسمه يدل على أنه تابع يستخدم من أجل التحقق من وجود كائن ما ضمن المجمع، الكود التالي يوضح كيفية استخدام هذه التوابع:</span></p>
<p class="MsoNormal"><span style="font-family:&amp;" lang="AR-SY"><br />
</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="color:#0000ff;"><span style="font-size:10pt;">string</span></span><span style="font-size:10pt;font-family:&amp;"><span style="color:#0000ff;"> </span>myString = <span style="color:maroon;">&#8220;My String&#8221;</span>;</span><span style="font-size:10pt;font-family:&amp;" lang="EN-GB"> </span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="color:#0000ff;"><span style="font-size:10pt;">if</span></span><span style="font-size:10pt;font-family:&amp;"><span style="color:#0000ff;"> </span>(coll.Contains(myString))</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;font-family:&amp;">{</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;padding-left:30px;"><span style="font-size:10pt;font-family:&amp;"> <span style="color:blue;">int</span> index = coll.IndexOf(myString);</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;padding-left:30px;"><span style="font-size:10pt;font-family:&amp;"> coll.RemoveAt(index);</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;font-family:&amp;">}</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="color:#0000ff;"><span style="font-size:10pt;">else</span></span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;font-family:&amp;">{</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;padding-left:30px;"><span style="font-size:10pt;font-family:&amp;"> coll.Clear();</span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;line-height:115%;font-family:&amp;">}</span></p>
<p class="MsoNormal"><span style="font-family:&amp;" lang="AR-SY">كيفية استرجاع القيم المخزنة داخل المجمع:<br />
يمكن استخدام الدليل لتحديد الكائن المراد ضمن المجمع كما في المثال التالي:</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="color:#0000ff;"><span style="font-size:10pt;">for</span></span><span style="font-size:10pt;font-family:&amp;"><span style="color:#0000ff;"> </span>(<span style="color:blue;">int</span> i = 0; i &lt; coll.Count; i++)</span><span style="font-size:10pt;font-family:&amp;" lang="EN-GB"> </span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;font-family:&amp;">{</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;padding-left:30px;"><span style="font-size:10pt;font-family:&amp;"> <span style="color:teal;">Console</span>.WriteLine(coll[i]);</span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;line-height:115%;font-family:&amp;">}</span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;line-height:115%;font-family:&amp;"><br />
</span></p>
<p class="MsoNormal"><span style="font-family:&amp;" lang="AR-SY">كما يمكن استخدام الواجهة </span>IEnumerable<span style="font-family:&amp;" lang="AR-SY"> وذلك من خلال التابع </span>GetEnumerable<span style="font-family:&amp;" lang="AR-SY"> حيث يعيد كائن من نوع الواجهة </span>IEnumerable<span style="font-family:&amp;" lang="AR-SY"> الذي يسمح لك بسهوله التنقل بين الكائنات المخزنة ضمن المجمع.</span></p>
<p>الجدول التالي يبين خصائص الواجهة IEnumerable:</p>
<table dir="rtl" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="98" valign="top">Current</td>
<td width="495" valign="top">(للقراءة) يعطي الكائن الحالي في المجمع.</td>
</tr>
</tbody>
</table>
<p>الجدول التالي يوضح أهم الاجراءات الموجودة ضمن الواجهة IEnumerable:</p>
<table dir="rtl" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="98" valign="top">MoveNext</td>
<td width="495" valign="top">يقوم هذا التابع بالانتقال إلى الكائن التالي ضمن المجمع، ويحدد بنفس   الوقت من خلال القيمة المنطقية التي يعيدها فيما إذا كان قد وصل إلى نهاية   المجمع.</td>
</tr>
<tr>
<td width="98" valign="top">Reset</td>
<td width="495" valign="top">هذا الاجراء يقوم بالانتقال إلى ما فبل الكائن الأول الموجود ضمن المجمع   لكي يتيح للتابع MoveNext الوقوف على الكائن الأول ضمن   المجمع.</td>
</tr>
</tbody>
</table>
<p>المثال التالي يوضح كيفية الاستفادة من الواجهة IEnumerable:</p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="color:#008080;"><span style="font-size:10pt;">IEnumerator</span></span><span style="font-size:10pt;font-family:&amp;"><span style="color:#008080;"> </span>enumerator = coll.GetEnumerator();</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="color:#0000ff;"><span style="font-size:10pt;">while</span></span><span style="font-size:10pt;font-family:&amp;"><span style="color:#0000ff;"> </span>(enumerator.MoveNext())</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;font-family:&amp;">{</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;padding-left:30px;"><span style="font-size:10pt;font-family:&amp;"> <span style="color:teal;">Console</span>.WriteLine(enumerator.Current);</span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;line-height:115%;font-family:&amp;">}</span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;line-height:115%;font-family:&amp;"><br />
</span></p>
<p>كما يمكن استخدام الحلقة foreach (<strong>مع جميع الصفوف التي تدعم الواجهة </strong><strong>IEnumerable</strong>) التي تقدم ميزة هامة والتي هي إذا كنا نعلم نوع جميع الكائنات المخزنة في المجمع فإن استخدام الحلقة foreach سوف يوفر علينا عملية التحويل من object إلى نوع العناصر، المثال التالي يوضح ذلك:</p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="color:#008080;"><span style="font-size:10pt;">ArrayList</span></span><span style="font-size:10pt;font-family:&amp;"><span style="color:#008080;"> </span>newColl = <span style="color:blue;">new</span> <span style="color:teal;">ArrayList</span>();</span><span style="font-size:10pt;font-family:&amp;" lang="EN-GB"> </span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;font-family:&amp;">newColl.Add(<span style="color:maroon;">&#8220;Hello&#8221;</span>);</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;font-family:&amp;">newColl.Add(<span style="color:maroon;">&#8220;Goodbye&#8221;</span>);</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;font-family:&amp;"> </span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="color:#0000ff;"><span style="font-size:10pt;">foreach</span></span><span style="font-size:10pt;font-family:&amp;"><span style="color:#0000ff;"> </span>(<span style="color:blue;">string</span> item <span style="color:blue;">in</span> newColl)</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;font-family:&amp;">{</span><span style="font-size:10pt;font-family:&amp;" lang="EN-GB"> </span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;padding-left:30px;"><span style="font-size:10pt;font-family:&amp;"> <span style="color:teal;">Console</span>.WriteLine(item);</span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;line-height:115%;font-family:&amp;">}</span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;line-height:115%;font-family:&amp;"><br />
</span></p>
<p class="MsoNormal"><span style="font-family:&amp;" lang="AR-SY">كما يمكن استخدام الواجهة </span>IList<span style="font-family:&amp;" lang="AR-SY">، </span>ICollection<span style="font-family:&amp;" lang="AR-SY"> توضح فيما يلي كيفية استخدام الواجهة </span>IList<span style="font-family:&amp;" lang="AR-SY">:</span></p>
<p class="MsoNormal"><span style="font-family:&amp;" lang="AR-SY"><br />
</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="color:#008080;"><span style="font-size:10pt;">IList</span></span><span style="font-size:10pt;font-family:&amp;"><span style="color:#008080;"> </span>il = newColl;</span><span style="font-size:10pt;font-family:&amp;" lang="EN-GB"> </span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="color:#0000ff;"><span style="font-size:10pt;">for</span></span><span style="font-size:10pt;font-family:&amp;"><span style="color:#0000ff;"> </span>(<span style="color:blue;">int</span> i = 0; i &lt; il.Count; i++)</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;font-family:&amp;">{</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;padding-left:30px;"><span style="font-size:10pt;font-family:&amp;"> <span style="color:teal;">Console</span>.WriteLine(il[i]);</span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;line-height:115%;font-family:&amp;">}</span></p>
<p class="MsoNormal"><span style="font-family:&amp;" lang="AR-SY">ترتيب العناصر:</span></p>
<p><span style="font-family:&amp;" lang="AR-SY">يحتوي الصف </span>ArrayList<span style="font-family:&amp;" lang="AR-SY"> على التابع </span>Sort<span style="font-family:&amp;" lang="AR-SY"> الذي يقوم بعملية ترتيب العناصر المخزنة داخل المجمع، يعتمد التابع </span>Sort<span style="font-family:&amp;" lang="AR-SY"> في عمله على الصف </span>Comparer<span style="font-family:&amp;" lang="AR-SY"> هذا الصف الذي بدوره يدعم الواجهة </span>IComparer<span style="font-family:&amp;" lang="AR-SY">، هذه الواجهة تحوي تابع واحد فقط وهو </span>Compare<span style="font-family:&amp;" lang="AR-SY"> الذي </span>يأخذ كائنين ويقارن بينهما الجدول التالي يوضح نتائج المقارنة:</p>
<table dir="rtl" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="117" valign="top">الناتج أقل من الصفر</td>
<td width="476" valign="top">يعني أن الكائن الذي على اليسار أقل من الكائن الذي على اليمين.</td>
</tr>
<tr>
<td width="117" valign="top">صفر</td>
<td width="476" valign="top">الكائنين متساويين.</td>
</tr>
<tr>
<td width="117" valign="top">أكبر من الصفر</td>
<td width="476" valign="top">الكائن الذي على اليسار أكبر من الكائن الذي على اليمين.</td>
</tr>
</tbody>
</table>
<p>يمكنك القيام بعملية ترتيب عناصر المجموعة بتنفيذ التعليمة التالية:</p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;line-height:115%;font-family:&amp;">coll.Sort();</span></p>
<p class="MsoNormal"><span style="font-family:&amp;" lang="AR-SY">كما يسمح لك التابع </span>Sort<span style="font-family:&amp;" lang="EN-GB"> </span><span style="font-family:&amp;" lang="AR-SY">بتخصيص الكائن الذي سيقوم بالترتيب، فبدلا من استخدام الصف </span>Comparer<span style="font-family:&amp;" lang="AR-SY"> سنستخدم الصف </span>CaseInsensitiveComparer<span style="font-family:&amp;" lang="AR-SY"> كما في المثال التالي:</span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;line-height:115%;font-family:&amp;">coll.Sort(<span style="color:blue;">new</span> <span style="color:teal;">CaseInsensitiveComparer</span>());</span></p>
<p class="MsoNormal"><span style="font-family:&amp;" lang="AR-SY">كما بإمكانك أنت أن تعرف عملية المقارنة وذلك بإنشاء صفك الخاص وتوريثه من الواجهة </span>IComprarer<span style="font-family:&amp;" lang="AR-SY"> كما في المثال التالي:</span></p>
<p class="MsoNormal"><span style="font-family:&amp;" lang="AR-SY"><br />
</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="color:#0000ff;"><span style="font-size:10pt;">class</span></span><span style="font-size:10pt;font-family:&amp;"><span style="color:#0000ff;"> </span><span style="color:teal;">DescendingComparer</span> : <span style="color:teal;">IComparer</span></span><span style="font-size:10pt;font-family:&amp;" lang="EN-GB"> </span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;font-family:&amp;">{</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;padding-left:30px;"><span style="font-size:10pt;font-family:&amp;"> <span style="color:#0000ff;">#region</span></span><span style="font-size:10pt;font-family:&amp;"> IComparer Members</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;font-family:&amp;"> </span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;padding-left:30px;"><span style="font-size:10pt;font-family:&amp;"> <span style="color:teal;">CaseInsensitiveComparer</span> _comparer = <span style="color:blue;">new</span> <span style="color:teal;">CaseInsensitiveComparer</span>();</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;padding-left:30px;"><span style="font-size:10pt;font-family:&amp;"> </span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;padding-left:30px;"><span style="font-size:10pt;font-family:&amp;"> <span style="color:blue;">public</span> <span style="color:blue;">int</span> Compare(<span style="color:blue;">object</span> x, <span style="color:blue;">object</span> y)</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;padding-left:30px;"><span style="font-size:10pt;font-family:&amp;"> {</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;padding-left:60px;"><span style="font-size:10pt;font-family:&amp;"> <span style="color:blue;">return</span> _comparer.Compare(y, x);</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;padding-left:30px;"><span style="font-size:10pt;font-family:&amp;"> }</span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;padding-left:30px;"><span style="font-size:10pt;font-family:&amp;"> </span></p>
<p class="MsoNormal" style="margin-bottom:.0001pt;text-align:left;line-height:normal;direction:ltr;unicode-bidi:embed;padding-left:30px;"><span style="font-size:10pt;font-family:&amp;"> <span style="color:#0000ff;">#endregion</span></span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;line-height:115%;font-family:&amp;">}</span></p>
<p class="MsoNormal"><span style="font-family:&amp;" lang="AR-SY">الآن نقوم بعملية الترتيب باستخدام الصف الجديد المنشأ كما يلي:</span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;"><span style="font-size:10pt;line-height:115%;font-family:&amp;">coll.Sort(<span style="color:blue;">new</span> <span style="color:teal;">DescendingComparer</span>());</span></p>
<p><span style="color:#008000;"><span style="font-size:11pt;line-height:115%;" lang="AR-SY">لا تنسونا من دعائكم</span></span></p>
<p><span style="font-size:11pt;line-height:115%;font-family:&amp;" lang="AR-SY"><br />
</span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed;">
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kanaan85.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kanaan85.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kanaan85.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kanaan85.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kanaan85.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kanaan85.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kanaan85.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kanaan85.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kanaan85.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kanaan85.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kanaan85.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kanaan85.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kanaan85.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kanaan85.wordpress.com/187/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kanaan85.wordpress.com&amp;blog=2943185&amp;post=187&amp;subd=kanaan85&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kanaan85.wordpress.com/2010/09/03/arraylist-class/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fc9fb0a128c9a23601091f1e32f664ec?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">كنعان</media:title>
		</media:content>

		<media:content url="http://kanaan85.files.wordpress.com/2010/08/dotnet-tech.jpg" medium="image">
			<media:title type="html">dotnet-tech</media:title>
		</media:content>
	</item>
		<item>
		<title>عرض برنامج &#8220;العمليات على المصفوفات&#8221;  &#8220;Operation On Array&#8221; في حلقة تطوير!</title>
		<link>http://kanaan85.wordpress.com/2010/04/08/update-operations-on-array/</link>
		<comments>http://kanaan85.wordpress.com/2010/04/08/update-operations-on-array/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 18:09:22 +0000</pubDate>
		<dc:creator>عبد الكريم كنعان</dc:creator>
				<category><![CDATA[عام]]></category>

		<guid isPermaLink="false">http://kanaan85.wordpress.com/?p=168</guid>
		<description><![CDATA[السلام عليكم ورحمة الله وبركاته في الحقيقة كنت قد فكرت سابقا بأن يكون البرنامج شبه مفتوح المصدر, حيث إن كان أحد الأشخاص مهتماً في ترقية البرنامج. فلكل من يتطلع إلى ذلك, له ذلك. البرنامج: http://kanaan85.wordpress.com/2008/10/16/operations-on-array/ في الحقيقة أن البرنامج قد تم تطويره باستخدام VB6. على كل لا أمانع من أن يتم تطويره في نفس اللفة, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kanaan85.wordpress.com&amp;blog=2943185&amp;post=168&amp;subd=kanaan85&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>السلام عليكم ورحمة الله وبركاته</h2>
<p><img class="size-full wp-image-170 alignleft" title="Update Operation On Array" src="http://kanaan85.files.wordpress.com/2010/04/update-operation-on-array.png?w=550" alt=""   /></p>
<p><img class="size-full wp-image-169 alignleft" title="Blue+Circle+Arrow" src="http://kanaan85.files.wordpress.com/2010/04/bluecirclearrow.jpg?w=550" alt=""   /></p>
<p>في الحقيقة كنت قد فكرت سابقا بأن يكون البرنامج شبه مفتوح المصدر, حيث إن كان أحد الأشخاص مهتماً في ترقية البرنامج. فلكل من يتطلع إلى ذلك, له ذلك.</p>
<p>البرنامج: <a href="http://kanaan85.wordpress.com/2008/10/16/operations-on-array/">http://kanaan85.wordpress.com/2008/10/16/operations-on-array/</a></p>
<p>في الحقيقة أن البرنامج قد تم تطويره باستخدام VB6. على كل لا أمانع من أن يتم تطويره في نفس اللفة, او إستخدام أحد لغات .NET</p>
<p>على كل من يود الحصول على السورس الكود من أجل عملية تطوير البرنامج ان  يحقق الشروط التالية:</p>
<p><span id="more-168"></span></p>
<p>1. ان يكون هدقه من البرنامج التطوير, وليس من اجل حل وظيفة أو شيء آخر  حيث انه يوجد ملف PDF يشرح التقينة التي يعتمدها البرنامج. وبذلك بعونه  تعالى سوف نحصل على نسخ مطورة من البرنامج.<br />
2. إرسال تقرير عن التحديثات التي سيتم اضافتها على البرنامج.<br />
3. إعلامي بشكل دوري بكل جديد.<br />
4. لا يحق لأي شخص بيع البرنامج حتى وإن كان قد طوره بنفسه.<br />
5. النسخة الحديثة من البرنامج سوف يتم رفعها هنا على الموقع. طبعا مع ذكر  الاشخاص الذين قامو بتطوير النسخة.<br />
6. يعتبر الشخص المتقدم موافق على الشروط السابقة وبالاضافة لاي تعديلات  ممكن أن تطرأ مستقبلا.<br />
7. يحق رفض أي طلب.</p>
<p>أرجوا موافاتي بأيه ملاحظات أخرى.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kanaan85.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kanaan85.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kanaan85.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kanaan85.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kanaan85.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kanaan85.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kanaan85.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kanaan85.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kanaan85.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kanaan85.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kanaan85.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kanaan85.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kanaan85.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kanaan85.wordpress.com/168/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kanaan85.wordpress.com&amp;blog=2943185&amp;post=168&amp;subd=kanaan85&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kanaan85.wordpress.com/2010/04/08/update-operations-on-array/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fc9fb0a128c9a23601091f1e32f664ec?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">كنعان</media:title>
		</media:content>

		<media:content url="http://kanaan85.files.wordpress.com/2010/04/update-operation-on-array.png" medium="image">
			<media:title type="html">Update Operation On Array</media:title>
		</media:content>

		<media:content url="http://kanaan85.files.wordpress.com/2010/04/bluecirclearrow.jpg" medium="image">
			<media:title type="html">Blue+Circle+Arrow</media:title>
		</media:content>
	</item>
		<item>
		<title>استخدام الأداة  .NET Reflector™</title>
		<link>http://kanaan85.wordpress.com/2009/03/02/using-reflector/</link>
		<comments>http://kanaan85.wordpress.com/2009/03/02/using-reflector/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 04:18:31 +0000</pubDate>
		<dc:creator>عبد الكريم كنعان</dc:creator>
				<category><![CDATA[أدوات .NET]]></category>
		<category><![CDATA[.NET Tools]]></category>
		<category><![CDATA[Reflector]]></category>

		<guid isPermaLink="false">http://kanaan85.wordpress.com/?p=144</guid>
		<description><![CDATA[تعتبر أداة Reflector من الأدوات المشهورة والمشهورة جدا، هل تعلم أنه من خلال هذه الاداة سيكون بمقدورك وبمقدور غيرك إمكانية الحصول على كود أي تطبيق أو مكتبة تم بناؤها في .NET، في هذه المقالة سوف نتعرف على كيفة استخدامها وتحميلها<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kanaan85.wordpress.com&amp;blog=2943185&amp;post=144&amp;subd=kanaan85&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"><span style="font-size:small;"><span style="font-family:&quot;" lang="AR-SY">تعتبر أداة </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">Reflector</span></span><span style="font-family:&quot;" lang="AR-SY"> من الأدوات المشهورة والمشهورة جدا، هل تعلم أنه من خلال هذه الاداة سيكون بمقدورك وبمقدور غيرك إمكانية الحصول <img class="size-full wp-image-145      alignleft" title="reflector_large" src="http://kanaan85.files.wordpress.com/2009/03/reflector_large.gif?w=550" alt="reflector_large"   />على كود أي تطبيق أو مكتبة تم بناؤها في </span><span dir="ltr" lang="EN-GB"><span style="font-family:Calibri;">.NET</span></span><span style="font-family:&quot;" lang="AR-SY">، في هذه المقالة سوف نتعرف على كيفة استخدامها وتحميلها.</span></span></p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"><span style="font-size:small;"><span style="font-family:&quot;" lang="AR-SY">دعني أخبرك أنه ربما الآن أنه يدور في ذهنك أن </span><span dir="ltr" lang="EN-GB"><span style="font-family:Calibri;">.NET</span></span><span style="font-family:&quot;" lang="AR-SY"> ضعيفة, كلامك هذا خاطئ, فلكل تقنية محاسن ومساؤئ، يجب أن تعلم أن تقنية </span><span dir="ltr" lang="EN-GB"><span style="font-family:Calibri;">.NET</span></span><span style="font-family:&quot;" lang="AR-SY"> أحدثت ثورة في عالم البرمجيات، ومن إحدى خصائص قوتها أن التطبيق الذي يتم بناؤه في </span><span dir="ltr" lang="EN-GB"><span style="font-family:Calibri;">.NET</span></span><span style="font-family:&quot;" lang="AR-SY"> سيكون قابلا للعمل على أي منصة تشغيل (</span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">Windows, Linux, &#8230;</span></span><span style="font-family:&quot;" lang="AR-SY">)، كيف حصل ذلك؟؟</span></span></p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"> </p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"><span style="font-size:small;"><span style="font-family:&quot;" lang="AR-SY"><span id="more-144"></span></span></span></p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"><span style="font-size:small;"><span style="font-family:&quot;" lang="AR-SY">إن مهمة المترجم التقليدي في لغات البرمجة بشكل عام (مثل: </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">VB6, C++</span></span><span style="font-family:&quot;" lang="AR-SY">) هو تحويل كود لغة البرمجة إلى لغة الالة (</span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">Machine Code</span></span><span style="font-family:&quot;" lang="AR-SY">) أي عبارة عن سلسلة من الواحدات والأصفار، ولكن هذا غير صحيح مع </span><span dir="ltr" lang="EN-GB"><span style="font-family:Calibri;">.NET</span></span><span style="font-family:&quot;" lang="AR-SY"> إذ أن </span><span dir="ltr" lang="EN-GB"><span style="font-family:Calibri;">.NET</span></span><span style="font-family:&quot;" lang="AR-SY"> تقوم بتحويل التطبيقات المكتوبة إلى لغة تدعى </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">MSIL</span></span><span style="font-family:&quot;" lang="AR-SY"> وهي إختصار </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">Microsoft Intermediate Language</span></span><span style="font-family:&quot;" lang="AR-SY">(لغة تشبه </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">Assembly</span></span><span style="font-family:&quot;" lang="AR-SY">)، وعند تنفيذ (</span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">Execute</span></span><span style="font-family:&quot;" lang="AR-SY">) البرنامج تبدأ مرحلة أخرى وهي تحويل </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">MSIL</span></span><span style="font-family:&quot;" lang="AR-SY"> إلى لغة آلة يتناسب مع نظام التشغيل الذي تعمل عليه، فإذا كان النظام </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">Windows</span></span><span style="font-family:&quot;" lang="AR-SY"> فسيتم توليد كود يتوافق مع </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">Windows</span></span><span style="font-family:&quot;" lang="AR-SY">, أما إذا كان النظام </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">Linux</span></span><span style="font-family:&quot;" lang="AR-SY"> فسيتم توليد كود آلة يتوافق مع </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">Linux</span></span><span style="font-family:&quot;" lang="AR-SY">, وهكذا&#8230;</span></span></p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"><span style="font-size:small;"><span style="font-family:&quot;" lang="AR-SY">في الحقيقة إن هذه الخاصية أعطت </span><span dir="ltr" lang="EN-GB"><span style="font-family:Calibri;">.NET</span></span><span style="font-family:&quot;" lang="AR-SY"> ميزة وسيئة في نفس الوقت، الميزة هي استقلالية التطبيق عن نظام التشغيل كما بينا ذلك سابقا، أما السيئة فهي سهولة إرجاع كود </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">MSIL</span></span><span style="font-family:&quot;" lang="AR-SY"> إلى أصله <span> </span></span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">Source Code</span></span><span style="font-family:&quot;" lang="AR-SY">، ويعتبر </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">Reflector</span></span><span style="font-family:&quot;" lang="AR-SY"> أحد هذه الادوات التي تسهل عليك هذه العملية</span><span dir="ltr" lang="EN-GB"><span style="font-family:Calibri;">.</span></span></span></p>
<p> </p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"><span style="font-size:small;"><span style="font-family:&quot;" lang="AR-SY">من خلال هذا الرابط يمكنك الحصول على شرح عن هذه الاداة: </span><span lang="EN-GB"><a href="http://www.red-gate.com/products/reflector/"><span dir="ltr">http://www.red-gate.com/products/reflector</span><span style="font-family:&quot;" lang="AR-SY">/</span></a></span><span style="font-family:&quot;" lang="AR-SY"> ولتحميل هذه الاداة مباشرة: </span><span lang="EN-GB"><a href="http://reflector.red-gate.com/download.aspx"><span dir="ltr"><span style="color:#0000ff;">http://reflector.red-gate.com/download.aspx</span></span></a></span></span></p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"><span style="font-family:&quot;" lang="AR-SY"><span style="font-size:small;">هذه هي صورة الأداة: </span></span></p>
<p style="text-align:center;"><img class="size-full wp-image-145  aligncenter" title="Main Form Of Reflector" src="http://kanaan85.files.wordpress.com/2009/03/reflector1.jpg?w=550" alt="reflector 1"  /></p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"><span style="font-size:small;"><span style="font-family:&quot;" lang="AR-SY">والان من قائمة </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">File</span></span><span style="font-family:&quot;" lang="AR-SY"> ثم الامر </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">Open</span></span><span style="font-family:&quot;" lang="EN-GB"> </span><span style="font-family:&quot;" lang="AR-SY">قم بإضافة أحد برامجك <span> </span>سواء كان </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">exe</span></span><span style="font-family:&quot;" lang="AR-SY"> أو </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">dll</span></span><span style="font-family:&quot;" lang="AR-SY">، لاحظ الصورة التالية: </span></span></p>
<p style="text-align:center;"><img class="size-full wp-image-145  aligncenter" title="reflector 2" src="http://kanaan85.files.wordpress.com/2009/03/reflector2.jpg?w=550" alt="Reflector 2"  /></p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"><span style="font-size:small;"><span style="font-family:&quot;" lang="AR-SY">والان للحصول على الكود </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">Source Code</span></span><span style="font-family:&quot;" lang="AR-SY"> مثلا للصف </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">MyClass</span></span><span style="font-family:&quot;" lang="AR-SY"> في مثالي، قم<span>  </span>بالنقر عليه بزر الفأرة الأيمن لتظهر لك القائمة التالية:</span></span></p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"> </p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"> </p>
<p style="text-align:center;"><img class="size-full wp-image-145  aligncenter" title="reflector_large" src="http://kanaan85.files.wordpress.com/2009/03/reflector3.jpg?w=550" alt="Reflector 3"  /></p>
<p> </p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"><span style="font-size:small;"><span style="font-family:&quot;" lang="AR-SY">وعند إختيار الأمر </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">Disaaemble</span></span><span style="font-family:&quot;" lang="AR-SY"> ستظهر لك نافذة </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">Disassembler</span></span><span style="font-family:&quot;" lang="EN-GB"> </span><span style="font-family:&quot;" lang="AR-SY">المبينة في الشكل السابق وبالضغط على </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">Expand Methods</span></span><span style="font-family:&quot;" lang="AR-SY"> في نافذة </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">Disassembler</span></span><span style="font-family:&quot;" lang="AR-SY"> الموضحة بالرسم التوضيحي السابق، لتكون عزيزي المبرمج قد حصلت على </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">Source Code</span></span><span style="font-family:&quot;" lang="AR-SY"> لبرنامجي !! لاحظ الشكل التالي:</span></span></p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"> </p>
<p style="text-align:center;"><img class="size-full wp-image-145  aligncenter" title="reflector_large" src="http://kanaan85.files.wordpress.com/2009/03/reflector4.jpg?w=550" alt="Reflector 4"  /></p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"><span style="font-size:small;"><span style="font-family:&quot;" lang="AR-SY">ولكن إذا كنت من مبرمجي </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">VB.NET</span></span><span style="font-family:&quot;" lang="AR-SY"> فاعلم أنه بمقدروك الحصول على برنامجي بالغتك المفضلة وذلك من خلال القائمة الموجودة في أعلى البرنامج لاحظ الصورة التالية:</span></span></p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"> </p>
<p style="text-align:center;"><img class="size-full wp-image-145  aligncenter" title="reflector_large" src="http://kanaan85.files.wordpress.com/2009/03/reflector5.jpg?w=550" alt="Reflector 5"  /></p>
<p style="text-align:right;"> </p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"><span style="font-size:small;"><span style="font-family:&quot;" lang="AR-SY">وهناك العديد من اللغات الاخرى ومن أهمها </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">IL</span></span><span style="font-family:&quot;" lang="AR-SY"> هو </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">MSIL</span></span><span style="font-family:&quot;" lang="AR-SY"> التي تكلمنا عنه سابقا، لاحظ الشكل التالي:</span></span></p>
<p style="text-align:center;"><img class="size-full wp-image-145  aligncenter" title="reflector_large" src="http://kanaan85.files.wordpress.com/2009/03/reflector6.jpg?w=550" alt="Reflector 6"  /></p>
<p> </p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"><span style="font-size:small;"><span style="font-family:&quot;" lang="AR-SY">بل أكثر من ذلك إذ يمكنك الحصول على برنامجي </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">MyApplication</span></span><span style="font-family:&quot;" lang="AR-SY"> كاملا كما لو أن </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">Source Code </span></span><span style="font-family:&quot;" lang="AR-SY"><span> </span>هو عندك وذلك بالنقر بزر الفأرة الايمن وإختيار الأمر </span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">Export&#8230;</span></span><span style="font-family:&quot;" lang="AR-SY"> لاحظ الشكل التالي:</span></span></p>
<p style="text-align:center;"><img class="size-full wp-image-145  aligncenter" title="reflector_large" src="http://kanaan85.files.wordpress.com/2009/03/reflector7.jpg?w=550" alt="Reflector 7"  /></p>
<p><img class="size-full wp-image-145  aligncenter" title="reflector_large" src="http://kanaan85.files.wordpress.com/2009/03/reflector8.jpg?w=550" alt="Reflector 8"  /></p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"> </p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"><span style="font-size:small;"><span style="font-family:&quot;" lang="AR-SY">كما يمكنك تحميل العديد من الاضافات للبرنامج </span><span style="font-family:Calibri;"><span dir="ltr">Add-Ins </span></span><span style="font-family:&quot;" lang="AR-SY"><span> </span>من خلال الرابط التالي: </span><span style="font-family:Calibri;"><span dir="ltr">http://www.codeplex.com/reflectoraddins</span></span></span></p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"> </p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"><span style="font-size:small;"><span style="font-family:&quot;" lang="AR-SY">ربما تتسائل ألا من حل لهذه المشكلة سأخبرك أنه يمكنك حل هذه المشكلة وذلك باستخدام أداة أخرى تدعى </span><span dir="ltr"><span style="font-family:Calibri;">{</span></span><span style="font-family:Calibri;"><span dir="ltr" lang="EN-GB">smartassembly</span><span dir="ltr">}</span></span></span></p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"> </p>
<p><span style="font-size:small;"><span style="font-family:&quot;" lang="AR-SY"><span> </span>وهذا إن شاء الله سيكون أحد موضوعاتنا المقبلة</span><span dir="ltr" lang="EN-GB"><span style="font-family:Calibri;">.</span></span></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kanaan85.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kanaan85.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kanaan85.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kanaan85.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kanaan85.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kanaan85.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kanaan85.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kanaan85.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kanaan85.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kanaan85.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kanaan85.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kanaan85.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kanaan85.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kanaan85.wordpress.com/144/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kanaan85.wordpress.com&amp;blog=2943185&amp;post=144&amp;subd=kanaan85&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kanaan85.wordpress.com/2009/03/02/using-reflector/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
<enclosure url="" length="" type="" />
	
		<media:content url="http://1.gravatar.com/avatar/fc9fb0a128c9a23601091f1e32f664ec?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">كنعان</media:title>
		</media:content>

		<media:content url="http://kanaan85.files.wordpress.com/2009/03/reflector_large.gif" medium="image">
			<media:title type="html">reflector_large</media:title>
		</media:content>

		<media:content url="http://kanaan85.files.wordpress.com/2009/03/reflector1.jpg" medium="image">
			<media:title type="html">Main Form Of Reflector</media:title>
		</media:content>

		<media:content url="http://kanaan85.files.wordpress.com/2009/03/reflector2.jpg" medium="image">
			<media:title type="html">reflector 2</media:title>
		</media:content>

		<media:content url="http://kanaan85.files.wordpress.com/2009/03/reflector3.jpg" medium="image">
			<media:title type="html">reflector_large</media:title>
		</media:content>

		<media:content url="http://kanaan85.files.wordpress.com/2009/03/reflector4.jpg" medium="image">
			<media:title type="html">reflector_large</media:title>
		</media:content>

		<media:content url="http://kanaan85.files.wordpress.com/2009/03/reflector5.jpg" medium="image">
			<media:title type="html">reflector_large</media:title>
		</media:content>

		<media:content url="http://kanaan85.files.wordpress.com/2009/03/reflector6.jpg" medium="image">
			<media:title type="html">reflector_large</media:title>
		</media:content>

		<media:content url="http://kanaan85.files.wordpress.com/2009/03/reflector7.jpg" medium="image">
			<media:title type="html">reflector_large</media:title>
		</media:content>

		<media:content url="http://kanaan85.files.wordpress.com/2009/03/reflector8.jpg" medium="image">
			<media:title type="html">reflector_large</media:title>
		</media:content>
	</item>
		<item>
		<title>الاتصال بالبيانات من نوع NULL عن طريق تابع يدعى ISNULL()</title>
		<link>http://kanaan85.wordpress.com/2009/02/15/isnull/</link>
		<comments>http://kanaan85.wordpress.com/2009/02/15/isnull/#comments</comments>
		<pubDate>Sun, 15 Feb 2009 22:26:30 +0000</pubDate>
		<dc:creator>عبد الكريم كنعان</dc:creator>
				<category><![CDATA[Microsoft SQL Server]]></category>
		<category><![CDATA[ISNULL]]></category>
		<category><![CDATA[SQL Function]]></category>

		<guid isPermaLink="false">http://kanaan85.wordpress.com/?p=128</guid>
		<description><![CDATA[لربما كنت واحدا من المبرمجين الذين كان لهم العديد من التجارب في غمار قواعد البيانات, وبالتالي ستكون الحالة NULL من الحالات المشهورة, دعنا في هذه المقالة نتعرف على أحد التوابع الذي يوفر لنا المرونه في التعامل مع حالة NULL   يوجد في الواقع العديد من التوابع الخاصة بالتعامل مع NULL، أحد هذه التوابع هو ISNULL(). التابع ISNULL() [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kanaan85.wordpress.com&amp;blog=2943185&amp;post=128&amp;subd=kanaan85&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div></div>
<p><span></p>
<p class="MsoNormal" style="line-height:14.25pt;margin:0 0 10pt;" dir="rtl"><span>لربما كنت واحدا من المبرمجين الذين كان لهم العديد من التجارب في غمار قواعد البيانات, وبالتالي ستكون الحالة NULL</span><span> من الحالات المشهورة, دعنا في هذه المقالة نتعرف على أحد التوابع الذي يوفر لنا المرونه في التعامل مع حالة NULL</span></p>
<p> </p>
<p></span></p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"><span>يوجد في الواقع العديد من التوابع الخاصة بالتعامل مع NULL، أحد هذه التوابع هو </span><span style="font-size:10pt;color:fuchsia;line-height:115%;font-family:&quot;" dir="ltr">ISNULL</span><span>().</span></p>
<p class="MsoNormal" style="margin:0 0 10pt;" dir="rtl"><span>التابع ISNULL</span><span>() يقبل متحول </span><span>Variable أو تعبير </span><span>Expression، ويقوم بعملية إختبار فيما إذا كانت القيمة هي </span><span>NULL، إذا كانت القيمة هي </span><span style="font-size:10pt;color:gray;line-height:115%;font-family:&quot;" dir="ltr">NULL</span><span>، فإن التابع سوف يعيد قيمة محددة بدلا من قيمة الـ </span><span>NULL، أما إذا كانت قيمة التعبير ليست </span><span>NULL، فإن التابع سوف يعيدها كقيمة إن شكل التابع هو كما يلي:</span></p>
<table class="MsoTableGrid" style="background:#f2f2f2;border-collapse:collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="width:521.1pt;background-color:transparent;border:black 1pt solid;padding:0 5.4pt;" width="695" valign="top">
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="color:black;font-family:&quot;"><span style="font-size:small;">ISNULL <strong>(</strong> <em>check</em><strong>_</strong><em>expression </em><strong>,</strong> <em>replacement_value </em><strong>)</strong></span></span></p>
</td>
</tr>
</tbody>
</table>
<p><span id="more-128"></span></p>
<p class="MsoNormal" style="line-height:normal;text-align:right;margin:0;" dir="rtl"><span style="font-size:12pt;color:gray;font-family:&quot;" lang="AR-SY">على سبيل المثال:</span></p>
<p class="MsoNormal" style="line-height:normal;text-align:right;margin:0;" dir="rtl"><span style="font-size:14pt;color:black;font-family:&quot;" lang="AR-SY"> </span></p>
<table class="MsoTableLightShading" style="border-collapse:collapse;text-align:right;" dir="ltr" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border-right:#f0f0f0;border-top:black 1pt solid;border-left:#f0f0f0;width:402.3pt;border-bottom:black 1pt solid;background-color:transparent;padding:0 5.4pt;" width="536" valign="top">
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-size:9pt;color:black;font-family:&quot;">ISNULL Expression</span></p>
</td>
<td style="border-right:#f0f0f0;border-top:black 1pt solid;border-left:#f0f0f0;width:120.5pt;border-bottom:black 1pt solid;background-color:transparent;padding:0 5.4pt;" width="161" valign="top">
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-size:9pt;color:black;font-family:&quot;">Value Returned</span></p>
</td>
</tr>
<tr>
<td style="background:silver;width:402.3pt;border:#f0f0f0;padding:0 5.4pt;" width="536" valign="top">
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:black;font-family:WileyCode-Regular;">ISNULL(NULL, 5)</span></strong></span></p>
</td>
<td style="background:silver;width:120.5pt;border:#f0f0f0;padding:0 5.4pt;" width="161" valign="top">
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-family:Calibri;"><span style="font-size:9pt;color:black;font-family:WileyCode-Regular;">5</span></span></p>
</td>
</tr>
<tr>
<td style="width:402.3pt;background-color:transparent;border:#f0f0f0;padding:0 5.4pt;" width="536" valign="top">
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><strong><span style="font-size:9pt;color:black;font-family:WileyCode-Regular;"><span style="font-family:Calibri;">ISNULL(5, 15)</span></span></strong></p>
</td>
<td style="width:120.5pt;background-color:transparent;border:#f0f0f0;padding:0 5.4pt;" width="161" valign="top">
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-size:9pt;color:black;font-family:WileyCode-Regular;"><span style="font-family:Calibri;">5</span></span></p>
</td>
</tr>
<tr>
<td style="background:silver;width:402.3pt;border:#f0f0f0;padding:0 5.4pt;" width="536" valign="top">
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><strong><span style="font-size:9pt;color:black;font-family:WileyCode-Regular;"><span style="font-family:Calibri;">ISNULL(MyColumnName, 0) where MyColumnName IS NULL</span></span></strong></p>
</td>
<td style="background:silver;width:120.5pt;border:#f0f0f0;padding:0 5.4pt;" width="161" valign="top">
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-size:9pt;color:black;font-family:WileyCode-Regular;"><span style="font-family:Calibri;">0</span></span></p>
</td>
</tr>
<tr>
<td style="width:402.3pt;background-color:transparent;border:#f0f0f0;padding:0 5.4pt;" width="536" valign="top">
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><strong><span style="font-size:9pt;color:black;font-family:WileyCode-Regular;"><span style="font-family:Calibri;">ISNULL(MyColumnName, 0) where MyColumnName = 3</span></span></strong></p>
</td>
<td style="width:120.5pt;background-color:transparent;border:#f0f0f0;padding:0 5.4pt;" width="161" valign="top">
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-size:9pt;color:black;font-family:WileyCode-Regular;"><span style="font-family:Calibri;">3</span></span></p>
</td>
</tr>
<tr>
<td style="border-right:#f0f0f0;border-top:#f0f0f0;background:silver;border-left:#f0f0f0;width:402.3pt;border-bottom:black 1pt solid;padding:0 5.4pt;" width="536" valign="top">
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><strong><span style="font-size:9pt;color:black;font-family:WileyCode-Regular;"><span style="font-family:Calibri;">ISNULL(MyColumnName, 0) where MyColumnName =</span></span></strong><strong><span style="font-size:9pt;color:black;font-family:&quot;">’</span></strong><strong><span style="font-size:9pt;color:black;font-family:WileyCode-Regular;"><span style="font-family:Calibri;">Fred Farmer</span></span></strong><strong><span style="font-size:9pt;color:black;font-family:&quot;">’</span></strong><strong></strong></p>
</td>
<td style="border-right:#f0f0f0;border-top:#f0f0f0;background:silver;border-left:#f0f0f0;width:120.5pt;border-bottom:black 1pt solid;padding:0 5.4pt;" width="161" valign="top">
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-family:Calibri;"><span style="font-size:9pt;color:black;font-family:WileyCode-Regular;">Fred Farmer</span></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:right;margin:0;"><strong><span style="font-size:9pt;font-family:&quot;"> </span></strong></p>
<p class="MsoNormal" style="line-height:normal;text-align:right;margin:0;"><span style="font-size:12pt;color:gray;font-family:&quot;" lang="AR-SY">الان دعنا نرى استخدام التابع في الاستعلام:</span></p>
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><strong><span style="font-size:12pt;font-family:&quot;" lang="EN-GB"> </span></strong></p>
<table class="MsoTableGrid" style="background:#f2f2f2;width:522.8pt;border-collapse:collapse;" border="1" cellspacing="0" cellpadding="0" width="697">
<tbody>
<tr>
<td style="width:522.8pt;background-color:transparent;border:black 1pt solid;padding:0 5.4pt;" width="697" valign="top">
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-size:10pt;color:blue;font-family:&quot;">                                              Select</span><span style="font-size:10pt;font-family:&quot;"> cu<span style="color:gray;">.</span>CompanyName<span style="color:gray;">,</span></span></p>
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-size:10pt;font-family:&quot;"><span>                                                    </span><span style="color:fuchsia;">IsNull</span><span style="color:gray;">(</span><span style="color:fuchsia;">Cast</span> <span style="color:gray;">((</span><span style="color:blue;">Select</span> <span style="color:fuchsia;">Min</span><span style="color:gray;">(</span>o<span style="color:gray;">.</span>OrderDate<span style="color:gray;">)</span></span></p>
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-size:10pt;font-family:&quot;"><span>                                                                </span><span style="color:blue;">From</span> Orders <span style="color:blue;">As</span> o</span></p>
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-size:10pt;font-family:&quot;"><span>                                                                </span><span style="color:blue;">Where</span> o<span style="color:gray;">.</span>CustomerID <span style="color:gray;">=</span> cu<span style="color:gray;">.</span>CustomerID<span style="color:gray;">)</span> <span style="color:blue;">As</span> <span style="color:blue;">varchar</span><span style="color:gray;">),</span> <span style="color:red;">&#8216; Never Ordered&#8217;</span><span style="color:gray;">)</span></span></p>
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-size:10pt;font-family:&quot;"><span>                                                                </span><span style="color:blue;">As</span> <span style="color:red;">&#8216;Order Date&#8217;</span></span></p>
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-size:10pt;color:blue;font-family:&quot;">                                              From</span><span style="font-size:10pt;font-family:&quot;"> Customers <span style="color:blue;">As</span> cu</span><strong></strong></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="line-height:normal;margin:0;" dir="rtl"><strong><span style="font-size:12pt;font-family:&quot;" lang="AR-SY"> </span></strong></p>
<p class="MsoNormal" style="line-height:normal;margin:0;" dir="rtl"><span>هناك سطران بدون تعليمة </span><span style="font-size:10pt;color:fuchsia;font-family:&quot;" dir="ltr">ISNULL</span><span>() كانا سينتجان كما يلي:</span></p>
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><strong><span style="font-size:12pt;font-family:&quot;" lang="EN-GB"> </span></strong></p>
<table class="MsoTableGrid" style="border-collapse:collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="width:521.1pt;background-color:transparent;border:black 1pt solid;padding:0 5.4pt;" width="695" valign="top">
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-size:8.5pt;font-family:WileyCode-Regular;"><span style="font-family:Calibri;"><span>              </span>&#8230;</span></span></p>
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-size:8.5pt;font-family:WileyCode-Regular;"><span style="font-family:Calibri;"><span>              </span>FISSA Fabrica Inter. Salchichas S.A. <span>     </span>NULL</span></span></p>
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-size:8.5pt;font-family:WileyCode-Regular;"><span style="font-family:Calibri;"><span>              </span>&#8230;</span></span></p>
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-family:Calibri;"><span style="font-size:8.5pt;font-family:WileyCode-Regular;"><span>              </span>Paris sp</span><span style="font-size:8.5pt;">é</span><span style="font-size:8.5pt;font-family:WileyCode-Regular;">cialit</span><span style="font-size:8.5pt;">é</span><span style="font-size:8.5pt;font-family:WileyCode-Regular;">s </span><span style="font-size:8.5pt;" lang="EN-GB"><span>                                              </span></span><span style="font-size:8.5pt;font-family:WileyCode-Regular;">NULL</span></span></p>
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-family:Calibri;"><span style="font-size:8.5pt;font-family:WileyCode-Regular;"><span>             </span>&#8230;</span><strong></strong></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="line-height:normal;margin:0;" dir="rtl"><strong><span style="font-size:12pt;font-family:&quot;" lang="AR-SY"> </span></strong></p>
<p class="MsoNormal" style="line-height:normal;margin:0;" dir="rtl"><span style="font-size:12pt;color:gray;font-family:&quot;" lang="AR-SY">ولكن باستخدامه سينتجان كما يلي:</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;" dir="rtl"><strong><span style="font-size:12pt;font-family:&quot;" lang="AR-SY"> </span></strong></p>
<table class="MsoTableGrid" style="border-collapse:collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="width:521.1pt;background-color:transparent;border:black 1pt solid;padding:0 5.4pt;" width="695" valign="top">
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-size:8.5pt;font-family:WileyCode-Regular;"><span style="font-family:Calibri;"><span>            </span>&#8230;</span></span></p>
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-size:8.5pt;font-family:WileyCode-Regular;"><span style="font-family:Calibri;"><span>           </span>FISSA Fabrica Inter. Salchichas S.A. <span>    </span>NEVER ORDERED</span></span></p>
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-size:8.5pt;font-family:WileyCode-Regular;"><span style="font-family:Calibri;"><span>           </span>&#8230;</span></span></p>
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-family:Calibri;"><span style="font-size:8.5pt;font-family:WileyCode-Regular;"><span>           </span>Paris sp</span><span style="font-size:8.5pt;">é</span><span style="font-size:8.5pt;font-family:WileyCode-Regular;">cialit</span><span style="font-size:8.5pt;">é</span><span style="font-size:8.5pt;font-family:WileyCode-Regular;">s <span>                                             </span>NEVER ORDERED</span></span></p>
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;"><span style="font-family:Calibri;"><span style="font-size:8.5pt;font-family:WileyCode-Regular;"><span>          </span>&#8230;</span><strong></strong></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="line-height:normal;margin:0;" dir="rtl"><strong><span style="font-size:12pt;font-family:&quot;" lang="AR-SY"> </span></strong></p>
<p class="MsoNormal" style="line-height:normal;margin:0;" dir="rtl"><em><span style="font-size:12pt;color:gray;font-family:&quot;" lang="AR-SY">تم استخدام التابع </span><span style="font-size:10pt;color:fuchsia;font-family:&quot;" dir="ltr">CAST</span></em><em><span style="font-size:10pt;color:gray;font-family:&quot;" dir="ltr">()</span><span style="font-size:12pt;color:gray;font-family:&quot;" lang="AR-SY"> حتى يعمل هذا الاستعلام والسبب في ذلك لأن ناتج التنفيذ سينتج سيعطي بيانات من نوع تاريخ(</span><span style="font-size:10pt;color:gray;font-family:&quot;" dir="ltr" lang="EN-GB">DateTime</span><span style="font-size:12pt;color:gray;font-family:&quot;" lang="AR-SY">) طبعا للعمود </span><span style="font-size:10pt;color:gray;font-family:&quot;" dir="ltr" lang="EN-GB">Order</span><span style="font-size:12pt;color:gray;font-family:&quot;" dir="ltr" lang="EN-GB"> </span><span style="font-size:10pt;color:gray;font-family:&quot;" dir="ltr" lang="EN-GB">Date</span><span style="font-size:12pt;color:gray;font-family:&quot;" lang="AR-SY">، وبالتالي عندما يصل التنفيذ إلى أول </span><span style="font-size:10pt;color:gray;font-family:&quot;" dir="ltr" lang="EN-GB">NULL</span><span style="font-size:12pt;color:gray;font-family:&quot;" lang="EN-GB"> </span><span style="font-size:12pt;color:gray;font-family:&quot;" lang="AR-SY">سيتولد خطأ وذلك بسبب أن عبارة </span><span style="font-size:10pt;color:gray;font-family:&quot;" dir="ltr" lang="EN-GB">Never</span><span style="font-size:12pt;color:gray;font-family:&quot;" dir="ltr" lang="EN-GB"> </span><span style="font-size:10pt;color:gray;font-family:&quot;" dir="ltr" lang="EN-GB">Ordered</span><span style="font-size:12pt;color:gray;font-family:&quot;" lang="AR-SY"> لا يمكن تحويلها إلى تاريخ.</span></em></p>
<p class="MsoNormal" style="line-height:normal;margin:0;" dir="rtl"><span style="font-size:12pt;color:gray;font-family:&quot;" lang="AR-SY"> </span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;" dir="rtl"><span>الأمثلة مطبقة على قاعدة بيانات Northwind.</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;" dir="rtl"><span>أخذت هذه المقالة من كتاب Beginning SQL Server 2005.</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kanaan85.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kanaan85.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kanaan85.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kanaan85.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kanaan85.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kanaan85.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kanaan85.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kanaan85.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kanaan85.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kanaan85.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kanaan85.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kanaan85.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kanaan85.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kanaan85.wordpress.com/128/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kanaan85.wordpress.com&amp;blog=2943185&amp;post=128&amp;subd=kanaan85&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kanaan85.wordpress.com/2009/02/15/isnull/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
<enclosure url="" length="" type="" />
	
		<media:content url="http://1.gravatar.com/avatar/fc9fb0a128c9a23601091f1e32f664ec?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">كنعان</media:title>
		</media:content>
	</item>
		<item>
		<title>المعامل &#8216;??&#8217;</title>
		<link>http://kanaan85.wordpress.com/2009/01/23/operator/</link>
		<comments>http://kanaan85.wordpress.com/2009/01/23/operator/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 11:30:14 +0000</pubDate>
		<dc:creator>عبد الكريم كنعان</dc:creator>
				<category><![CDATA[عام]]></category>

		<guid isPermaLink="false">http://kanaan85.wordpress.com/?p=123</guid>
		<description><![CDATA[سؤال يطرح نفسه ما هو المعامل ?? في الـ C# حتى نستطيع الاحابة عليه عزيزي المبرمج أرجوا أن تقرأ هذا الموضوع إلى النهاية. إن المعامل ?? يعيد القيمة الموجودة إلى يساره في حال كانت قيمتها لا تساوي null، وإلا فإنه يعيد القيمة التي إلى يمينه. (شو هاد!!!) دعنا نوضح ذلك بمثال: int? x = null; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kanaan85.wordpress.com&amp;blog=2943185&amp;post=123&amp;subd=kanaan85&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>سؤال يطرح نفسه ما هو المعامل <span style="color:#0000ff;">??</span> في الـ C# حتى نستطيع الاحابة عليه عزيزي المبرمج أرجوا أن تقرأ هذا الموضوع إلى النهاية.<br />
إن المعامل <span style="color:#0000ff;">??</span> يعيد القيمة الموجودة إلى يساره في حال كانت قيمتها لا تساوي null، وإلا فإنه يعيد القيمة التي إلى يمينه. (شو هاد!!!)<br />
دعنا نوضح ذلك بمثال:</p>
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;" dir="ltr"><span style="font-size:10pt;color:blue;font-family:&quot;">int</span><span style="font-size:10pt;font-family:&quot;">? x = <span style="color:blue;">null</span>;</span></p>
<p class="MsoNormal" style="direction:ltr;unicode-bidi:embed;text-align:left;margin:0 0 10pt;" dir="ltr"><span style="font-size:10pt;color:blue;line-height:115%;font-family:&quot;">int</span><span style="font-size:10pt;line-height:115%;font-family:&quot;"> y = x ?? -1;</span><span></span></p>
<p style="text-align:right;"><span id="more-123"></span></p>
<p style="text-align:right;"> </p>
<p style="text-align:right;"> طبعا ربما يتسائل البعض نحن نعلم أنه يوجد نمط بيانات هو int ولكن ما هو int?<br />
الجواب: أنه في هذه الحالة عندما نعرف int? فإنه يمكن للمتحول أن يأخذ القيم قيم عددية ضمن مجال int بالإضافة إلى قيمة null.<br />
وهذا موضح من خلال المثال السابق عرفنا x من نوع int? واسندنا له قيمة null.<br />
ثم عرفنا متحول آخر هو y الذي سيأخذ قيمة x في حال أنها لا تساوي إلى null وإلا فإنها ستأخذ قيمة 1-.<br />
طبعا في مثالنا ستكون قيمتها 1-.</p>
<p>مثال آخر:
</p>
<p class="MsoNormal" style="direction:ltr;line-height:normal;unicode-bidi:embed;text-align:left;margin:0;" dir="ltr"><span style="font-size:10pt;color:blue;font-family:&quot;">string</span><span style="font-size:10pt;font-family:&quot;"> name = <span style="color:blue;">null</span>;</span></p>
<p class="MsoNormal" style="direction:ltr;unicode-bidi:embed;text-align:left;margin:0 0 10pt;" dir="ltr"><span style="font-size:10pt;color:blue;line-height:115%;font-family:&quot;">string</span><span style="font-size:10pt;line-height:115%;font-family:&quot;"> name1 = name ?? <span style="color:#a31515;">&#8220;Unknown&#8221;</span>;</span><span></span></p>
<p style="text-align:right;"> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kanaan85.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kanaan85.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kanaan85.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kanaan85.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kanaan85.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kanaan85.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kanaan85.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kanaan85.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kanaan85.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kanaan85.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kanaan85.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kanaan85.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kanaan85.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kanaan85.wordpress.com/123/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kanaan85.wordpress.com&amp;blog=2943185&amp;post=123&amp;subd=kanaan85&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kanaan85.wordpress.com/2009/01/23/operator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
	
		<media:content url="http://1.gravatar.com/avatar/fc9fb0a128c9a23601091f1e32f664ec?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">كنعان</media:title>
		</media:content>
	</item>
		<item>
		<title>برنامج أنظمة العد Number Systems</title>
		<link>http://kanaan85.wordpress.com/2008/11/30/number-systems/</link>
		<comments>http://kanaan85.wordpress.com/2008/11/30/number-systems/#comments</comments>
		<pubDate>Sun, 30 Nov 2008 06:02:57 +0000</pubDate>
		<dc:creator>عبد الكريم كنعان</dc:creator>
				<category><![CDATA[برامجي]]></category>
		<category><![CDATA[Number Systems]]></category>

		<guid isPermaLink="false">http://kanaan85.wordpress.com/?p=108</guid>
		<description><![CDATA[لقد تم بعونه تعالى إنشاء برنامج ليقوم بالتحويل من أي نظام من أنظمة العد إلى نظام آخر. وإن أنظمة العد تبدأ من النظام الثنائي، الثلاثي&#8230;&#8230;&#8230;إلى النظام الست عشري. وتعتمد فكرة البرنامج على نقطتين أساسيتين: الأولى: هي التحويل من أي نظام من أنظمة العد إلى النظام العشري: وهو بطبيعته يعتمد على شقين وذلك للقسم الصحيح من [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kanaan85.wordpress.com&amp;blog=2943185&amp;post=108&amp;subd=kanaan85&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><img class="size-full wp-image-109 aligncenter" title="logo" src="http://kanaan85.files.wordpress.com/2008/11/logo.jpg?w=550" alt="أنظمة العد"   /></p>
<p>لقد تم بعونه تعالى إنشاء برنامج ليقوم بالتحويل من أي نظام من أنظمة العد إلى نظام آخر.<br />
وإن أنظمة العد تبدأ من النظام الثنائي، الثلاثي&#8230;&#8230;&#8230;إلى النظام الست عشري.<br />
وتعتمد فكرة البرنامج على نقطتين أساسيتين:</p>
<p><span id="more-108"></span></p>
<p>الأولى: هي التحويل من أي نظام من أنظمة العد إلى النظام العشري: وهو بطبيعته يعتمد على شقين وذلك للقسم الصحيح من العدد وللقسم الكسري (ما بعد الفاصلة)<br />
1- بالنسبة للقسم الصيحيح: إذ يتم ترقيم منازل الأرقام للعدد بدءاً من الصفر (ومن اليمين إلى اليسار)  وبعد ذلك يتم ضرب كل رقم من منازل العدد بأساس النظام رافعا الأساس إلى منزلة الرقم المضروب به.</p>
<p>على سبيل المثال: الرقم الثنائي: 1011سيتم تحويله إلى النظام العشري</p>
<p><img class="size-full wp-image-110  alignright" title="NumberSystems 1" src="http://kanaan85.files.wordpress.com/2008/11/1.jpg?w=550" alt="NumberSystems 1"   /></p>
<p>وكذلك بالنسبة لأي عدد صحيح يراد تحويله إلى النظام العشري وذللك فقط بتبديل الأساس وقفا للنظام الذي تتعامل معه.</p>
<p>2- أما بالنسبة للقسم الكسري (ما بعد الفاصلة) : إذ يتم ترقيم المنازل<br />
الأرقام بدءاً من -1 ،-2 &#8230;&#8230;. (ومن اليسار إلى اليمين) وبعد ذلك يتم<br />
ضرب كل رقم من منازل العدد بأساس النظام رافعا الأساس إلى منزلة<br />
الرقم المضروب به.</p>
<p><img class="alignnone size-full wp-image-111" title="NumberSystems 2" src="http://kanaan85.files.wordpress.com/2008/11/2.jpg?w=550" alt="NumberSystems 2"   /></p>
<p>وبذلك يكون العدد الثنائي 1011.101 مساويا في النظام العشري 11.625</p>
<p>الثانية: هي التحويل من النظام العشري إلى باقي أنظمة العد ولها قسمان:<br />
1- القسم الصحيح:إذ يتم قسمة العدد على أساس النظام المراد التحويل إليه وبذلك ينتج: ناتج القسمة وباقي القسمة.<br />
أما ناتج القسمة فهو العدد العشري الجديد أما باقي القسمة فهو جزء من العدد العشري في النظام المراد التحويل إليه.<br />
وتستمر هذه العملية حتى يصبح ناتج القسمة مساوياً إلى الصفر.</p>
<p><img class="alignnone size-full wp-image-112" title="NumberSystems 3" src="http://kanaan85.files.wordpress.com/2008/11/3.jpg?w=550" alt="NumberSystems 3"   /></p>
<p>وهكذا بالنسبة للتحويل لباقي أنظمة العد إذ يتم القسمة على أساس النظام المراد التحويل إليه.<br />
النظام الثنائي أساسه 2<br />
النظام النظام الثماني أساسه 8<br />
النظام الست عشري أساسه 16<br />
وتجدر الإشارة إلى أن أرقام النظام الثنائي هي إما 0 أو 1<br />
والنظام الثماني مجال أرقامه من 0 إلى 7<br />
والنظام العشري مجال أرقامه من 0 إلى 9<br />
والنظام الست عشري مجال أرقامه من 0 إلى 15</p>
<p><img class="alignnone size-full wp-image-116" title="number-systems-7" src="http://kanaan85.files.wordpress.com/2008/11/number-systems-7.jpg?w=550" alt="number-systems-7"   /></p>
<p>وكل رقم يزيد عن الرقم عشرة في الأنظمة ما فوق النظام العشري يبدأ كتابة الرقم 10 بـ A إلى 15 بـ F وذلك لتميز العدد مثل العدد 13 هل هو 3 و1 أم هو الرقم الثالث عشر؟ تفاديا لهذه المشاكل فقد تم الترقيم على هذا النحو السابق.</p>
<p>2- القسم الكسري ( مابعد الفاصلة): يؤخذ العدد ويضرب بأساس النظام المراد التحويل إليه، وبذلك سينتج رقم كسري، الجزء الكسري منه فقط هو الذي سنتابع به عملية الجداء، أما الجزء الصحيح من العدد فهو جزء من العدد العشري في النظام الذي يُحول إليه.<br />
وتستمر هذه العملية حتى يصبح القسم الكسري مساويا إلى الصفر أو أن تصبح لدي عملية تكرار لمرحلة ما من مراحل الجداء عندها أتوقف عن العملية.</p>
<p><img class="alignnone size-full wp-image-113" title="NumberSystems 4" src="http://kanaan85.files.wordpress.com/2008/11/4.jpg?w=550" alt="NumberSystems 4"   /></p>
<p><img class="alignnone size-full wp-image-114" title="NumberSystems 5" src="http://kanaan85.files.wordpress.com/2008/11/5.jpg?w=550" alt="NumberSystems 5"   /></p>
<p>وهكذا بالنسبة لباقي الأنظمة إذ نستبدل فقط العدد المضروب بالعدد المناسب وفقا لأساس النظام المراد التحويل إليه.</p>
<p>مثال إضافي:<br />
1- تحويل العدد الست عشري A3.BF إلى النظام العشري<br />
(A3.BF)16 = A * 161 + 3 * 160 + B * 16-1 + F * 16-2<br />
= 10 * 16 + 3 + (11/16) + (15/256)<br />
= 163.7460937</p>
<p><img class="alignnone size-full wp-image-115" title="NumberSystems 6" src="http://kanaan85.files.wordpress.com/2008/11/6.jpg?w=550" alt="NumberSystems 6"   /></p>
<p>أما العمليات الأربعة التي إعتمد عليها البرنامج هي تحويل أي عدد إلى النظام العشري ثم إجراء العملية المطلوبة عليه ثم إعادته إلى النظام الذي كان فيه.</p>
<p>ملف شرح البرنامج يمكنك تحميلة من الراربط التالي: <a href="http://kanaan85.files.wordpress.com/2008/11/d8a3d986d8b8d985d8a9-d8a7d984d8b9d8af.pdf">http://kanaan85.files.wordpress.com/2008/11/d8a3d986d8b8d985d8a9-d8a7d984d8b9d8af.pdf</a></p>
<h2><strong><span style="color:#888888;">تحميل ملف البرنامج:</span></strong> <a class="aligncenter" href="http://www.megaupload.com/?d=SKLKQVXX" target="_blank"><span style="color:#ff0000;">http://www.megaupload.com/?d=SKLKQVXX</span></a></h2>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kanaan85.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kanaan85.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kanaan85.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kanaan85.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kanaan85.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kanaan85.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kanaan85.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kanaan85.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kanaan85.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kanaan85.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kanaan85.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kanaan85.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kanaan85.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kanaan85.wordpress.com/108/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kanaan85.wordpress.com&amp;blog=2943185&amp;post=108&amp;subd=kanaan85&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kanaan85.wordpress.com/2008/11/30/number-systems/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
<enclosure url="" length="" type="" />
	
		<media:content url="http://1.gravatar.com/avatar/fc9fb0a128c9a23601091f1e32f664ec?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">كنعان</media:title>
		</media:content>

		<media:content url="http://kanaan85.files.wordpress.com/2008/11/logo.jpg" medium="image">
			<media:title type="html">logo</media:title>
		</media:content>

		<media:content url="http://kanaan85.files.wordpress.com/2008/11/1.jpg" medium="image">
			<media:title type="html">NumberSystems 1</media:title>
		</media:content>

		<media:content url="http://kanaan85.files.wordpress.com/2008/11/2.jpg" medium="image">
			<media:title type="html">NumberSystems 2</media:title>
		</media:content>

		<media:content url="http://kanaan85.files.wordpress.com/2008/11/3.jpg" medium="image">
			<media:title type="html">NumberSystems 3</media:title>
		</media:content>

		<media:content url="http://kanaan85.files.wordpress.com/2008/11/number-systems-7.jpg" medium="image">
			<media:title type="html">number-systems-7</media:title>
		</media:content>

		<media:content url="http://kanaan85.files.wordpress.com/2008/11/4.jpg" medium="image">
			<media:title type="html">NumberSystems 4</media:title>
		</media:content>

		<media:content url="http://kanaan85.files.wordpress.com/2008/11/5.jpg" medium="image">
			<media:title type="html">NumberSystems 5</media:title>
		</media:content>

		<media:content url="http://kanaan85.files.wordpress.com/2008/11/6.jpg" medium="image">
			<media:title type="html">NumberSystems 6</media:title>
		</media:content>
	</item>
		<item>
		<title>برنامج العمليات على المصفوفات Operations On Array (حل جملة معادلات خطية)</title>
		<link>http://kanaan85.wordpress.com/2008/10/16/operations-on-array/</link>
		<comments>http://kanaan85.wordpress.com/2008/10/16/operations-on-array/#comments</comments>
		<pubDate>Thu, 16 Oct 2008 03:37:13 +0000</pubDate>
		<dc:creator>عبد الكريم كنعان</dc:creator>
				<category><![CDATA[برامجي]]></category>
		<category><![CDATA[معادلات خطية]]></category>
		<category><![CDATA[حل معادلات خطية]]></category>

		<guid isPermaLink="false">http://kanaan85.wordpress.com/?p=85</guid>
		<description><![CDATA[برنامج العمليات على المصفوفات هو أحد برامجي القديمة على VB6، هو برنامج يختص بمجال الرياضيات تحديداً، حيث يقدم البرنامج المزايا التالية: إيجاد مقلوب مصفوفة. إيجاد المصفوفة القطرية. إيجاد محدد مصفوفة. العمليات الأربعة على المصفوفات. حل جملة معادلات خطية (n معادلة بـ n مجهول). بسم الله الرحمن الرحيم قد تم بعونه تعالى إنجاز برنامج يقوم بإجراء [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kanaan85.wordpress.com&amp;blog=2943185&amp;post=85&amp;subd=kanaan85&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div><a href="http://kanaan85.files.wordpress.com/2008/10/splash.jpg"></a></div>
<p style="text-align:center;"><img class="size-full wp-image-86" title="splash" src="http://kanaan85.files.wordpress.com/2008/10/splash.jpg?w=550" alt="Operations On Array"   /></p>
<div><strong>برنامج العمليات على المصفوفات هو أحد برامجي القديمة على VB6، هو برنامج يختص بمجال الرياضيات تحديداً، حيث يقدم البرنامج المزايا التالية:</strong></div>
<ul>
<li>
<div><span style="color:#003399;"><strong>إيجاد مقلوب مصفوفة.</strong></span></div>
</li>
<li>
<div><span style="color:#003399;"><strong>إيجاد المصفوفة القطرية.</strong></span></div>
</li>
<li>
<div><span style="color:#003399;"><strong>إيجاد محدد مصفوفة.</strong></span></div>
</li>
<li>
<div><span style="color:#003399;"><strong>العمليات الأربعة على المصفوفات.</strong></span></div>
</li>
<li>
<div><span style="color:#003399;"><strong>حل جملة معادلات خطية (n معادلة بـ n مجهول).</strong></span></div>
</li>
</ul>
<p><span id="more-85"></span></p>
<div style="text-align:center;">
<p><strong><span style="font-size:24pt;color:#e36c0a;line-height:115%;font-family:&amp;">بسم الله الرحمن الرحيم </span></strong></p>
<div style="text-align:center;"><strong> </strong></div>
<div style="text-align:center;"><strong> </strong></div>
<div style="text-align:center;"><strong> </strong></div>
<div style="text-align:right;"><strong> </strong></div>
<div style="text-align:right;"><strong>قد تم بعونه تعالى إنجاز برنامج يقوم بإجراء عمليات متعددة على المصفوفات</strong><br />
<strong>منها إيجاد مقلوب مصفوفة والمصفوفة القطرية وقيمة محدد مصفوفة والعمليات الأربعة على المصفوفات (الجمع والطرح والضرب والقسمة) وأيضا حل جملة معادلات خطية.</strong><br />
<strong>أما الأفكار التي قام على أساسها البرنامج في مختلف عملياته سنورد ذكرها:</strong></div>
<div style="text-align:right;"><strong> </strong></div>
<ol style="list-style-type:decimal;">
<li>
<div style="text-align:right;"><strong><span style="text-decoration:underline;">عملية الجمع والطرح:</span> حيث يتم جمع أو طرح عنصر لعنصر أي العنصر الأول من المصفوفة الأولى مع العنصر الأول من المصفوفة الثانية والعنصر الثاني مع الثاني وهكذا&#8230;<br />
فهناك إذا شرط وحيد لإجراء أي من عمليتي الجمع أو الطرح هو أن تكون أبعاد المصفوفتين متساوين (أي عدد أسطر المصفوفة الأولى يساوي عدد أسطر المصفوفة الثانية وعدد أعمدة المصفوفة الأولى يساوي عدد أعمدة المصفوفة الثانية).<br />
Result[m,n ]= A[m,n] (+-) B[m,n] </strong><br />
.</div>
</li>
<li>
<div style="text-align:right;"><strong><span style="text-decoration:underline;">عملية الضرب:</span> تتم وذلك بجمع ناتج ضرب عناصر السطر الأول من المصفوفة الأولى مع عناصر العمود الأول من المصفوفة الثانية عنصر لعنصر على الترتيب (الأول مع الأول والثاني مع الثاني&#8230;..) وبهذا نكون قد حصلنا على العنصر الأول من المصفوفة الناتجة، ثم نأخذ السطر الأول من المصفوفة الأولى مع العمود الثاني من المصفوفة الثانية ونجري عليهما نفس العملية السابقة وبذلك نحصل على العنصر الثاني من السطر الأول من المصفوفة الناتجة وهكذا نكرر العملية إلى أن تنتهي أعمدة المصفوفة الثانية ثم نقوم بأخذ السطر الثاني من المصفوفة الأولى ونعيد الكرة ليتم ضربها مع كافة أعمدة المصفوفة الثانية ونكون قد حصلنا على السطر الثاني من المصفوفة الناتجة إلخ&#8230;&#8230;&#8230;<br />
ومنه فهناك شرط لإجراء عملية الجداء وهو أن يكون عدد أعمدة المصفوفة الأولى يساوي عدد أسطر المصفوفة الثانية.<br />
ملاحظة: نتيجة لما سبق فعملية جداء المصفوفات ليست بالضرورة أن تكون تبديلية.</strong></div>
</li>
<li>
<div style="text-align:right;"><strong><span style="text-decoration:underline;">عملية القسمة:</span> حيث تعتمد على القانون التالي: A/B=A*B-1<br />
B-1: وهي مقلوب المصفوفة B، حيث سيتم التعرف على إيجاد مقلوب مصفوفة في المرحلة التالية.</strong></div>
</li>
<li>
<div style="text-align:right;"><strong><span style="text-decoration:underline;">إيجاد مقلوب مصفوفة:</span> القانون [A|I]~[I|A-1]<br />
ملاحظة: لإجراء عملية القلب لمصفوفة يجب أن نتحقق من أمرين الأول أن تكون المصفوفة المراد إيجاد مقلوبها أن تكون مربعة أي متساوية في أبعادها –أي عدد الأسطر مساويا إلى عدد الأعمدة- والثاني أن لا يكون المحدد مساويا إلى الصفر وإلا دعيت مصفوفة شاذة لا يمكن إيجاد مقلوبها.<br />
أي نقوم بتوسيع المصفوفة A –المصفوفة المراد إيجاد المقلوب لها- بالمصفوفة الواحدية (وهي مصفوفة قطرها الرئيسي ذات قيمة وحيدة وهي الواحد وما عداها أصفار) ثم نسعى بعد ذلك لجعل المصفوفة المدخلة مصفوفة واحدية وذلك بإجراء العديد من العمليات مع الأخذ بعين الإعتبار بأن العمليات التي تجري على المصفوفة المدخلة تجرى أيضا على المصفوفة الواحدية وفي النهاية عندما نحصل على المصفوفة الواحدية من المصفوفة المدخلة A نكون بالمقابل المصفوفة الواحدية التي أنشأناها عند التوسيع قد أصبحت هي مقلوب المصفوفة A</strong></div>
</li>
<li>
<div style="text-align:right;"><strong><span style="text-decoration:underline;">المصفوفة القطرية:</span> ونستفيد بأن إذا أردنا أن نجعل المصفوفة المدخلة مصفوفة ذات قيم قطرية فقط أي كل المصفوفة أصفار مع عدا قيم القطر الرئيسي.</strong></div>
</li>
<li>
<div style="text-align:right;"><strong><span style="text-decoration:underline;">المحدد :</span> يمكن حسابها من خلال المصفوفة القطرية بكل سهولة إذ يكفي بعد الحصول على المصفوفة القطرية أن نضرب عناصر القطر الرئيسي فنحصل على قيمة محدد هذه المصفوفة.</strong></div>
</li>
<li>
<div style="text-align:right;"><strong><span style="text-decoration:underline;">حل جملة معادلات خطية:</span> A*X=B<br />
القانون: [A|B]~[I|A-1*B]<br />
A: هي مصفوفة أمثال المجاهيل<br />
B:هي مصفوفة الثوابت (الطرف الثاني من المعادلة(<br />
X: هي مصفوفة ذات عمود واحد وهي مجاهيل هذه المعادلات.<br />
نلاحظ أيضا هنا نحن بحاجة إلى إجراء العمليات الحسابية على المصفوفة A للحصول على المصفوفة الواحدية) مع التذكرة أن العمليات تجرى أيضا على مصفوفة الثوابت (B.<br />
ملاحظة: أن العمليات السابقة لإيجاد مقلوب مصفوفة أو المصفوفة القطرية أو أي عملية تعتمد على التوسيع إذ أن العمليات الحسابية التي ستجريها هي فقط تتم على الأسطر ولا تعتمد على الأعمدة وتدعى هذه العمليات بالعمليات الأولية على المصفوفات.</strong></div>
</li>
</ol>
<p style="text-align:right;"><strong> </strong></p>
<p><strong><a style="font-size:medium;color:blue;" href="http://kanaan85.files.wordpress.com/2008/10/d8a7d984d8b9d985d984d98ad8a7d8aa-d8b9d984d989-d8a7d984d985d8b5d981d988d981d8a7d8aa.pdf">يمكنك تحيل الشرح السابق على شكل ملف pdf من خلال الرابط التالي<br />
(انقر هنا): العمليات على المصفوفات</a></strong></p>
<p>تاريخ إصدار البرنامج: 4-6-2005</p>
<h2><strong><span style="font-family:Calibri;"><strong><span style="font-size:10pt;color:#e36c0a;line-height:115%;"><strong><span style="font-size:12pt;color:#e36c0a;line-height:115%;"><span style="text-decoration:underline;">يمكنك تحميل البرنامج من الرابط التالي<span style="color:#ff0000;">: </span></span></span></strong><span style="color:#ff0000;"><strong><span style="font-size:12pt;line-height:115%;"> </span></strong><strong><span style="font-size:12pt;line-height:115%;"> </span></strong></span></span></strong></span></strong><span style="color:#ff0000;"><a style="color:red;" href="http://www.megaupload.com/?d=ZXVOXPJQ">http://www.megaupload.com/?d=ZXVOXPJQ</a></span></h2>
<p style="text-align:center;">
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kanaan85.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kanaan85.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kanaan85.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kanaan85.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kanaan85.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kanaan85.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kanaan85.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kanaan85.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kanaan85.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kanaan85.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kanaan85.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kanaan85.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kanaan85.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kanaan85.wordpress.com/85/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kanaan85.wordpress.com&amp;blog=2943185&amp;post=85&amp;subd=kanaan85&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kanaan85.wordpress.com/2008/10/16/operations-on-array/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
<enclosure url="" length="" type="" />
	
		<media:content url="http://1.gravatar.com/avatar/fc9fb0a128c9a23601091f1e32f664ec?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">كنعان</media:title>
		</media:content>

		<media:content url="http://kanaan85.files.wordpress.com/2008/10/splash.jpg" medium="image">
			<media:title type="html">splash</media:title>
		</media:content>
	</item>
		<item>
		<title>طريقة للحصول على التاريخ دون الوقت من خلال الـ SQL !!</title>
		<link>http://kanaan85.wordpress.com/2008/10/15/getdataonly/</link>
		<comments>http://kanaan85.wordpress.com/2008/10/15/getdataonly/#comments</comments>
		<pubDate>Wed, 15 Oct 2008 20:43:12 +0000</pubDate>
		<dc:creator>عبد الكريم كنعان</dc:creator>
				<category><![CDATA[Microsoft SQL Server]]></category>
		<category><![CDATA[GetDate()]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[T-SQL]]></category>

		<guid isPermaLink="false">http://kanaan85.wordpress.com/?p=80</guid>
		<description><![CDATA[هذا التابع وظيفته هو الحصول على التاريخ فقط دون الوقت (قيمة الوقت أصفار 00:00:00) يفيد هذا التابع في العديد من الحالات أهمها عندما أجري مقارنة بين تاريخين فقط حيث أن الوقت لا يهمني على الإطلاق، فإنه سيؤدي إلى الحصول على بعض النتائج الخاطئة، وذلك نتيجة لمقارنة الوقت معه. فمثلا لو أن لدي جدول للمستعيرين، وأردت [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kanaan85.wordpress.com&amp;blog=2943185&amp;post=80&amp;subd=kanaan85&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="text-align:right;"><span style="font-size:10pt;color:#7f7f7f;font-family:&quot;">هذا التابع وظيفته هو الحصول على التاريخ فقط دون الوقت (قيمة الوقت أصفار 00:00:00)</span></p>
<p class="MsoNormal" style="direction:rtl;line-height:normal;unicode-bidi:embed;text-align:right;margin:0;" dir="rtl"><span style="font-size:10pt;color:#7f7f7f;font-family:&quot;">يفيد هذا التابع في العديد من الحالات أهمها عندما أجري مقارنة بين تاريخين فقط حيث أن الوقت لا يهمني على الإطلاق، فإنه سيؤدي إلى الحصول على بعض النتائج الخاطئة، وذلك نتيجة لمقارنة الوقت معه.</span></p>
<p class="MsoNormal" style="direction:rtl;line-height:normal;unicode-bidi:embed;text-align:right;margin:0;" dir="rtl"><span style="font-size:10pt;color:#7f7f7f;font-family:&quot;">فمثلا لو أن لدي جدول للمستعيرين، وأردت الحصول على تقرير بأسماء جميع المستعيرين اللذين انتهت مدة اعارتهم ولنفرض أن التاريخ الكامل الآن من خلال التابع (الدالة) ()</span><span style="font-size:10pt;color:#7f7f7f;font-family:&quot;">GetDate </span><span style="font-size:10pt;color:#7f7f7f;font-family:&quot;">هي:</span></p>
<p class="MsoNormal" style="direction:rtl;line-height:normal;unicode-bidi:embed;text-align:right;margin:0;" dir="rtl"><span id="more-80"></span></p>
<div></div>
<p><span style="font-size:10pt;color:#7f7f7f;font-family:&quot;"></p>
<p class="MsoNormal" style="line-height:normal;text-align:left;margin:0;" dir="ltr"><span style="font-size:10pt;color:#0000ff;font-family:&quot;">Select</span><span style="font-size:10pt;font-family:&quot;"><span style="color:#000000;"> </span><span style="color:#ff00ff;">GetDate</span><span style="color:#808080;">();</span></span></p>
<p class="MsoNormal" style="text-align:right;"><span style="color:#808080;">ليكن الناتج:</span></p>
<p><font face="&quot;" color="#7f7f7f"></p>
<p class="MsoNormal" style="line-height:normal;text-align:left;margin:0;" dir="ltr"><span style="font-size:10pt;color:#808080;font-family:&quot;">2007-06-21 12:<span style="text-decoration:underline;">26</span>:24.807</span></p>
<p></font></span></p>
<p class="MsoNormal" style="line-height:normal;text-align:left;margin:0;" dir="ltr"> </p>
<p class="MsoNormal" style="direction:rtl;line-height:normal;unicode-bidi:embed;text-align:right;margin:0;" dir="rtl"><span style="font-size:10pt;color:#7f7f7f;font-family:&quot;">ولنفرض أن لدي مستعير مسجل في الجدول تنتهي فترة إعارته في:</span></p>
<p class="MsoNormal" style="text-align:left;" dir="ltr"><span style="font-size:10pt;color:#7f7f7f;font-family:&quot;">2007-06-21 12:<span style="text-decoration:underline;">35</span>:24.807</span></p>
<p class="MsoNormal" style="direction:rtl;line-height:normal;unicode-bidi:embed;text-align:right;margin:0;" dir="rtl"><span style="font-size:10pt;color:#7f7f7f;font-family:&quot;">لاحظ الفرق هو دقائق معدودة فقط فإن ناتج الاستعلام الناتج عند مقارنة حقل تاريخ انتهاء الإعارة مع التابع </span><span style="font-size:10pt;color:#7f7f7f;font-family:&quot;">GetDate()</span><span style="font-size:10pt;color:#7f7f7f;font-family:&quot;"> لن يظهر هذا المستعير (أعود و أذكر بأن الوقت لا يهمني وإنما يهمني فقط التاريخ)، فلحل هذه المشكلة تستخدم التابع التالي:</span></p>
<p class="MsoNormal" style="text-align:left;" dir="ltr"><span style="font-size:10pt;color:#7f7f7f;font-family:&quot;">GetDateOnly(DateTime @DateTime);</span></p>
<p class="MsoNormal" style="direction:rtl;line-height:normal;unicode-bidi:embed;text-align:right;margin:0;" dir="rtl"><span style="font-size:10pt;color:#7f7f7f;line-height:115%;font-family:&quot;">وهو على الشكل التالي:</span></p>
<div></div>
<p><span style="font-size:10pt;color:#7f7f7f;font-family:&quot;"></p>
<p class="MsoNormal" style="text-align:left;" dir="ltr"><span style="font-size:10pt;color:#0000ff;font-family:&quot;">set</span><span style="font-size:10pt;font-family:&quot;"><span style="color:#000000;"> </span><span style="color:#0000ff;">ANSI_NULLS</span><span style="color:#000000;"> </span><span style="color:#0000ff;">ON<br />
</span></span><span style="font-size:10pt;color:#0000ff;font-family:&quot;">set</span><span style="font-size:10pt;font-family:&quot;"><span style="color:#000000;"> </span><span style="color:#0000ff;">QUOTED_IDENTIFIER</span><span style="color:#000000;"> </span><span style="color:#0000ff;">ON<br />
</span></span><span style="font-size:10pt;font-family:&quot;"><span style="color:#000000;">go<br />
</span></span><span style="font-size:10pt;color:#008000;font-family:&quot;">&#8211; =============================================<br />
</span><span style="font-size:10pt;color:#008000;font-family:&quot;">&#8211; Author:<span>        </span>Abdulkarim Kanaan<br />
</span><span style="font-size:10pt;color:#008000;font-family:&quot;">&#8211; Create date: <span dir="rtl" lang="AR-SA"><span>  </span></span>4/6/2007<br />
</span><span style="font-size:10pt;color:#008000;font-family:&quot;">&#8211; Description:<span>   </span><span dir="rtl" lang="AR-SA">للحصول على التاريخ فقط دون الوقت<br />
</span></span><span style="font-size:10pt;color:#008000;font-family:&quot;">&#8211; =============================================<br />
</span><span style="font-size:10pt;color:#0000ff;font-family:&quot;">CREATE</span><span style="font-size:10pt;font-family:&quot;"><span style="color:#000000;"> </span><span style="color:#0000ff;">FUNCTION</span><span style="color:#000000;"> [dbo]</span><span style="color:#808080;">.</span><span style="color:#000000;">[GetDateOnly]<br />
</span></span><span style="font-size:10pt;color:#808080;font-family:&quot;">(<br />
</span><span style="font-size:10pt;font-family:&quot;"><span><span style="color:#000000;">      </span></span><span style="color:#008000;">&#8211; Add the parameters for the function here <br />
</span></span><span style="font-size:10pt;font-family:&quot;"><span style="color:#000000;"><span>      </span>@DateTime </span><span style="color:#0000ff;">DateTime<br />
</span></span><span style="font-size:10pt;color:#808080;font-family:&quot;">)<br />
</span><span style="font-size:10pt;color:#0000ff;font-family:&quot;">RETURNS</span><span style="font-size:10pt;font-family:&quot;"><span style="color:#000000;"> </span><span style="color:#0000ff;">smalldatetime<br />
</span></span><span style="font-size:10pt;color:#0000ff;font-family:&quot;">AS<br />
</span><span style="font-size:10pt;color:#0000ff;font-family:&quot;">BEGIN<br />
</span><span style="font-size:10pt;font-family:&quot;"><span><span style="color:#000000;">      </span></span><span style="color:#008000;">&#8211; Declare the return variable here<br />
</span></span><span style="font-size:10pt;font-family:&quot;"><span><span style="color:#000000;">      </span></span><span style="color:#0000ff;">DECLARE</span><span style="color:#000000;"> @Result </span><span style="color:#0000ff;">smalldatetime</span></span></p>
<p class="MsoNormal" style="line-height:normal;text-align:left;margin:0;" dir="ltr"><span style="font-size:10pt;font-family:&quot;"><span><span style="color:#000000;">      </span></span><span style="color:#0000ff;">Select</span><span style="color:#000000;"> @DateTime </span><span style="color:#808080;">=</span><span style="color:#000000;"> </span><span style="color:#ff00ff;">DateAdd</span><span style="color:#808080;">(</span><span style="color:#000000;">hh</span><span style="color:#808080;">,</span><span style="color:#000000;"> </span><span style="color:#808080;">-</span><span style="color:#ff00ff;">DatePart</span><span style="color:#808080;">(</span><span style="color:#000000;">hh</span><span style="color:#808080;">,</span><span style="color:#000000;"> @DateTime</span><span style="color:#808080;">),</span><span style="color:#000000;"> @DateTime</span><span style="color:#808080;">);<br />
</span></span><span style="font-size:10pt;font-family:&quot;"><span><span style="color:#000000;">      </span></span><span style="color:#0000ff;">Select</span><span style="color:#000000;"> @DateTime </span><span style="color:#808080;">=</span><span style="color:#000000;"> </span><span style="color:#ff00ff;">DateAdd</span><span style="color:#808080;">(</span><span style="color:#000000;">mi</span><span style="color:#808080;">,</span><span style="color:#000000;"> </span><span style="color:#808080;">-</span><span style="color:#ff00ff;">DatePart</span><span style="color:#808080;">(</span><span style="color:#000000;">mi</span><span style="color:#808080;">,</span><span style="color:#000000;"> @DateTime</span><span style="color:#808080;">),</span><span style="color:#000000;"> @DateTime</span><span style="color:#808080;">);<br />
</span></span><span style="font-size:10pt;font-family:&quot;"><span><span style="color:#000000;">      </span></span><span style="color:#0000ff;">Select</span><span style="color:#000000;"> @DateTime </span><span style="color:#808080;">=</span><span style="color:#000000;"> </span><span style="color:#ff00ff;">DateAdd</span><span style="color:#808080;">(</span><span style="color:#000000;">ss</span><span style="color:#808080;">,</span><span style="color:#000000;"> </span><span style="color:#808080;">-</span><span style="color:#ff00ff;">DatePart</span><span style="color:#808080;">(</span><span style="color:#000000;">ss</span><span style="color:#808080;">,</span><span style="color:#000000;"> @DateTime</span><span style="color:#808080;">),</span><span style="color:#000000;"> @DateTime</span><span style="color:#808080;">);<br />
</span></span><span style="font-size:10pt;font-family:&quot;"><span><span style="color:#000000;">      </span></span><span style="color:#0000ff;">Select</span><span style="color:#000000;"> @DateTime </span><span style="color:#808080;">=</span><span style="color:#000000;"> </span><span style="color:#ff00ff;">DateAdd</span><span style="color:#808080;">(</span><span style="color:#000000;">ms</span><span style="color:#808080;">,</span><span style="color:#000000;"> </span><span style="color:#808080;">-</span><span style="color:#ff00ff;">DatePart</span><span style="color:#808080;">(</span><span style="color:#000000;">ms</span><span style="color:#808080;">,</span><span style="color:#000000;"> @DateTime</span><span style="color:#808080;">),</span><span style="color:#000000;"> @DateTime</span><span style="color:#808080;">);</span></span></p>
<div></div>
<p><span style="color:#7f7f7f;font-family:&quot;"></p>
<p class="MsoNormal" style="line-height:normal;text-align:left;margin:0;" dir="ltr"><span style="font-size:10pt;font-family:&quot;"><span style="color:#000000;"><span>  </span></span></span><span style="font-size:10pt;font-family:&quot;"><span><span style="color:#000000;">    </span></span><span style="color:#008000;">&#8211; Add the T-SQL statements to compute the return value here<br />
</span></span></p>
<div class="MsoNormal" style="line-height:normal;text-align:left;margin:0;" dir="ltr"><span style="font-size:10pt;font-family:&quot;"><span><span style="color:#000000;">      </span></span><span style="color:#0000ff;">Select</span><span style="color:#000000;"> @Result </span><span style="color:#808080;">=</span><span style="color:#000000;"> @DateTime</span></span></div>
<p><span style="font-size:10pt;font-family:&quot;"><span style="color:#000000;"></p>
<p style="text-align:left;" dir="ltr"><span style="font-size:10pt;font-family:&quot;"><span><span style="color:#000000;">      </span></span><span style="color:#008000;">&#8211; Return the result of the function<br />
</span></span><span style="font-size:10pt;font-family:&quot;"><span><span style="color:#000000;">      </span></span><span style="color:#0000ff;">RETURN</span><span style="color:#000000;"> @Result</span></span><span style="font-size:10pt;font-family:&quot;"><span style="color:#000000;"> <br />
</span></span><span style="font-size:10pt;color:#0000ff;font-family:&quot;">END</span></p>
<p></span></span> </p>
<p></span> </p>
<p></span></p>
<p class="MsoNormal" style="line-height:normal;text-align:left;margin:0;" dir="ltr"> </p>
<p class="MsoNormal" style="direction:rtl;line-height:normal;unicode-bidi:embed;text-align:right;margin:0;" dir="rtl"><span style="font-size:10pt;color:#7f7f7f;font-family:&quot;">طبعا الفكرة بأنني قمت بإيجاد أجزاء الوقت (الساعة، الدقائق، الثواني، أجزاء الثواني) على الترتيب من التاريخ</span><span style="font-size:10pt;color:#7f7f7f;font-family:&quot;"> وطرحها منه.</span></p>
<p class="MsoNormal" style="direction:rtl;line-height:normal;unicode-bidi:embed;text-align:right;margin:0;" dir="rtl"> </p>
<p class="MsoNormal" style="direction:rtl;line-height:normal;unicode-bidi:embed;text-align:right;margin:0;" dir="rtl"> </p>
<p class="MsoNormal" style="direction:rtl;line-height:normal;unicode-bidi:embed;text-align:right;margin:0;" dir="rtl"> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kanaan85.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kanaan85.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kanaan85.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kanaan85.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kanaan85.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kanaan85.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kanaan85.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kanaan85.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kanaan85.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kanaan85.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kanaan85.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kanaan85.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kanaan85.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kanaan85.wordpress.com/80/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kanaan85.wordpress.com&amp;blog=2943185&amp;post=80&amp;subd=kanaan85&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kanaan85.wordpress.com/2008/10/15/getdataonly/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
<enclosure url="" length="" type="" />
	
		<media:content url="http://1.gravatar.com/avatar/fc9fb0a128c9a23601091f1e32f664ec?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">كنعان</media:title>
		</media:content>
	</item>
	</channel>
</rss>
