<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5575198935019430700</id><updated>2012-02-16T06:39:01.376-08:00</updated><category term='VBScript'/><category term='WAP'/><category term='Microsoft'/><category term='SilverLight'/><category term='37 Signals'/><category term='.net 2008'/><category term='Winners'/><category term='AJAX'/><category term='Expression Blend'/><category term='Oracle'/><category term='Prolog'/><category term='Announcements'/><category term='C#'/><category term='Tips And Tricks'/><category term='VB.net'/><category term='RSS'/><category term='MFC'/><category term='General'/><category term='Pocket PC'/><category term='Microsoft Access'/><category term='Graduation Projects'/><category term='Web Applications'/><category term='Design Patterns'/><category term='ASP.net'/><category term='Books'/><title type='text'>FCI-H Arabic</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ahmed Essawy</name><uri>http://www.blogger.com/profile/02553277669431055635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://photos1.blogger.com/x/blogger2/7453/3526/226/z/959410/gse_multipart31946.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>38</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-6253872507665715735</id><published>2010-04-22T15:14:00.000-07:00</published><updated>2010-04-22T15:20:44.269-07:00</updated><title type='text'>قاموس عيون العرب التقني</title><content type='html'>مشروع عيون العرب (ArabEyes) يدير حاليا قاموس تقني انجليزي-عربي على نظام الويكي لتعريب المصطلحات التقنية الإنجليزية.&lt;br /&gt;&lt;br /&gt;ليست كل الكلمات مترجمة بعد، وبعضهم مازال خاضع للمناقشة من قبل اعضاء الويكي. بعض المصطلحات لها عدة اقتراحات وتمر تلك الإقتراحات بعملية تصويت.&lt;br /&gt;&lt;br /&gt;هذا القاموس التقني يستخدم كمرجع في تعريب البرمجيات الحرة مفتوحة المصدر مثل اوبونتو وأوبن أوفيس.&lt;br /&gt;سواء أردت ان تبحث عن تعريب مصطلح تقني أو أردت أن تضع بصمتك وترشح تعريب معين لمصطلح ما، فأنت دائما موضع ترحيب على العنوان التالي:&lt;br /&gt;http://wiki.arabeyes.org/القاموس_التقني .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-6253872507665715735?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/6253872507665715735/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=6253872507665715735' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/6253872507665715735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/6253872507665715735'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2010/04/blog-post.html' title='قاموس عيون العرب التقني'/><author><name>Mohammad Alaggan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://1.bp.blogspot.com/-GRdIwXAujpA/TtsetfBGQ6I/AAAAAAAAC7E/GQhFISn43mQ/s1600/n552022084_44018_9644.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-3268457268248795860</id><published>2009-08-19T05:28:00.001-07:00</published><updated>2009-08-19T05:28:43.435-07:00</updated><title type='text'>Integrating SSIS with C# to deliver very scalable Data-Driven Solution</title><content type='html'>&lt;p style="direction:rtl;text-align:right;"&gt;نوضح في هذه المقاله استخدام ال SSIS  لبناء C# application to get very scalable data-driven solution  و كيفيه ارتباط ال C#  بالـ SSIS&lt;/p&gt;&lt;p style="direction:rtl;text-align:right;"&gt;ما هم ال SSIS  ؟؟ كيفيه الحصول عليه ؟؟ وماهي مميزاته؟؟ وفيما يستخدم اكثر؟؟&lt;/p&gt;&lt;p style="direction:rtl;text-align:right;"&gt;اولا SSIS  تعني SQL Server Integration Services  وهى احدى منتجات ميكروسوفت ويأتي مع جميع نسخ ال SQL Server  ما عدا ال Express  كان يسمى فيما سبق DTS  لكن SSIS  يعتبر منتج جديد وليس تحديثا من ال DTS&lt;/p&gt;&lt;p style="direction:rtl;text-align:right;"&gt;هي اداه قامت ميكروسوفت بتطويره و اخراجه للسوق عام 2007 وتهدف الى نقل البيانات من اكثر من Data Repository  الى Data Repository  اخر مثلا نقل البيانات من ملف نصي، ملف Excel  او قاعاده بيانات SQL or Access  الى جدول في قاعده بيانات في ال SQL Server  دون الحاجه لوجود SQL Server  ولا يجب مصدر البيانات او وصول البيانات SQL Server بأختصار يكمن استخدمها لنقل البيانات من ملف نصي الى قاعده بيانات Oracle تعتبر ال SSIS  اداه ETL (Extract, Transform, and Load)  اي انها تقوم بأخد البيانات من المصادر تحسين البيانات بشكل وتنظيمه وبعد هذا نقلها الى نقطه الوصول.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;a href="http://www.vb4arab.com/vb/uploaded/17528/01250248493.png"&gt;&lt;img class="alignnone" title="1" src="http://www.vb4arab.com/vb/uploaded/17528/01250248493.png" alt="" width="415" height="173" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="direction:rtl;text-align:right;"&gt;&lt;a href="http://www.vb4arab.com/vb/uploaded/17528/01250248493.png"&gt;&lt;/a&gt;تستخدم في تطوير Business Intelligence Applications حيث ان هذه ال Applications  تعتمد على مستودعات بيانات ضخمة Huge Data Repository تسمى Data Warehouse ويتم  تطوير ال Data Warehouse بأخذ البيانات من المصادر المختلفه وتكوين ال Data  Warehouse وكما قلنا ان ال SSIS من يقوم بعمل هذا.&lt;br /&gt;من احدى مميزات ال SSIS انه  يمكن تحميل البيانات من مصادر مختلفه و وضعها في DataReader في بيئه ال .NET ويمكن  الدمج بين C# Application و SSIS Package و تعتبر ال SSIS Package هي الناتج من عمل  ال SSIS كما سوف نتعلم في هذه المقاله.&lt;br /&gt;تطبيق :&lt;br /&gt;سنحاول في هذا التطبيق فصل ال  Developer عن مركز تواجد البيانات حيث انه من الممكن ان يوجد اكتر من مركز للبيانات  ولكن نريد ان نعرض هذه البيانات في Application دون الحاجه للتعديل في أي شيء،  وبدلاً من بناء اكثر من اداه لهذا الغرض ، لدينا SSIS لتقدم لنا حل الدمج بين ال  Application و ال SSIS .&lt;br /&gt;&lt;a href="http://www.vb4arab.com/vb/uploaded/17528/11250248493.png"&gt;&lt;img class="alignnone" title="2" src="http://www.vb4arab.com/vb/uploaded/17528/11250248493.png" alt="" width="450" height="330" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="direction:rtl;text-align:right;"&gt;&lt;a href="http://www.vb4arab.com/vb/uploaded/17528/11250248493.png"&gt;&lt;/a&gt; اولا نبدأ بعمل ال SSIS Package وسوف نقوم الان خطوه بخطوه بكيفيه بنائها&lt;/p&gt;&lt;br /&gt;&lt;p style="direction:rtl;text-align:right;"&gt;1- &lt;span style="direction:rtl;text-align:right;"&gt;افتح &lt;/span&gt;&lt;span&gt;Microsoft  Visual Studio 2008&lt;/span&gt;&lt;span&gt; من القائمه اختار &lt;/span&gt;&lt;span&gt;File -&amp;gt; New-&amp;gt;Project &lt;/span&gt;&lt;span&gt;من &lt;/span&gt;&lt;span&gt;Project types &lt;/span&gt;&lt;span&gt;اختار &lt;/span&gt;&lt;span&gt;Business intelligence projects &lt;/span&gt;&lt;span&gt;ثم &lt;/span&gt;&lt;span&gt;Integration Services  Project&lt;/span&gt;&lt;span&gt; و نسميه &lt;/span&gt;&lt;span&gt;DataCollector&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;img class="alignnone" title="3" src="http://www.vb4arab.com/vb/uploaded/17528/21250248493.png" alt="" width="408" height="293" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;p style="direction:rtl;text-align:right;"&gt;&lt;span&gt;2- نلاحظ وجود SSIS Packages في ال Server Explorer نسميه  DataCollectorPackage.dtsx ونسحب Data Flow Task من شريط الادوات ونضعه في Control  Flow كما هو مبين&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt; &lt;a href="http://www.vb4arab.com/vb/uploaded/17528/31250248493.png"&gt;&lt;img class="alignnone" title="4" src="http://www.vb4arab.com/vb/uploaded/17528/31250248493.png" alt="" width="708" height="150" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="direction:rtl;text-align:right;"&gt;3- ننقر مرتين على ال Data Flow Task لكي نبني تحميل الData من اكتر من مصدر كما هو  في حالتنا تحميله من Excel File و Text File و قاعده بيانات ووضعها في Data Reader  كما سنشاهد تباعا&lt;/div&gt;&lt;br /&gt;&lt;div style="direction:rtl;text-align:right;"&gt;4- نسحب من شريط الادوات جزء Data Flow Sources 3 مصادر  للبيانات Excel Source و ADO.NET Source و Flat File Source كما هو مبين&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.vb4arab.com/vb/uploaded/17528/41250248493.png"&gt;&lt;img class="alignnone" title="5" src="http://www.vb4arab.com/vb/uploaded/17528/41250248493.png" alt="" width="383" height="52" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="direction:rtl;text-align:right;"&gt;نلاحظ وجود علامه x&lt;span&gt; حمراء تدل على وجود خطأ ما وهذا ناتج على  عدم وجود اتصال هذه المصادر بمصادر بيانات حقيقيه وهو ما سنحاول التخلص من هذه  العلامه الحمراء الامر الذي لن يستغرق غير بضع ثوان.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span&gt; &lt;/span&gt;&lt;br /&gt;&lt;div style="direction:rtl;text-align:right;"&gt;5- نضغط بالزر الايمن للماوس على Excel Source لربطه بملف Excel  واختار Edit يظهرلك Dialog اختار New لعمل Connection Manager لهذا الملف كما هو  مبين&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.vb4arab.com/vb/uploaded/17528/51250248493.png"&gt;&lt;img class="alignnone" title="6" src="http://www.vb4arab.com/vb/uploaded/17528/51250248493.png" alt="" width="407" height="231" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="direction:rtl;text-align:right;"&gt;بعد ذلك Preview للتأكد من صحة البيانات و اختار بعد ذلك OK&lt;/div&gt;&lt;br /&gt;&lt;div style="direction:rtl;text-align:right;"&gt;6- كرر عد ذلك هذه  العمليه مع باقي مصادر البيانات.&lt;/div&gt;&lt;br /&gt;&lt;div style="direction:rtl;text-align:right;"&gt;7- نسحب من شريط الادوات جزء ال Data  Transformation مايسمى بال Data Conversion والسبب هنا ان البيانات تأتي من اكتر من  مصدر حيث ال String من قاعده البيانات يختلف مع الملف النصي مع ال Excel Sheet لذا  يجب وهذا الزام ان نوحد نوع البيانات و طولها. اسحب السهم الاخضر من كل مصدر الى  واحد من ال Data Conversion&lt;/div&gt;&lt;br /&gt;&lt;div style="direction:rtl;text-align:right;"&gt;8- اضغط بالازر اليمن للماوس على واحد من ال Data  Conversion حيث سوف نقوم بتكرار هذه العمليه مع الباقي وبعد ذلك Edit&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.vb4arab.com/vb/uploaded/17528/01250248716.png"&gt;&lt;img class="alignnone" title="7" src="http://www.vb4arab.com/vb/uploaded/17528/01250248716.png" alt="" width="417" height="294" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="direction:rtl;text-align:right;"&gt;وبعد ذلك OK&lt;span&gt; . لا تنس ان تكرر هذه العمليه مع  الباقي!!&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="direction:rtl;"&gt;9- اسحب من شريط الادوات جزء ال Data  Transformation مايسمى بال Union All وواضح من الاسم انه يجمع اكتر من شكل للبيانات  في وحده واحده. كل ما عليك ان تسحب كل الاسهم الخارجه من ال Data Conversion  ووادخالها في ال Union All&lt;/div&gt;&lt;br /&gt;&lt;div style="direction:rtl;text-align:right;"&gt;10- اسحب من شريط الادوات جزء ال Data  Transformation مايسمى بال Sort لترتيب البيانات المجمعه من اكتر من مصدر البيانات&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.vb4arab.com/vb/uploaded/17528/11250248716.png"&gt;&lt;img class="alignnone" title="8" src="http://www.vb4arab.com/vb/uploaded/17528/11250248716.png" alt="" width="353" height="392" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="direction:rtl;text-align:right;"&gt;11- اسحب من شريط الادوات جزء ال Data Flow Destination مايسمى بال Data Reader  Destination ونسحب السهم الخارج من Sort لل Data Reader Destination ونسمي هذا  DataReaderDest&lt;/div&gt;&lt;br /&gt;&lt;div style="direction:rtl;text-align:right;"&gt;12- لقد انتهينا بالفعل وال Data Flow يجب ان يكون مثل هذا&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.vb4arab.com/vb/uploaded/17528/21250248716.png"&gt;&lt;img class="alignnone" title="9" src="http://www.vb4arab.com/vb/uploaded/17528/21250248716.png" alt="" width="367" height="242" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="direction:rtl;text-align:right;"&gt;13- اضغط F5 لبناء ال Package يجب ان تظهرك جميع البيانات مرتبه (ستجد الملفات  مدمجه مع هذا المقال) ان وجد خطأ لا تتردد في سوألي.&lt;/div&gt;&lt;br /&gt;&lt;div style="direction:rtl;text-align:right;"&gt;14- حان الوقت لبناء ال C#  Application وهذا سوف يأخد وقت صغير و هو كل ما عليك فعله اضافه مشروع من نوع C#  Windows Forms Application وادراج DataGridView و Button من شريط الادوات&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.vb4arab.com/vb/uploaded/17528/31250248716.png"&gt;&lt;img class="alignnone" title="10" src="http://www.vb4arab.com/vb/uploaded/17528/31250248716.png" alt="" width="221" height="136" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="direction:rtl;text-align:right;"&gt;15- من القائمه الرئيسيه Project ثم Add reference لهذه الملفات&lt;/div&gt;&lt;br /&gt;&lt;div style="direction:rtl;text-align:right;"&gt;16- نقرتين على  ال Button لتنفيذ ال Event Handler لل Click ونكتب هذه الاسطر&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.vb4arab.com/vb/uploaded/17528/41250248716.png"&gt;&lt;img class="alignnone" title="11" src="http://www.vb4arab.com/vb/uploaded/17528/41250248716.png" alt="" width="430" height="272" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="direction:rtl;text-align:right;"&gt;مؤكد ان هذه الاسطر لكن لنشرحها أيضاً ، بنظره مبدأيه هنا نعتبر ال Package مثل  قاعده البيانات نأخد منها البيانات لذا يجب توافر شيئين مهمين اولا ال Connection  String و Command&lt;/div&gt;&lt;br /&gt;&lt;div style="direction:rtl;text-align:right;"&gt;بالنسبه لل Connection String يمكن الحصول على ال Package  بأكثر من طريقه الاختصار هنا نحصل عليها وهي موجوده في ال HDD لذا في ال Connection  String كلمة /FILE نأتي لل Command ونعطيه الشئ الذي يحصل على البيانات منه وهو ال  Data Reader Destination وكما سمناه في ال Package DataReaderDest و ننفذ هذا ال  Command ، الناتج سيعود بكائن من النوعReader لذلك اخذنا instance من IDataReader  والباقي هو تحميل هذه البيانات الي ال DataGridView كما هو موضح&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.vb4arab.com/vb/uploaded/17528/51250248716.png"&gt;&lt;img class="alignnone" title="13" src="http://www.vb4arab.com/vb/uploaded/17528/51250248716.png" alt="" width="377" height="243" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="direction:rtl;text-align:right;"&gt;والسلام عليكم ورحمه الله وبركاته&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-3268457268248795860?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/3268457268248795860/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=3268457268248795860' title='1 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/3268457268248795860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/3268457268248795860'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2009/08/integrating-ssis-with-c-to-deliver-very.html' title='Integrating SSIS with C# to deliver very scalable Data-Driven Solution'/><author><name>Ramy Mahrous</name><uri>http://www.blogger.com/profile/06875204608099539248</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='30' src='http://1.bp.blogspot.com/-6SG7uuFZwQA/TqnktLEtxII/AAAAAAAABZM/GZC2BK5ts1k/s220/61257_10150280905095384_891040383_14986717_3709718_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-2447191670645419535</id><published>2009-08-15T12:12:00.000-07:00</published><updated>2009-08-15T12:19:12.218-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='37 Signals'/><category scheme='http://www.blogger.com/atom/ns#' term='Books'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Applications'/><title type='text'>كتاب يشرح كيفية تصميم و تنفيذ تطبيقات ويب فعالة و ناجحة</title><content type='html'>&lt;div style="text-align: right;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://gettingreal.37signals.com/GR_arb.php"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 213px;" src="http://2.bp.blogspot.com/_gbkwVBGuZIA/SocIyyypizI/AAAAAAAAAcs/S52pkmFILnI/s320/homecover.jpg" alt="" id="BLOGGER_PHOTO_ID_5370270749383297842" border="0" /&gt;&lt;/a&gt;ا&lt;span style="color: rgb(51, 0, 0);font-size:130%;" &gt;لكتاب مقدم من شركة&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 0, 0);font-size:130%;" &gt; 37 Signals&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 0, 0);font-size:130%;" &gt;يشرح الكتاب فعليا كيف يمكنك التفكير و التخطيط لتطبيقات الويب. الكتاب مجانا لمن يريد قراءته عبر الإنترنت :)... الآن الكتاب &lt;a href="http://gettingreal.37signals.com/GR_arb.php"&gt;بالعربية&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 0, 0);font-size:130%;" &gt;شكرا لكم&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 0, 0);font-size:130%;" &gt;&lt;a href="http://37signals.com/svn"&gt; &lt;span style="font-weight: bold;"&gt;37 Signals&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 0, 0);"&gt; :D&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: right;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-2447191670645419535?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/2447191670645419535/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=2447191670645419535' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/2447191670645419535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/2447191670645419535'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2009/08/blog-post.html' title='كتاب يشرح كيفية تصميم و تنفيذ تطبيقات ويب فعالة و ناجحة'/><author><name>Noha Mahmoud</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_gbkwVBGuZIA/R-TMMKYU2OI/AAAAAAAAAEE/aBKTflshTRI/S220/Noha.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_gbkwVBGuZIA/SocIyyypizI/AAAAAAAAAcs/S52pkmFILnI/s72-c/homecover.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-647769409733747438</id><published>2008-11-19T14:58:00.001-08:00</published><updated>2008-11-20T02:39:59.230-08:00</updated><title type='text'>خطوة بخطوة مع .net 2008</title><content type='html'>&lt;div dir="rtl"&gt;  &lt;p align="right"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;بسم الله الرحمن الرحيم .&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;بحمد الله تم الانتهاء من كتاب خطوة بخطوة مع عالم Visual Studio 2008 .&lt;/span&gt; &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;&lt;p align="right"&gt;&lt;strong&gt;يقدم الكتاب للنسخة الجديدة من فيجوال ستوديو من خلال C# و Vb.net عبر 22 باباً تتحدث عن الفيجوال ستوديو ابتداء باصدارته وطرق تحميله ، مروراً بعرض مفاهيم بيئة .net الرئيسية ، أساسيات كتابة الكود ولغة البرمجة ، Classes And Interfaces ، الأخطاء Debuginig ، المجموعات COLLECTIONS ، وسائل الادخال والاخرج IO ، واجهات Windows Forms ، عالم GDI+ و WPF ، قواعد البيانات من خلال ADO.net ، ثم LINQ و WWF و WCF وبرمجة ال Pocket PC ثم الانتهاء بالاطلاع على برمجة المواقع من خلال ASP.net .&lt;/strong&gt;&lt;/p&gt;&lt;/span&gt;&lt;p align="center"&gt;&lt;a href="http://lh5.ggpht.com/_FUmkjQ7foTw/SSSZ6IIw0hI/AAAAAAAAAOs/JJDVdMFxPXc/s1600-h/_net2008%5B4%5D.jpg"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="351" alt="_net2008" src="http://lh5.ggpht.com/_FUmkjQ7foTw/SSSZ_pCqJ7I/AAAAAAAAAOw/QXzQVWVd83k/_net2008_thumb%5B2%5D.jpg?imgmax=800" width="248" border="0" /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;a href="http://vb4arab.com/dotNet_2008.zip"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;تحميل الكتاب من هنا &lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;أجدد الشكر لكل من ساهم في اتمام هذا الكتاب واخراجه ، وأتمنى أن يكون في بعض محتوياته الفائدة والنفع .&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;والله الموفق ...&lt;br /&gt;والسلام عليكم ورحمة الله وبركاته .&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-647769409733747438?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/647769409733747438/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=647769409733747438' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/647769409733747438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/647769409733747438'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/11/net-2008.html' title='خطوة بخطوة مع .net 2008'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_FUmkjQ7foTw/SSSZ_pCqJ7I/AAAAAAAAAOw/QXzQVWVd83k/s72-c/_net2008_thumb%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-9167974262752255445</id><published>2008-08-25T06:38:00.001-07:00</published><updated>2008-08-25T06:49:34.950-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.net'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='WAP'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>مدخل إلى WAP</title><content type='html'>&lt;div dir="rtl"&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;&lt;font color="#ff0000"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;&lt;font color="#ff0000"&gt;مقدمة :&lt;/font&gt; &lt;br&gt;في هذا الدرس ، سوف نتعرف سوية على التقنية المعروفة باسم Wireless Application Protocol والتي تعرف اختصاراً باسم WAP ، كما سنتطرق في الجزء الثاني من هذا الدرس إلى كيفية التعامل مع هذه التقنية من خلال .net . &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;&lt;font color="#ff0000"&gt;الجزء الأول من الدرس : تعريف بالتقنية ...&lt;/font&gt; &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;&lt;font color="#ff0000"&gt;تطبيقات الموبايل Mobile Application :&lt;/font&gt; &lt;br&gt;لم يعد الموبايل وسيلة اتصال بسيطة لاجراء المكالمات الهاتفية مثلما كان الهدف منه وقت ظهوره ، إنما تطور الأمر الآن ليصبح الموبايل وسيلة خدمية وترفيهية وتعليمية أيضاً ، ولم يعد الموبايل يستخدم من أجل المكالمات بل أصبح يستخدم في الدخول على الانترنت واستخدام التطبيقات المتقدمة والملتيميديا وغيرها . &lt;br&gt;ولهذا السبب وغيره ظهرت مصطلحات جديدة لتدل على تطبيقات الموبايل وبرامجه ونظم التشغيل الخاص به ، وكان من ضمن هذه المصطلحات مصطلح WAP مردافاً لمصطلح WEB على الحاسبات الشخصية والذي يرتبط بعالم الإنترنت وخدماته . &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;&lt;font color="#ff0000"&gt;ما هو ال WAP ؟ &lt;br&gt;&lt;/font&gt;كما اسلفنا سابقاً فكلمة WAP هي اختصار لكلمة Wireless Application Protocol ، وكما هو واضح من الاسم فإن هذا يعني ان WAP هي معيار أو Standerd عالمي يهدف إلى ربط أجهزة الهواتف النقالة Mobiles بالإرتباط بالإنترنت ، وتم تطويره في النصف الثاني من تسعينات القرن المنصرم . &lt;br&gt;وقد جاء هذا البروتوكول الموحد ليلم شتات أفكار شركات المحمول الكبرى والتي كانت كل منها تعمل منفردة وفي اتجاه مختلف عن الآخرين . &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br&gt;....&lt;br&gt;&lt;span class="fullpost"&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;&lt;font color="#ff0000"&gt;كيف تعمل WAP ؟ &lt;br&gt;&lt;/font&gt;تتميز WAP عن WEB بأنها تعمل في اطار امكانيات الهواتف المحمولة ، وهذا ما يستلزم بالضرورة تصغير حجم البيانات والتعامل مع ضعف السرعة وضعف قدرات المعالجات الخاصة بالأجهزة المحمولة مقارنة بالأجهزة الشخصية وصغر حجم الشاشة التي يتم عرض البيانات من خلالها أيضاً . &lt;br&gt;ومن خلال تقنية ال WAP تم لم شمل شتات شركات المحمول الكبرى والتي كانت كل منها تسير فريدة في اتجاه مختلف سعياً لادخال خدمات الانترنت على أجهزتها المحمولة . &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;وتبدأ قصة ال WAP من خلال طلب العميل ل URL معين لصفحة ما أو لملف وخلافه ، وفي حالة طلب صفحة فإنه يتم ترجمة HTML إلى WML وهي طريقة عرض مناظرة لل HTML يتم استخدامها ضمن بروتوكول ال WAP وسوف نشرحها في الفقرة التالية ... &lt;br&gt;والجدير بالذكر أن بعض الهواتف المحمولة أصبحت تدعم HTML أيضاً ... &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;&lt;font color="#ff0000"&gt;ما هي WML ؟ &lt;br&gt;&lt;/font&gt;هي طريقة لوصف البيانات مشابهة جداً لطريقة عمل HTML ولكنها على معايير XML ، وتختلف عن HTML في عدد من النقاط منها : &lt;br&gt;- الوسم Tag الرئيسي هو &amp;lt;wml&amp;gt; بدلاً من &amp;lt;html&amp;gt; &lt;br&gt;- ينقسم المستند إلى بطاقات Cards لتسهيل العرض حيث تبدأ كل بطاقة بـ &amp;lt;card&amp;gt; وتنتهي أيضاً بـ &amp;lt;card/&amp;gt; . &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#ff0000" size="3"&gt;&lt;strong&gt;الجزء الثاني من الدرس : تعليم WML باختصار ... &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;بداية سنعرض مثالاً يوضح كيفية كتابة WML وذلك بالشكل التالي مثلاً - من ويكيبديا - : &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;table cellspacing="0" cellpadding="2" width="500" border="2"&gt; &lt;tbody dir="ltr"&gt; &lt;tr&gt; &lt;td valign="top" width="500"&gt;&lt;strong&gt;&lt;font size="3"&gt;&amp;lt;?xml version="1.0"?&amp;gt; &lt;br&gt;&amp;lt;!DOCTYPE wml PUBLIC "-//PHONE.COM//DTD WML 1.1//EN" &lt;br&gt;"&lt;/font&gt;&lt;/strong&gt;&lt;a href="http://www.phone.com/dtd/wml11.dtd" ?="?"&gt;&lt;strong&gt;&lt;font size="3"&gt;http://www.phone.com/dtd/wml11.dtd"&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;font size="3"&gt; &amp;gt; &lt;br&gt;&amp;lt;wml&amp;gt; &lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;lt;card id="main" title="First Card"&amp;gt; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p mode="wrap"&amp;gt;This is a sample WML page.&amp;lt;/p&amp;gt; &lt;br&gt;&amp;lt;/card&amp;gt; &lt;br&gt;&amp;lt;/wml&amp;gt; &lt;br&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;&amp;nbsp;&lt;/font&gt;&lt;/strong&gt;&lt;strong&gt;&lt;font size="3"&gt;&lt;font color="#ff0000"&gt;قراءة القيم المختلفة وتخزينها وعرضها للمستخدم : &lt;br&gt;&lt;/font&gt;بكل بساطة يمكنك تعريف المتغيرات واسناد قيم لها بالشكل التالي : &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;table cellspacing="0" cellpadding="2" width="500" border="2"&gt; &lt;tbody dir="ltr"&gt; &lt;tr&gt; &lt;td valign="top" width="496"&gt;&lt;strong&gt;&lt;font size="3"&gt;&amp;lt;setvar name="First_Name" value="Ahmed"/&amp;gt; &lt;br&gt;&amp;lt;setvar name="Age" value="21"/&amp;gt; &lt;br&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;ولاحقاً يمكنك عرضها بالشكل التالي مثلاً : &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;table cellspacing="0" cellpadding="2" width="500" border="2"&gt; &lt;tbody dir="ltr"&gt; &lt;tr&gt; &lt;td valign="top" width="500"&gt;&lt;font size="3"&gt;&lt;strong&gt;&amp;lt;p&amp;gt;First Name: $(First_Name)&amp;lt;/p&amp;gt;&lt;/strong&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;ويمكن ايضاً قراءة قيمة مربع نص أو Select بنفس الطريقة تماماً حيث يتم وضع اسم الأداة بدلاً من اسم المتغير ... &lt;br&gt;مثال لقراءة قيم أداة اختيار وعرضها للمستخدم - المثال منقول من موقع فرعون - : &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;table cellspacing="0" cellpadding="2" width="500" border="2"&gt; &lt;tbody dir="ltr"&gt; &lt;tr&gt; &lt;td valign="top" width="500"&gt;&lt;strong&gt;&lt;font size="3"&gt;&amp;lt;card id="card1" title="Tutorial"&amp;gt; &lt;br&gt;&amp;lt;do type="accept" label="Answer"&amp;gt; &lt;br&gt;&amp;lt;go href="#card2"/&amp;gt; &lt;br&gt;&amp;lt;/do&amp;gt; &lt;br&gt;&amp;lt;p&amp;gt; &lt;br&gt;&amp;lt;select name="name"&amp;gt; &lt;br&gt;&amp;lt;option value="HTML"&amp;gt;HTML Tutorial&amp;lt;/option&amp;gt; &lt;br&gt;&amp;lt;option value="XML"&amp;gt;XML Tutorial&amp;lt;/option&amp;gt; &lt;br&gt;&amp;lt;option value="WAP"&amp;gt;WAP Tutorial&amp;lt;/option&amp;gt; &lt;br&gt;&amp;lt;/select&amp;gt; &lt;br&gt;&amp;lt;/p&amp;gt; &lt;br&gt;&amp;lt;/card&amp;gt; &lt;br&gt;&amp;lt;card id="card2" title="Answer"&amp;gt; &lt;br&gt;&amp;lt;p&amp;gt; &lt;br&gt;You selected: $(name) &lt;br&gt;&amp;lt;/p&amp;gt; &lt;br&gt;&amp;lt;/card&amp;gt; &lt;br&gt;&amp;lt;/wml&amp;gt; &lt;br&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;الجزء الثالث والأخير من الدرس : أريد برمجة موقع ASP.net يدعم ال WAP ... &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;إذا قمنا بتحويل التطبيق الذي عرضناه في أول المقالة - المنقول من ويكيبيديا - والذي كان بالشكل التالي : &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;table cellspacing="0" cellpadding="2" width="500" border="2"&gt; &lt;tbody dir="ltr"&gt; &lt;tr&gt; &lt;td valign="top" width="500"&gt;&lt;strong&gt;&lt;font size="3"&gt;&amp;lt;?xml version="1.0"?&amp;gt; &lt;br&gt;&amp;lt;!DOCTYPE wml PUBLIC "-//PHONE.COM//DTD WML 1.1//EN" &lt;br&gt;"&lt;/font&gt;&lt;/strong&gt;&lt;a href="http://www.phone.com/dtd/wml11.dtd" ?="?"&gt;&lt;strong&gt;&lt;font size="3"&gt;http://www.phone.com/dtd/wml11.dtd"&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;font size="3"&gt; &amp;gt; &lt;br&gt;&amp;lt;wml&amp;gt; &lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;lt;card id="main" title="First Card"&amp;gt; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p mode="wrap"&amp;gt;This is a sample WML page.&amp;lt;/p&amp;gt; &lt;br&gt;&amp;lt;/card&amp;gt; &lt;br&gt;&amp;lt;/wml&amp;gt; &lt;br&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;strong&gt;وقمنا بتحويله إلى .net فسوف يكون بالشكل التالي : &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;table cellspacing="0" cellpadding="2" width="500" border="2"&gt; &lt;tbody dir="ltr"&gt; &lt;tr&gt; &lt;td valign="top" width="500"&gt;&lt;strong&gt;&lt;font size="3"&gt;&amp;lt;%@ Page Inherits="System.Mobile.UI.MobilePage" Language="C#" %&amp;gt; &lt;br&gt;&amp;lt;%@ Register TagPrefix="mobile" Namespace="System.Mobile.UI" %&amp;gt; &lt;br&gt;&amp;lt;mobile:Form runat="server"&amp;gt; &lt;br&gt;&amp;lt;mobile:Label runat="server"&amp;gt; &lt;br&gt;This is a sample WML page. &lt;br&gt;&amp;lt;/mobile:Label&amp;gt; &lt;br&gt;&amp;lt;/Mobile:Form&amp;gt;&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;في حالة رغبت في التعامل بواسطة VB.net غير السطر الأول فقط ليصبح بالشكل التالي : &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;table cellspacing="0" cellpadding="2" width="500" border="2"&gt; &lt;tbody dir="ltr"&gt; &lt;tr&gt; &lt;td valign="top" width="500"&gt;&lt;strong&gt;&lt;font size="3"&gt;&amp;lt;%@ Page Inherits="System.Mobile.UI.MobilePage" Language="C#" %&amp;gt;&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&lt;strong&gt;&lt;br&gt;&lt;font size="3"&gt;والآن عند طلب الصفحة من قبل العميل ، يتم أولاً تحويل الصفحة إلى wml في حالة كان الطلب من جهاز هاتف محمول ، أو يتم التحويل مباشرة إلى HTML في حالة طلب الموقع من جهاز شخصي أو كومبيوتر كفي . &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;كان هذا أبسط مثال لتطبيق WAB من خلال .NET ، ولكن ما زال بامكانك عمل الكثير في هذا المجال في موضوع برمجة الموقع عموماً ، وفي التعرف على الأجهزة الزائرة وامكانياتها وغير ذلك من الخيارات المتقدمة خصوصاً .&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-9167974262752255445?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/9167974262752255445/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=9167974262752255445' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/9167974262752255445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/9167974262752255445'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/08/wap.html' title='مدخل إلى WAP'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-6434673686885229235</id><published>2008-08-24T16:58:00.001-07:00</published><updated>2008-08-24T16:59:08.757-07:00</updated><title type='text'>يوم ويكيبيديا العربية الرابع</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://ar.wikipedia.org/wiki/%D9%88%D9%8A%D9%83%D9%8A%D8%A8%D9%8A%D8%AF%D9%8A%D8%A7:%D9%8A%D9%88%D9%85_%D9%88%D9%8A%D9%83%D9%8A%D8%A8%D9%8A%D8%AF%D9%8A%D8%A7_%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9_%D8%A7%D9%84%D8%B1%D8%A7%D8%A8%D8%B9"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px;" src="http://upload.wikimedia.org/wikipedia/commons/b/b9/Wikiarab.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-6434673686885229235?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/6434673686885229235/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=6434673686885229235' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/6434673686885229235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/6434673686885229235'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/08/blog-post.html' title='يوم ويكيبيديا العربية الرابع'/><author><name>Shady M. Najib</name><uri>http://www.blogger.com/profile/15517845851043368287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_4401ryJ0di8/SaxWGpeWuyI/AAAAAAAAASw/ywm05pRzOZg/S220/n587461065_1697289_3449.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-6091320228644766989</id><published>2008-08-23T14:57:00.001-07:00</published><updated>2008-08-23T15:00:54.435-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.net'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Pocket PC'/><title type='text'>مدخل إلى برمجة ال Pocket PC من خلال .net</title><content type='html'>&lt;div dir="rtl"&gt;   &lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;سوف نعتبر هذا الدرس هو نقطة الإنطلاق التي يستطيع المبتدئ من خلالها البدء في برمجة الأجهزة الكفية Pocket PC .&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;     &lt;br /&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;قبل البداية ، ما هي الأجهزة الكفية Pocket PC ؟           &lt;br /&gt;&lt;/font&gt;هي مجموعة من أجهزة الهواتف المتنقلة تتميز باستخدام نظام تشغيل متقدم اضافة إلى هاردوير يمكنها من تشغيل مهام هذا النظام ، ويشكل نظاما التشغيل Windows Mobile ونظام التشغيل سيمبان اضافة لنظام Windows CE 2003 وما قبله أشهر نظم التشغيل التي تعمل على الأجهزة الكفية .          &lt;br /&gt;أما على صعيد الهاردوير فالأجهزة الكفية لا تمتلك هارد ديسك Hard Disk بالمعنى المشهور ، لكن بعضاً منها يستخدم جزء من ال RAM كهارد ديسك لا يتم مسح البيانات من عليه بعد اعادة تشغيل الجهاز ، وهناك أنوع أخرى تستخدم ROM لتخزين البرامج ونظام التشغيل وما شابه .&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;     &lt;br /&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;وماذا يمكنني عمله للأجهزة الكفية Pocket PC من خلال .net ؟           &lt;br /&gt;&lt;/font&gt;تستطيع من خلال لغة البرمجة اضافة برامج تستخدم أجزاء معينة من الجهاز لتحقيق خدمات للمستخدم سواء أكان استخدام بسيط (استخدام الذاكرة) لتخزين البرامج وتنفيذها وتخزين قواعد البيانات ، أو كان الأمر يختص باستخدام الكاميرا مثلاً والأجهزة الصوتية في الجهاز .          &lt;br /&gt;كيف أبدأ ؟          &lt;br /&gt;بكل بساطة ، سنقوم بعمل برنامج يظهر رسالة ترحيب عن الضغط على زر أمر .          &lt;br /&gt;1- قم بتشغيل الفيجوال ستوديو Visual Studio .net .          &lt;br /&gt;2- قم باختيار C# أو VB أو اللغة التي تود البرمجة من خلالها .          &lt;br /&gt;3- قم باختيار Smart Device ، ومن ثم قم باختيار Pocket PC 2003 أو Smartphone 2003 أو Windows CE 5.0 حسب الجهاز الذي تود العمل عليه .          &lt;br /&gt;4- بعد اختيار القسم المناسب قم باختيار Device Application .          &lt;br /&gt;5- قم بسحب Button من الأدوات ، وقم بكتابة هذا الكود في داخله :&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;   &lt;span class="fullpost"&gt;     &lt;table cellspacing="0" cellpadding="2" width="500" border="2"&gt;&lt;tbody dir=ltr&gt;         &lt;tr&gt;           &lt;td valign="top" width="500"&gt;             &lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;MessageBox.Show(&amp;quot;Welcome...&amp;quot;)&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;           &lt;/td&gt;         &lt;/tr&gt;       &lt;/tbody&gt;&lt;/table&gt;      &lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;فقط قم باضافة ; في حالة كونك مبرمج C# .&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;      &lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;6- قم بالضغط على F5 اختار نوع ال deploy الذي ترغب فيه حسب الجهاز الذي تود العمل عليه ، أو قم باختيار نوع يعمل على الـ PC للتجربة فقط .           &lt;br /&gt;7 - مبروك ، لقد قمت بعمل برنامج الأول ، يمكنك أيضاً نقل الملف التنفيذي exe إلى الجهاز وتشغيله مباشرة ، لا بد في هذه الحالة ان يكون .net framework موجوداً على الجهاز الكفي Pocket PC .            &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;كيف اكمل البرمجة من خلال .net ؟             &lt;br /&gt;&lt;/font&gt;بكل تأكيد فإن البرنامج السابق يعد من أبسط الصيغ الممكنة لبرنامج يعمل على Pocket PC ، فيما ستتضطر لاستخدام التخزين في البرامج الجدية والتعامل مع قواعد البيانات حيث يمكنك استخدام الملفات النصية كقواعد بيانات ، أو ملفات XML وحتى قواعد البيانات من نوع SQL Server CE .            &lt;br /&gt;كما يمكن ان تضطر للتعامل مع الملفات ، أو الصوتيات والشاشة ، أو حتى مع الأجهزة الملحقة مثل الكاميرا وخلافه .&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;      &lt;p&gt;       &lt;br /&gt;&lt;font size="3"&gt;&lt;strong&gt;بكل بساطة كل ما عليك هو الدخول إلى هذا الموقع : &lt;/strong&gt;&lt;/font&gt;&lt;a href="http://www.msdn.com"&gt;&lt;font size="3"&gt;&lt;strong&gt;www.msdn.com&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3"&gt;&lt;strong&gt; وستجد فيه كل ما تريد ، يمكنك الدخول أيضاً مباشرة على هذا الرابط : &lt;/strong&gt;&lt;/font&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa458721.aspx"&gt;&lt;font size="3"&gt;&lt;strong&gt;http://msdn2.microsoft.com/en-us/library/aa458721.aspx&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;        &lt;br /&gt;&lt;/p&gt;      &lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;هل هناك أدوات مساعدة ؟             &lt;br /&gt;&lt;/font&gt;بكل تأكيد هناك العديد من الأدوات التي تساعدك على بناء تطبيقاتك وجعلها أفضل بطريقة أسهل - لكن لا تنشغل بالأدوات دون ان تعرف ولو بصورة عابرة كيف يمكنك العمل يدوياً - ، ومن أحدث هذه الأدوات Windows Mobile 6 Developer Resource Kit :            &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;a href="http://msdn.microsoft.com/windowsmob...t/default.aspx"&gt;&lt;font size="3"&gt;&lt;strong&gt;http://msdn.microsoft.com/windowsmob...t/default.aspx&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;        &lt;br /&gt;&lt;/p&gt;      &lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;هل هناك طرق أخرى غير .net لبرمجة الأجهزة الكفية ?           &lt;br /&gt;بكل تأكيد . نعم ، وبالعكس فإن لغة مثل سيمبان تعد أقدم من لغات مايكروسوفت ، كمان أن لغة مايكروسوفت لا زالت غير قادرة على اقتحام عالم الموبايلات التي لا تزال تسيطر عليه شركتي سيمبان وجافا .            &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;a href="http://www.ce4arab.com/vb7/index.php"&gt;&lt;font size="3"&gt;&lt;strong&gt;http://www.ce4arab.com/vb7/index.php&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;      &lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;أخيراً ، درس بسيط يحتوي على مجموعة أكواد مفيدة في عالم برمجة ال Pocket PC :&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;      &lt;p&gt;&lt;a title="http://vb4arab.com/vb/showthread.php?t=2738" href="http://vb4arab.com/vb/showthread.php?t=2738"&gt;&lt;font size="3"&gt;&lt;strong&gt;http://vb4arab.com/vb/showthread.php?t=2738&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;      &lt;div dir="rtl"&gt;&lt;span class="fullpost"&gt;         &lt;p align="center"&gt;&lt;a href="http://www.asp.net/learn/videos/view...tabid=63&amp;amp;id=76"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;       &lt;/span&gt;&lt;/div&gt;   &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-6091320228644766989?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/6091320228644766989/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=6091320228644766989' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/6091320228644766989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/6091320228644766989'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/08/pocket-pc-net_23.html' title='مدخل إلى برمجة ال Pocket PC من خلال .net'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-7328445176918694765</id><published>2008-08-23T14:15:00.001-07:00</published><updated>2008-08-23T14:52:12.655-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.net'/><category scheme='http://www.blogger.com/atom/ns#' term='.net 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Expression Blend'/><title type='text'>Expression Blend</title><content type='html'>&lt;div dir="rtl"&gt;   &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;#160;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;ضمن التقنيات الجديدة التي ظهرت مع .net كانت تقنية WPF ، ومن اجل تطبيق اوسع لهذه التقنية قامت مايكروسوفت بتوفيرمجموعة من البرامج لتساعد في انتاج أكواد WPF ، واحد من هذه المجموعة كان Expression Blend&amp;#160; لتصميم واجهات برنامجك المختلفة ، حيث يوفر لك وسائل متعددة للتصميم ، سنحاول معرفة المزيد عنه بتفصيل في هذا الدرس ...&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;     &lt;br /&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;سنحاول الآن عمل تطبيق بسيط من خلال Expression Blend قم بتحميله أولاً من الروابط السابقة ، قم بتشغيله ومن ثم اختيار New Project ومن ثم WPF Application (*.exe) بالشكل التالي :&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://vb4arab.com/vb/uploaded/3/01214832040.jpg" border="0" /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;يمكنك اختيار اللغة التي تريد العمل عليها وال framework اضافة للاسم ومكان التخزين بالطبع .          &lt;br /&gt;من View اختر Active Document View ومن ثم اختر الوضع Split لتتمكن من عرض XAML و العرض العادي في نفس الوقت بالشكل التالي :&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;span class="fullpost"&gt;    &lt;p align="center"&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://vb4arab.com/vb/uploaded/3/11214832040.jpg" border="0" /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;على جانب الشاشة ، ستجد كل الأدوات التي تحتاج إليها للتصميم سواء القلم والفرشاة وخلافه ، أو أزرار الأوامر ومربعات النصوص وخلافه من الأدوات التي ستستخدمها في برنامجك ، ايضاً يمكنك الضغط على آخر عناصر القائمة ليستعرض لك جميع الأدوات بالشكل التالي مثلاً : &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://vb4arab.com/vb/uploaded/3/21214832040.jpg" border="0" /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;خلال عملياتك في الرسم ، ستجد لأي اداة مجموعة من الخصائص على الجانب ، تستطيع منها التحكم بالمظهر وخلافه : &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://vb4arab.com/vb/uploaded/3/31214832040.jpg" border="0" /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;الآن كتطبيق سريع ، قم باضافة Canvas وقم بتحديد ابعاده ، هذا هو ال Canvas الذي سنضع فيه صورة خاصة بنا ونطبق عليها بعض التأثيرات :&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir=ltr&gt;       &lt;tr&gt;         &lt;td valign="top" width="596"&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;Canvas&amp;gt;                &lt;br /&gt;&amp;lt;Canvas x:Name=&amp;quot;MainImageCanvas&amp;quot; Canvas.Left=&amp;quot;40&amp;quot; Canvas.Top=&amp;quot;120&amp;quot;&amp;gt; &lt;/strong&gt;&lt;/font&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;    &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;الآن قم باضافة MediaElement ولنضع فيه صورة مثلاً ، سيكون ناتج XAML بالشكل التالي :&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody  dir=ltr&gt;       &lt;tr&gt;         &lt;td valign="top" width="600"&gt;           &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;MediaElement x:Name=&amp;quot;MainImage&amp;quot; Source=&amp;quot;c:/example/futex.jpg&amp;quot; Width=&amp;quot;300&amp;quot; Height=&amp;quot;300&amp;quot; &amp;gt;&amp;lt;/MediaElement&amp;gt; &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;    &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;والآن سنقوم بتطبيق بعض التأثيرات على ال Canvas حيث نطبق عملية الميل من خلال الخصائص ، سيكون ناتج XAML بالشكل التالي : &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody  dir=ltr&gt;       &lt;tr&gt;         &lt;td valign="top" width="600"&gt;           &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;Canvas.RenderTransform&amp;gt;&amp;lt;TransformGroup&amp;gt;                  &lt;br /&gt;&amp;lt;SkewTransform x:Name=&amp;quot;MainSkewTransform&amp;quot; AngleY=&amp;quot;-19&amp;quot; AngleX=&amp;quot;0&amp;quot; CenterX=&amp;quot;0&amp;quot; CenterY=&amp;quot;0&amp;quot;/&amp;gt; &amp;lt;ScaleTransform x:Name=&amp;quot;MainScaleTransform&amp;quot; ScaleY=&amp;quot;1&amp;quot; ScaleX = &amp;quot;1&amp;quot; CenterX=&amp;quot;0&amp;quot; CenterY=&amp;quot;0&amp;quot;/&amp;gt;&amp;lt;/TransformGroup&amp;gt;&amp;lt;/Canvas.RenderTransform&amp;gt;&amp;lt;/Canvas&amp;gt; &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;    &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;الآن قم بالضغط على F5 لتجربة العرض والذي سيكون بالشكل التالي :&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://vb4arab.com/vb/uploaded/3/41214832040.jpg" border="0" /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;سنحاول تطبيق نظرية الظل للصورة أيضاً ، لذا سنقوم بعمل Canvas ونضع فيه الصورة أيضاً ولكن مع زوايا ميل مختلفة هذه المرة بحيث تحاذي اطراف الصورة ، سيكون ناتج XAML بالشكل التالي :&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody  dir=ltr&gt;       &lt;tr&gt;         &lt;td valign="top" width="596"&gt;           &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;Canvas x:Name=&amp;quot;ReflectionImageCanvas&amp;quot; Canvas.Left=&amp;quot;260&amp;quot; Canvas.Top=&amp;quot;640&amp;quot;&amp;gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;MediaElement x:Name=&amp;quot;ReflImage&amp;quot; Source=&amp;quot;c:/example/futex.jpg&amp;quot; Width=&amp;quot;300&amp;quot; Height=&amp;quot;300&amp;quot; Volume=&amp;quot;0&amp;quot;&amp;gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;/MediaElement&amp;gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;Canvas.RenderTransform&amp;gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;TransformGroup&amp;gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;SkewTransform x:Name=&amp;quot;ReflectionSkewTransform&amp;quot; AngleY=&amp;quot;19&amp;quot; AngleX=&amp;quot;-41&amp;quot; CenterX=&amp;quot;0&amp;quot; CenterY=&amp;quot;0&amp;quot; /&amp;gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;ScaleTransform x:Name=&amp;quot;ReflectionScaleTransform&amp;quot; ScaleY=&amp;quot;-1&amp;quot; ScaleX=&amp;quot;1&amp;quot; CenterX=&amp;quot;0&amp;quot; CenterY=&amp;quot;0&amp;quot; /&amp;gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;/TransformGroup&amp;gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;/Canvas.RenderTransform&amp;gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;/Canvas&amp;gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;    &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;وسيكون الناتج للصورة بالشكل التالي :&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://vb4arab.com/vb/uploaded/3/51214832040.jpg" border="0" /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;آخر نقطة سنتعامل معها هي اضافة الشفافية لصورة الظل ، من ضمن الخصائص أيضاً ، لذا ستجد ناتج ال XAML في النهاية بالشكل التالي : &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody  dir=ltr&gt;       &lt;tr&gt;         &lt;td valign="top" width="600"&gt;           &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;Canvas x:Name=&amp;quot;ReflectionImageCanvas&amp;quot; Canvas.Left=&amp;quot;260&amp;quot; Canvas.Top=&amp;quot;640&amp;quot;&amp;gt; &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;MediaElement x:Name=&amp;quot;ReflImage&amp;quot; Source=&amp;quot;c:/example/futex.jpg&amp;quot; Width=&amp;quot;300&amp;quot; Height=&amp;quot;300&amp;quot; Volume=&amp;quot;0&amp;quot;&amp;gt; &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;/MediaElement&amp;gt; &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;Canvas.RenderTransform&amp;gt; &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;TransformGroup&amp;gt; &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;SkewTransform x:Name=&amp;quot;ReflectionSkewTransform&amp;quot; AngleY=&amp;quot;19&amp;quot; AngleX=&amp;quot;-41&amp;quot; CenterX=&amp;quot;0&amp;quot; CenterY=&amp;quot;0&amp;quot; /&amp;gt; &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;ScaleTransform x:Name=&amp;quot;ReflectionScaleTransform&amp;quot; ScaleY=&amp;quot;-1&amp;quot; ScaleX=&amp;quot;1&amp;quot; CenterX=&amp;quot;0&amp;quot; CenterY=&amp;quot;0&amp;quot; /&amp;gt; &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;/TransformGroup&amp;gt; &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;/Canvas.RenderTransform&amp;gt; &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;Canvas.OpacityMask&amp;gt; &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;LinearGradientBrush StartPoint=&amp;quot;0.5,0.0&amp;quot; EndPoint=&amp;quot;0.5,1.0&amp;quot;&amp;gt; &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;GradientStop Offset=&amp;quot;0.345&amp;quot; Color=&amp;quot;#00000000&amp;quot; x:Name=&amp;quot;ReflGradientStop1&amp;quot; /&amp;gt; &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;GradientStop Offset=&amp;quot;1.0&amp;quot; Color=&amp;quot;#CC000000&amp;quot; x:Name=&amp;quot;ReflGradientStop2&amp;quot; /&amp;gt; &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;/LinearGradientBrush&amp;gt; &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;/Canvas.OpacityMask&amp;gt; &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;/Canvas&amp;gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;    &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;قم بضبط بعض اعدادات ال Left وال Top يدوياً او من الكود لجعل صورة الظل منطبقة على الصورة الاصلية ، سيكون ناتج الصورة :&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://vb4arab.com/vb/uploaded/3/01214832482.jpg" border="0" /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;الكود الكامل XAML :&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody  dir=ltr&gt;       &lt;tr&gt;         &lt;td valign="top" width="596"&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;lt;Canvas&amp;gt;                &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;Canvas x:Name=&amp;quot;MainImageCanvas&amp;quot; Canvas.Left=&amp;quot;40&amp;quot; Canvas.Top=&amp;quot;120&amp;quot;&amp;gt;                 &lt;br /&gt;                &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;MediaElement x:Name=&amp;quot;MainImage&amp;quot; Source=&amp;quot;c:/example/FUTEX.JPG&amp;quot; Width=&amp;quot;300&amp;quot; Height=&amp;quot;300&amp;quot; &amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/MediaElement&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;Canvas.RenderTransform&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;TransformGroup&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;SkewTransform x:Name=&amp;quot;MainSkewTransform&amp;quot; AngleY=&amp;quot;-19&amp;quot; AngleX=&amp;quot;0&amp;quot; CenterX=&amp;quot;0&amp;quot; CenterY=&amp;quot;0&amp;quot;/&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;ScaleTransform x:Name=&amp;quot;MainScaleTransform&amp;quot; ScaleY=&amp;quot;1&amp;quot; ScaleX = &amp;quot;1&amp;quot; CenterX=&amp;quot;0&amp;quot; CenterY=&amp;quot;0&amp;quot;/&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/TransformGroup&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/Canvas.RenderTransform&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/Canvas&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;Canvas x:Name=&amp;quot;ReflectionImageCanvas&amp;quot; Canvas.Left=&amp;quot;267&amp;quot; Canvas.Top=&amp;quot;645&amp;quot;&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;MediaElement x:Name=&amp;quot;ReflImage&amp;quot; Source=&amp;quot;c:/example/futex.jpg&amp;quot; Width=&amp;quot;300&amp;quot; Height=&amp;quot;300&amp;quot; Volume=&amp;quot;0&amp;quot;&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/MediaElement&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;Canvas.RenderTransform&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;TransformGroup&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;SkewTransform x:Name=&amp;quot;ReflectionSkewTransform&amp;quot; AngleY=&amp;quot;19&amp;quot; AngleX=&amp;quot;-41&amp;quot; CenterX=&amp;quot;0&amp;quot; CenterY=&amp;quot;0&amp;quot; /&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;ScaleTransform x:Name=&amp;quot;ReflectionScaleTransform&amp;quot; ScaleY=&amp;quot;-1&amp;quot; ScaleX=&amp;quot;1&amp;quot; CenterX=&amp;quot;0&amp;quot; CenterY=&amp;quot;0&amp;quot; /&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/TransformGroup&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/Canvas.RenderTransform&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;Canvas.OpacityMask&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;LinearGradientBrush StartPoint=&amp;quot;0.5,0.0&amp;quot; EndPoint=&amp;quot;0.5,1.0&amp;quot;&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;GradientStop Offset=&amp;quot;0.345&amp;quot; Color=&amp;quot;#00000000&amp;quot; x:Name=&amp;quot;ReflGradientStop1&amp;quot; /&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;GradientStop Offset=&amp;quot;1.0&amp;quot; Color=&amp;quot;#CC000000&amp;quot; x:Name=&amp;quot;ReflGradientStop2&amp;quot; /&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/LinearGradientBrush&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/Canvas.OpacityMask&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/Canvas&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/Canvas&amp;gt;                 &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;    &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;&amp;#160; &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;لا تنس ان MediaElement يمكن ان تكون اي شيء ، لذا جرب مثلاً وضع فيديو وستجد ان نفس التأثير ينطبق عليه تماماً ...          &lt;br /&gt;طبعاً يمكنك نقل الكود كما هو إلى الفيجوال ستوديو وسيعمل بنفس الصورة ، انشأ مشروع من نوع WPF وجرب . &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="time" size="3"&gt;&lt;strong&gt;بالتوفيق ...&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt; &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-7328445176918694765?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/7328445176918694765/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=7328445176918694765' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/7328445176918694765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/7328445176918694765'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/08/pocket-pc-net.html' title='Expression Blend'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-3084816901885283379</id><published>2008-08-23T13:49:00.001-07:00</published><updated>2008-08-23T14:56:09.956-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><title type='text'>Microsoft Ajax Toolkit</title><content type='html'>&lt;div dir="rtl"&gt;   &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;     &lt;br /&gt;&lt;font size="3"&gt;في هذا الدرس سوف نستعرض سريعاً كيفية الاستفادة من خدمات تقنية الإنترنت المعروفة باسم AJAX من خلال .net ولكن قبل البداية دعنا نتعرف على ما هي أجاكس ؟&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;     &lt;br /&gt;&lt;font size="3"&gt;&lt;b&gt;اجاكس AJAX&lt;/b&gt;         &lt;br /&gt;هي اختصار لكلمة Asynchronous JavaScript and XML ، وفي الواقع فهي ليست لغة برمجة جديدة أو تقنية جديدة قدر ما هي استخدام للموارد الموجودة بطريقة أخرى ، وببساطة ، تعتمد اجاكس على تجزيء الصفحة إلى عدة اقسام تتم معالجة كل قسم على حدة ، وفي هذه الحالة فإنه عند طلب العميل لجزء ما لن يكون مضطراً لانتظار تحديث الصفحة بالكامل .         &lt;br /&gt;ولعل أشهر أمثلة استخدام AJAX هو البريد الإلكتروني Gmail اضافة إلى النسخة الجديدة من البريد الإلكتروني لل Yahoo و Hotmail .         &lt;br /&gt;لمعرفة المزيد ربما تستطيع زيارة صفحة ويكيبديا عن هذه التقنية :         &lt;br /&gt;&lt;/font&gt;&lt;a href="http://en.wikipedia.org/wiki/Ajax_%28programming%29"&gt;&lt;font size="3"&gt;http://en.wikipedia.org/wiki/Ajax_%28programming%29&lt;/font&gt;&lt;/a&gt;       &lt;br /&gt;&lt;b&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;b&gt;&lt;font size="3"&gt;كيف أبدأ من خلال .net ؟&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;img alt="" src="http://www.discountasp.net/images/logo_aspnet_ajaxhosting.gif" border="0" /&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;قامت مايكروسوفت باصدار عدة نسخ من الأدوات التي تساعدك وتسهل الحصول على المميزات المتاحة في AJAX ، لكنك على اية حال تستطيع القيام بهذا الأمر في أبسط صوره يدوياً ، أو باستخدام ما يسمى باسم Atlas وهي نسخة من مايكروسوفت خاصة ب AJAX .&lt;/font&gt;&lt;/p&gt;   &lt;span class="fullpost"&gt;     &lt;p align="center"&gt;       &lt;br /&gt;&lt;font size="3"&gt;وللمزيد من التسهيل قامت مايكروسوفت باصدار Asp.net Ajax ToolKit ، وهي مجموعة من الأدوات المختلفة التي يمكن استعراضها من خلال هذا الرابط :          &lt;br /&gt;&lt;/font&gt;&lt;a href="http://ajax.asp.net/ajaxtoolkit/"&gt;&lt;font size="3"&gt;http://ajax.asp.net/ajaxtoolkit/&lt;/font&gt;&lt;/a&gt;         &lt;br /&gt;&lt;/p&gt;      &lt;p align="center"&gt;&lt;font size="3"&gt;تستطيع زيارة الموقع وتحميل هذه الأدوات من خلال الرابط :          &lt;br /&gt;&lt;/font&gt;&lt;a href="http://ajax.asp.net/"&gt;&lt;font size="3"&gt;http://ajax.asp.net/&lt;/font&gt;&lt;/a&gt;         &lt;br /&gt;&lt;/p&gt;      &lt;p align="center"&gt;&lt;font size="3"&gt;كما يوفر الموقع مكتبة ضخمة من المواد التعليمية لهذه الأدوات ول Asp.net عموماً ، يمكن الوصول إليها عبر هذا الرابط :          &lt;br /&gt;&lt;/font&gt;&lt;a href="http://www.asp.net/learn/default.aspx?tabid=63"&gt;&lt;font size="3"&gt;http://www.asp.net/learn/default.aspx?tabid=63&lt;/font&gt;&lt;/a&gt;         &lt;br /&gt;&lt;/p&gt;      &lt;p align="center"&gt;&lt;font size="3"&gt;يمكنك البدء من خلال هذا الفيديو تحديداً :          &lt;br /&gt;&lt;/font&gt;&lt;a href="http://download.microsoft.com/download/0/f/6/0f651a0f-6f2b-4497-b061-e1b2825e22e0/MSAJAX-ToDoList-Video.zip"&gt;&lt;font size="3"&gt;http://download.microsoft.com/downlo...List-Video.zip&lt;/font&gt;&lt;/a&gt;         &lt;br /&gt;&lt;font size="3"&gt;وسيقوم بالشرح منذ البداية عن كيفية استخدام Atlas .          &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;      &lt;p align="center"&gt;&lt;font size="3"&gt;وهناك دروس أخرى لشرح كيفية البدء باستخدام Ajax ToolKit مباشرة منها هذا الفيديو :          &lt;br /&gt;&lt;/font&gt;&lt;a href="http://www.asp.net/learn/videos/view.aspx?tabid=63&amp;amp;id=75"&gt;&lt;font size="3"&gt;http://www.asp.net/learn/videos/view...tabid=63&amp;amp;id=75&lt;/font&gt;&lt;/a&gt;         &lt;br /&gt;&lt;a href="http://www.asp.net/learn/videos/view...tabid=63&amp;amp;id=76"&gt;&lt;font size="3"&gt;http://www.asp.net/learn/videos/view...tabid=63&amp;amp;id=76&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-3084816901885283379?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/3084816901885283379/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=3084816901885283379' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/3084816901885283379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/3084816901885283379'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/08/microsoft-ajax-toolkit.html' title='Microsoft Ajax Toolkit'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-6083351340158538690</id><published>2008-07-13T05:00:00.001-07:00</published><updated>2008-07-13T05:00:33.042-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.net'/><category scheme='http://www.blogger.com/atom/ns#' term='Books'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>كتاب Speech SDK</title><content type='html'>&lt;div dir="rtl" align="right"&gt;   &lt;p&gt;&lt;font size="4"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="4"&gt;كتاب تم ارساله لي بخصوص شرح مكتبة Microsoft Speech SDK ، في المقدمة الخاص بالكتاب يقول المؤلف :&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" size="4"&gt;إن الهدف الرئيسي من هذا الكتاب هو شرح مبسط لاستخدام هذه المكتبة المتخصصة في عمليات فهم الكلام المحكي إلى المايكروفون ومن ثم تخزينه على شكل نص في البرنامج او العملية العكسية بتحويل الكلام المقروء إلى مسموع .&lt;/font&gt; &lt;/p&gt;    &lt;p align="center"&gt;&lt;a href="http://lh3.ggpht.com/hammada2091/SHnuXhajXEI/AAAAAAAAAMk/1BlVyC7akU0/s1600-h/pic%5B2%5D.jpg"&gt;&lt;font size="4"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="pic" src="http://lh3.ggpht.com/hammada2091/SHnuYNPNHNI/AAAAAAAAAMo/Jvj-52eFLOk/pic_thumb.jpg?imgmax=800" width="170" border="0" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="4"&gt; &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="4"&gt;فهرس الكناب :&lt;/font&gt; &lt;/p&gt;    &lt;ol&gt;     &lt;li&gt;&lt;font size="4"&gt;تنزيل واعداد المكتبة .&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="4"&gt;شرح بعض الاساسيات .&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="4"&gt;شرح طريقة عمل فهم الأوامر المستقبلة صوتياً .&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="4"&gt;شرح مكتبة الاملاء .&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="4"&gt;شرح طريقة تحويل الكتابة إلى كلام .&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="4"&gt;الاعدادات ولوحة التحكم .&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="4"&gt;تدريب الحاسوب .&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="4"&gt;تطبيق برنامج يقوم بنطق الساعة .&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="4"&gt;برنامج تسجيل الدخول عن طريق نطق كلمة السر .&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="4"&gt;برنامج رد التحية .&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="4"&gt;برنامج محادثة مع الحاسوب .&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="4"&gt;الة حاسبة باستخدام الأوامر الصوتية .&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;&lt;font size="4"&gt;برنامج املاء يقوم بحفظ النصوص إلى ملف نصي&lt;/font&gt;&lt;/li&gt;   &lt;/ol&gt;    &lt;p&gt;&lt;font size="4"&gt;وفي النهاية ، يمكنك تحميل الكتاب مرفق به الأمثلة من &lt;/font&gt;&lt;a href="http://hammada2091.googlepages.com/MSSDK.rar"&gt;&lt;font color="#ff0000" size="6"&gt;هنا&lt;/font&gt;&lt;/a&gt;&lt;font size="4"&gt; .&lt;/font&gt;&lt;/p&gt; &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-6083351340158538690?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/6083351340158538690/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=6083351340158538690' title='4 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/6083351340158538690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/6083351340158538690'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/07/speech-sdk.html' title='كتاب Speech SDK'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/hammada2091/SHnuYNPNHNI/AAAAAAAAAMo/Jvj-52eFLOk/s72-c/pic_thumb.jpg?imgmax=800' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-913322036732049277</id><published>2008-06-20T07:50:00.000-07:00</published><updated>2008-06-20T13:58:52.975-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='Design Patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='Announcements'/><title type='text'>التجمع الخامس لـ dotnetwork.org</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4401ryJ0di8/SFwZ_72ouRI/AAAAAAAAAH0/1tpDvk3hlEk/s1600-h/Poster5.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_4401ryJ0di8/SFwZ_72ouRI/AAAAAAAAAH0/1tpDvk3hlEk/s400/Poster5.jpg" alt="" id="BLOGGER_PHOTO_ID_5214071054777497874" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div dir="rtl" style="text-align: right;"&gt;&lt;span style="font-weight: bold; color: rgb(102, 102, 102);"&gt;&lt;br /&gt;الموعد : &lt;/span&gt;&lt;br /&gt;28  يونية 2008 ،&lt;br /&gt;12:00 - 16:00&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; الحضور مجاني =) &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(102, 102, 102);"&gt; المتكلمون &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; ياسر مكرم &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Software Architect - Santeon.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; محمد سامي &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Technical Architect, MVP - ITWorx.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(102, 102, 102);"&gt; جدول الاعمال &lt;/span&gt;&lt;br /&gt;12:00 - 13:30 :&lt;br /&gt;Delivering Rich User Experience Applications using Silverlight 2&lt;br /&gt;ياسر مكرم.&lt;br /&gt;&lt;br /&gt;13:30 - 14:00 : استراحه لتناول القهوه&lt;br /&gt;&lt;br /&gt;14:00 -- 15:30 :&lt;br /&gt;Patterns and Anti-patterns of SOA&lt;br /&gt;محمد سامي.&lt;br /&gt;&lt;br /&gt;15:30 - 16:00 : غداء&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(102, 102, 102);"&gt; المكان : &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;الكليه الدولية الكنديه ، @ "التجمع الخامس"&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);"&gt; الحافلات ستكون متاحة في : النادي السكة (11:00 صباحا -- 11:30 صباحا) &lt;/span&gt;&lt;br /&gt;الرجاء ان تكون قبل ذلك ، 11:30 حيث سنغادرفي الموعد المحدد..&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;لمن يرغب في المزيد من الاخبار عن هذا الحدث و غيرها من الأحداث القادمة من dotnetwork.org  ، يرجى التحقق من الروابط التالية :&lt;br /&gt;&lt;br /&gt;ياهو! المجموعة :&lt;br /&gt;http://tech.groups.yahoo.com/group/dotnetworkorg/&lt;br /&gt;&lt;br /&gt;Facebook Event:&lt;br /&gt;http://www.facebook.com/event.php?eid=15523324683&lt;br /&gt;يفضل الانضمام الى الحدث المذكور اعلاه اذا كان لديك حساب فاس بوك حتى نتمكن من تقديرعدد الحاضرين..&lt;br /&gt;&lt;br /&gt;Facebook Fan Page:&lt;br /&gt;http://www.facebook.com/pages/netWorkorg/13135685545&lt;br /&gt;&lt;br /&gt;Facebook Group:&lt;br /&gt;http://www.facebook.com/group.php?gid=2409268236&lt;br /&gt;&lt;br /&gt;ارجو الا تترددوا في الاتصال بي اذا كان لديك اي اسئله اخرى..&lt;br /&gt;القاكم هناك...&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-913322036732049277?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/913322036732049277/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=913322036732049277' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/913322036732049277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/913322036732049277'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/06/dotnetworkorg.html' title='التجمع الخامس لـ dotnetwork.org'/><author><name>Shady M. Najib</name><uri>http://www.blogger.com/profile/15517845851043368287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_4401ryJ0di8/SaxWGpeWuyI/AAAAAAAAASw/ywm05pRzOZg/S220/n587461065_1697289_3449.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4401ryJ0di8/SFwZ_72ouRI/AAAAAAAAAH0/1tpDvk3hlEk/s72-c/Poster5.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-3139023787300875205</id><published>2008-06-17T10:33:00.001-07:00</published><updated>2008-06-17T10:43:18.743-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>IComparable Interface</title><content type='html'>&lt;div dir="rtl" align="right"&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;بسم الله الرحمن الرحيم .&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;كما هو واضح من الاسم ، يستخدم هذا ال interface للمقارنة ، ولذا من الطبيعي ان يكون شكل هذا ال interface بالشكل التالي : &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;C#: &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir="ltr" align="left"&gt;&lt;tr&gt;&lt;td valign="top" width="600"&gt;&lt;span style="font-size:130%;"&gt;public interface IComparable&lt;br /&gt;{&lt;br /&gt;int CompareTo(object o);&lt;br /&gt;} &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;vb.net: &lt;/span&gt;&lt;/p&gt;&lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir="ltr" align="left"&gt;&lt;tr&gt;&lt;td valign="top" width="600"&gt;&lt;span style="font-size:130%;"&gt;Public Interface IComparable&lt;br /&gt;Function CompareTo(ByVal o As Object) As Integer&lt;br /&gt;End Interface &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;يمكنك ملاحظة ان الدالة تعيد قيمة رقمية ، فعلياً هي تعيد في المعتاد القيم 0 في حالة التساوي ، القيمة 1 في حالة كون الطرف الأول اكبر ، و -1 في حالة كون الطرف الأول أصغر . &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;اما النقطة التي لدينا هنا فلسنا بحاجة لمعرفة هل يساوي هذا الكائن ذاك ام لا ، بل نحن في حاجة إلى معرفة ايهما اكبر او اصغر ، لنفترض ان لدينا كلاس للسيارات بالشكل التالي مثلاً : &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;C#: &lt;/span&gt;&lt;/p&gt;&lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir="ltr" align="left"&gt;&lt;tr&gt;&lt;td valign="top" width="600"&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;class Car&lt;br /&gt;{ &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;string Name;&lt;br /&gt;int year;&lt;br /&gt;} &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;vb.net: &lt;/span&gt;&lt;/p&gt;&lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir="ltr" align="left"&gt;&lt;tr&gt;&lt;td valign="top" width="600"&gt;&lt;span style="font-size:130%;"&gt;Class Car&lt;br /&gt;Private Name As String&lt;br /&gt;Private year As Integer&lt;br /&gt;End Class &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;والآن نرغب في ترتيب السيارات بناء على تاريخ الصنع year ، لذا أول خطوة لدينا هي جعل الفئة الخاصة بنا تطبق الفئة IComparable : &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;C#:&lt;/span&gt;&lt;/p&gt;&lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir="ltr" align="left"&gt;&lt;tr&gt;&lt;td valign="top" width="600"&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;class Car:IComparable&lt;br /&gt;{ &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;string Name;&lt;br /&gt;int year;&lt;br /&gt;} &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;vb.net: &lt;/span&gt;&lt;/p&gt;&lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir="ltr" align="left"&gt;&lt;tr&gt;&lt;td valign="top" width="600"&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;class Car:IComparable&lt;br /&gt;{ &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;string Name;&lt;br /&gt;int year;&lt;br /&gt;} &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;ثم نكتب بعض الاكواد في الدالة CompareTo ، لنفترض الشكل التالي مثلاً : &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;c#: &lt;/span&gt;&lt;/p&gt;&lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir="ltr" align="left"&gt;&lt;tr&gt;&lt;td valign="top" width="600"&gt;&lt;span style="font-size:130%;"&gt;int IComparable.CompareTo(object obj)&lt;br /&gt;{&lt;br /&gt;Car temp = (Car)obj;&lt;br /&gt;if(this.year &amp;gt; temp.year)&lt;br /&gt;return 1;&lt;br /&gt;if(this.year &amp;lt; temp.year)&lt;br /&gt;return -1;&lt;br /&gt;else&lt;br /&gt;return 0;&lt;br /&gt;} &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;vb.net: &lt;/span&gt;&lt;/p&gt;&lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir="ltr" align="left"&gt;&lt;tr&gt;&lt;td valign="top" width="600"&gt;&lt;span style="font-size:130%;"&gt;Private Function CompareTo(ByVal obj As Object) As&lt;br /&gt;Integer Implements IComparable.CompareTo&lt;br /&gt;Dim temp As Car = DirectCast(obj, Car)&lt;br /&gt;If Me.year &amp;gt; temp.year Then&lt;br /&gt;Return 1&lt;br /&gt;End If&lt;br /&gt;If Me.year &amp;lt; temp.year Then&lt;br /&gt;Return -1&lt;br /&gt;Else&lt;br /&gt;Return 0&lt;br /&gt;End If&lt;br /&gt;End Function&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;طبعاً لا داعي لتذكيرك بانك تستطيع اعادة -100 و 0 و 94 بدلاً من -1و0و1 ، لكن هذا لتسهيل المفهوم ، الدالة تعمل بدلالة رقم سالب يعني اصغر ، صفر يعني التساوي ورقم موجب يعني اكبر فقط دون ان يعنيها قيمة هذا الرقم الفعلية . &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;الدالة Sort : &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;لنفترض ان لدينا مصفوفة array من الارقام باسم myNumbers ، في هذه الحالة لو قمنا بكتابة الأمر التالي لكان الكود مفهوماً :&lt;br /&gt;c#: &lt;/span&gt;&lt;/p&gt;&lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir="ltr" align="left"&gt;&lt;tr&gt;&lt;td valign="top" width="600"&gt;&lt;span style="font-size:130%;"&gt;Array.Sort(myNumbers);&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;vb.net: &lt;/span&gt;&lt;/p&gt;&lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir="ltr" align="left"&gt;&lt;tr&gt;&lt;td valign="top" width="600"&gt;&lt;span style="font-size:130%;"&gt;Array.Sort(myNumbers) &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;ولكن لو كان لدينا مصفوفة من السيارات ، وكتبنا هذا الكود لترتيبها فإن هذا بالتأكيد سيحدث خطأ . &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;لكن في حالة كون الفئة car تطبق ال IComparable interface ، ففي هذه الحالة سيمكنك استخدام هذا الدالة ببساطة لإنها سوف تقوم بالمقارنة اعتماداً على دالة CompareTo التي قمت انت ببرمجتها ، ربما يكون هذا سبباً كافياً لتقوم بتطبيق هذا ال interface وكتابة كود الدالة بدلاً من كتابة دالة باسم check مثلاً او اي اسم آخر للقيام بنفس المهمة . هذا طبعاً بالاضافة لتسهيل استخدام الفئة الخاصة بكل لاحقاً ووضوحها لأي مبرمج آخر . &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-3139023787300875205?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/3139023787300875205/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=3139023787300875205' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/3139023787300875205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/3139023787300875205'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/06/icomparable-interface.html' title='IComparable Interface'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-53938075568838517</id><published>2008-06-05T04:59:00.001-07:00</published><updated>2008-06-17T10:40:42.402-07:00</updated><title type='text'>FileSystemWatcher</title><content type='html'>&lt;p dir="rtl" align="right"&gt;&lt;b&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;تعتبر هذه الفئة مفيدة جداً في حالة رغبتنا في مراقبة سلوك ملف معين ومعرفة اي تغيير يطرأ عليها من التغييرات الموجودة في ال System.IO.NotifyFilters enum والذي يراقب اي من التغييرات التالية :&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;div dir="rtl" align="right"&gt;&lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir="ltr" align="left"&gt;&lt;tr&gt;&lt;td valign="top" width="600"&gt;&lt;span style="font-size:130%;"&gt;public enum NotifyFilters {&lt;br /&gt;Attributes, CreationTime, DirectoryName, FileName, LastAccess, LastWrite, Security, Size,&lt;br /&gt;}&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p dir="rtl" align="right"&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;طبعاً بما اننا نتحدث عن events وتغييرات ، سنحتاج فوراً لتعريف دوال يتم تنفيذها مرتبطة بالاحداث ، اي دالة تستخدم لقراءة احداث مثل التعديل والتغيير وخلافه لا بد ان تكون على شكل delegate التالي :&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir="ltr" align="left"&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;tr&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;td valign="top" width="600"&gt;&lt;span style="font-size:130%;"&gt;void MyNotificationHandler(object source, FileSystemEventArgs e)&lt;/span&gt;&lt;/td&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/tr&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;حدث تغيير الاسم لا بد أن يتبع لل delegate التالي :&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir="ltr" align="left"&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;tr&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;td valign="top" width="600"&gt;&lt;span style="font-size:130%;"&gt;void MyNotificationHandler(object source, RenamedEventArgs e)&lt;/span&gt;&lt;/td&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/tr&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;الآن سنقوم بتعريف برنامج عادي ، يقوم بمراقبة حالة الملفات ، طبعاً ولإننا نرغب في ان نرى نتائج البرنامج فلا بد ان نجعل البرنامج يعمل حتى يضغط المستخدم حرف q مثلاً ، لو كنا في windows Forms كان بامكاننا المراقبة مباشرة طبعاً ، في مثالنا هذا سنراقب كافة الملفات النصية في القرص الصلب c:\ لحدثي الاضافة والحذف :&lt;br /&gt;&lt;br /&gt;C#: &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;div dir="rtl" align="right"&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir="ltr" align="left"&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;tr&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;td valign="top" width="600"&gt;&lt;span style="font-size:130%;"&gt;FileSystemWatcher watcher = new FileSystemWatcher();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// monitor files at:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;watcher.Path = @"c:\";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// monitor files when&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;watcher.NotifyFilter = NotifyFilters.LastAccess  NotifyFilters.LastWrite  NotifyFilters.FileName NotifyFilters.DirectoryName;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// watch files of type&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;watcher.Filter = "*.txt";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// watch events:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;watcher.Created += new FileSystemEventHandler(OnChanged);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;watcher.Deleted += new FileSystemEventHandler(OnChanged);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;watcher.EnableRaisingEventys = true;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Console.WriteLine("Press 'q' to quit app.");&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;while (Console.Read() != 'q') ;&lt;/span&gt;&lt;/td&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/tr&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&lt;b&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/b&gt; &lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&lt;b&gt;&lt;span style="font-size:130%;"&gt;vb.net: &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir="ltr" align="left"&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;tr&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;td valign="top" width="600"&gt;&lt;span style="font-size:130%;"&gt;Dim watcher As New FileSystemWatcher()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;' monitor files at:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;watcher.Path = "c:\"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;' monitor files when&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;watcher.NotifyFilter = NotifyFilters.LastAccess Or NotifyFilters.LastWrite Or NotifyFilters.FileName Or NotifyFilters.DirectoryName&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;' watch files of type&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;watcher.Filter = "*.txt"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;' watch events:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;AddHandler watcher.Created, AddressOf OnChanged&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;AddHandler watcher.Deleted, AddressOf OnChanged&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;watcher.EnableRaisingEvents = True&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Console.WriteLine("Press 'q' to quit app.")&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;While Console.Read() &amp;lt;&amp;gt; "q"C&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;End While &lt;/span&gt;&lt;/td&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/tr&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:130%;"&gt;كما لاحظت ، عندما يحدث أي حدث فإننا نقوم باستدعاء الدالة OnChanged ، يمكن تخصيص دالة لكل حدث أو كما تحب لكن هذا فقط مثال ، يمكننا كتابة الدالة OnChanged بالشكل التالي مثلاً - عرض الملف والتغيير ووقت التغيير - :&lt;br /&gt;&lt;br /&gt;C#: &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir="ltr" align="left"&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;tr&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;td valign="top" width="600"&gt;&lt;span style="font-size:130%;"&gt;static void OnChanged(object source, FileSystemEventArgs e)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Console.WriteLine("File Changed, File Path: {0} , Change: {1}, DateTime: {2}", e.FullPath, e.ChangeType,DateTime.Now.ToString());&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;/span&gt;&lt;/td&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/tr&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&lt;b&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/b&gt; &lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&lt;b&gt;&lt;span style="font-size:130%;"&gt;vb.net: &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir="ltr" align="left"&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;tr&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;td valign="top" width="600"&gt;&lt;span style="font-size:130%;"&gt;Private Shared Sub OnChanged(ByVal source As Object, ByVal e As FileSystemEventArgs)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Console.WriteLine("File Changed, File Path: {0} , Change: {1}, DateTime: {2}", e.FullPath, e.ChangeType, DateTime.Now.ToString())&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;End Sub&lt;/span&gt;&lt;/td&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/tr&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;والآن جرب البرنامج ...&lt;br /&gt;&lt;br /&gt;الصورة التالية نتاج متوقع لحذف ملف من السي واعادته مرة أخرى ( من السي مباشرة ) :&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="" src="http://vb4arab.com/vb/uploaded/3/01212665607.jpg" border="0" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-53938075568838517?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/53938075568838517/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=53938075568838517' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/53938075568838517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/53938075568838517'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/06/filesystemwatcher.html' title='FileSystemWatcher'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-5827846830615828351</id><published>2008-06-04T19:25:00.000-07:00</published><updated>2008-06-04T19:26:55.612-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>- إالغاء جميع البيانات من الادوات الموجوده في جميع الشاشات النشطه :</title><content type='html'>&lt;div dir="rtl"&gt;   &lt;p dir="rtl" align="right" rtl="right"&gt;&lt;strong&gt;سوف نقوم بتقسيم المشكله الى قسمين :        &lt;br /&gt;اولا : حذف جميع البيانات الموجوده في الcontrols في الشاشه الاساسيه         &lt;br /&gt;ثانيا : الوصول الي باقي الشاشات الفعاله وتكرار الخطوه الاولى         &lt;br /&gt;ولكن اولا , قم باضافه&amp;#160;&amp;#160;&amp;#160; ( button ( clear button ) , textbox , combo box ,button ( clear all) ,label and button ( show f2&lt;/strong&gt;&lt;/p&gt;    &lt;p dir="rtl"&gt;&lt;strong&gt;اولا : حذف جميع البيانات الموجوده في الcontrols في الشاشه الاساسيه (شاشه واحده فقط ) :        &lt;br /&gt;- قم ياضافه الكود في Clear button :         &lt;br /&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p dir="rtl" align="left"&gt;&lt;a href="http://lh3.ggpht.com/mohamed.abdelhafeez.85/SEdO5GPfmWI/AAAAAAAAABg/JGp-vPJVX-g/s1600-h/untitled1%5B5%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="391" alt="untitled1" src="http://lh3.ggpht.com/mohamed.abdelhafeez.85/SEdO7uPdYrI/AAAAAAAAABo/bdCINEK1pGQ/untitled1_thumb%5B3%5D.jpg?imgmax=800" width="437" border="0" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;div dir="rtl" align="right"&gt;&lt;strong&gt;ثانيا : الوصول الي باقي الشاشات الفعاله وتكرار الخطوه الاولى&lt;/strong&gt;&amp;#160; &lt;br /&gt;&lt;strong&gt;-قم باضافه الكود السابق في Clear all button :     &lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;سونف نقوم بالغاء الcomment من على الكود السابق واضافه comment على الكود :      &lt;br /&gt;cc= this.Controls      &lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;الكود Application.OpenForms للوصول الى كل الشاشت الفعاله في البرنامج      &lt;br /&gt;وبالطبع في الزر show f2 سوف تقوم بكتابه الكود المسؤول عن فتح نافذه جديده &lt;/strong&gt;    &lt;div dir="rtl" align="right"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;    &lt;div dir="rtl" align="right"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;    &lt;div dir="rtl" align="right"&gt;&amp;#160;&lt;/div&gt;    &lt;div dir="rtl" align="right"&gt;&lt;/div&gt; &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-5827846830615828351?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/5827846830615828351/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=5827846830615828351' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/5827846830615828351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/5827846830615828351'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/06/blog-post.html' title='- إالغاء جميع البيانات من الادوات الموجوده في جميع الشاشات النشطه :'/><author><name>Mohamed Abd El hafeez</name><uri>http://www.blogger.com/profile/14484046267576658574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/mohamed.abdelhafeez.85/SEdO7uPdYrI/AAAAAAAAABo/bdCINEK1pGQ/s72-c/untitled1_thumb%5B3%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-8174495802857657636</id><published>2008-06-04T05:48:00.001-07:00</published><updated>2008-06-04T05:48:02.866-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips And Tricks'/><title type='text'>الفرق بين const و static readonly</title><content type='html'>&lt;div dir="rtl" align="right"&gt;   &lt;p&gt;&lt;font size="4"&gt;لو كنت قد جربت التعامل مع الثوابت بكثرة ، فلا بد انك تساءلت ، ما هو الفارق بين تعريف ثابت const او تعريفه باستخدام static readonly ، فكلاهما كما تعلم لا يمكن تغيير قيمتهما . &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="4"&gt;الفارق بسيط جداً ، هو ان ال const يتم تعريف قيمتها وقت ال compile time ، اما قيمة ال static readonly فيتم تعريفها وقت ال run time . &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="4"&gt;لهذا سنجد مزية اضافية لل static readonly ، وهو اننا يمكن ان نقوم بتعريفة في ال static constructor بالشكل التالي مثلاً : &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir="ltr" align="left"&gt;       &lt;tr&gt;         &lt;td valign="top" width="600"&gt;           &lt;p&gt;&lt;font size="4"&gt;class Program               &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {                &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public static readonly Test test = new Test();                &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; static void Main(string[] args)                &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {                &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; test.Name = &amp;quot;Program&amp;quot;;                &lt;br /&gt;}&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;    &lt;p&gt;&lt;font size="4"&gt;&lt;/font&gt;&amp;#160;&lt;/p&gt; &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-8174495802857657636?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/8174495802857657636/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=8174495802857657636' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/8174495802857657636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/8174495802857657636'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/06/const-static-readonly.html' title='الفرق بين const و static readonly'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-7498392096619351733</id><published>2008-06-04T05:30:00.001-07:00</published><updated>2008-06-04T05:30:04.482-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.net'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips And Tricks'/><title type='text'>الفرق بين التعريف باستخدام overridde و new</title><content type='html'>&lt;div dir=rtl align=right&gt;  &lt;p&gt;&lt;font size="4"&gt;من المبادئ العامة في ال OOP استخدام مفهوم ال override ، في برامجك من خلال .net يمكنك تحديد الدالة لتكون قابلة لعمل override لها لاحقاً بالشكل التالي : &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;C#: &lt;/font&gt;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir=ltr align=left&gt;     &lt;tr&gt;       &lt;td valign="top" width="600"&gt;&lt;font size="4"&gt;public class Base            &lt;br /&gt;{             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public virtual void SomeMethod()             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }             &lt;br /&gt;}&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;font size="4"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;vb.net: &lt;/font&gt;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir=ltr align=left&gt;     &lt;tr&gt;       &lt;td valign="top" width="600"&gt;&lt;font size="4"&gt;Public Class Base            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Public Overridable Sub SomeMethod()             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; End Sub             &lt;br /&gt;End Class &lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;font size="4"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;ومن ثم لعمل override لهذه الدالة في فئة Class آخر نقوم بكتابة الكود التالي : &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;C#: &lt;/font&gt;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir=ltr align=left&gt;     &lt;tr&gt;       &lt;td valign="top" width="600"&gt;&lt;font size="4"&gt;public class Derived : Base            &lt;br /&gt;{             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public override void SomeMethod()             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }             &lt;br /&gt;}&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;font size="4"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;vb.net: &lt;/font&gt;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir=ltr align=left&gt;     &lt;tr&gt;       &lt;td valign="top" width="600"&gt;&lt;font size="4"&gt;Public Class Derived            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Inherits Base             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Public Overloads Overrides Sub SomeMethod()             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; End Sub             &lt;br /&gt;End Class &lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;font size="4"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;في هذه الحالة لو قمنا بتعريف نسخة من الفئة الأولى Base وقمنا بعملها من النوع&amp;#160; Derived فسيتم تنفيذ الدالة الموجودة في Derived مباشرة : &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;C#: &lt;/font&gt;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir=ltr align=left&gt;     &lt;tr&gt;       &lt;td valign="top" width="600"&gt;         &lt;p&gt;&lt;font size="4"&gt;Base b = new Derived();              &lt;br /&gt;b.SomeMethod(); &lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;font size="4"&gt;vb.net: &lt;/font&gt;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir=ltr align=left&gt;     &lt;tr&gt;       &lt;td valign="top" width="600"&gt;&lt;font size="4"&gt;Dim b As Base = New Derived()            &lt;br /&gt;b.SomeMethod() &lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;font size="4"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000" size="4"&gt;التعريف باستخدام new أو Shadows : &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;اما لو قمنا بتعريف ال&amp;#160; override باستخدام new أو Shadows في vb.net فكل ما سيحدث هو عملية اخفاء مؤقت hide ، لذا فإن الأمر التالي مثلاً : &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;C#: &lt;/font&gt;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir=ltr align=left&gt;     &lt;tr&gt;       &lt;td valign="top" width="600"&gt;         &lt;p&gt;&lt;font size="4"&gt;public class Base              &lt;br /&gt;{               &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public virtual void SomeOtherMethod()               &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {               &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }               &lt;br /&gt;} &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font size="4"&gt;public class Derived : Base              &lt;br /&gt;{               &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public new void SomeOtherMethod()               &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {               &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }               &lt;br /&gt;} &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font size="4"&gt;Base b = new Derived();              &lt;br /&gt;Derived d = new Derived();               &lt;br /&gt;b.SomeOtherMethod();               &lt;br /&gt;d.SomeOtherMethod(); &lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;font size="4"&gt;vb.net: &lt;/font&gt;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt;&lt;tbody dir=ltr align=left&gt;     &lt;tr&gt;       &lt;td valign="top" width="600"&gt;         &lt;p&gt;&lt;font size="4"&gt;Public Class Base              &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Public Overridable Sub SomeOtherMethod()               &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; End Sub               &lt;br /&gt;End Class &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font size="4"&gt;Public Class Derived              &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Inherits Base               &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Public Shadows Sub SomeOtherMethod()               &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; End Sub               &lt;br /&gt;End Class &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font size="4"&gt;Dim b As Base = New Derived()              &lt;br /&gt;Dim d As New Derived()               &lt;br /&gt;b.SomeOtherMethod()               &lt;br /&gt;d.SomeOtherMethod() &lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;font size="4"&gt;سوف يقوم باستدعاء الدالة الأولى في السطر الثالث ، فيما يقوم باستدعاء الدالة الثانية فقط في السطر الرابع . &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;&lt;font color="#ff0000"&gt;المصدر :        &lt;br /&gt;&lt;/font&gt;http://blogs.msdn.com/csharpfaq/archive/2004/03/12/88453.aspx&lt;/font&gt;&lt;/p&gt; &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-7498392096619351733?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/7498392096619351733/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=7498392096619351733' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/7498392096619351733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/7498392096619351733'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/06/overridde-new.html' title='الفرق بين التعريف باستخدام overridde و new'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-9067175162531499510</id><published>2008-05-31T13:56:00.001-07:00</published><updated>2008-05-31T13:56:02.930-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Nullable Types</title><content type='html'>&lt;div dir="rtl"&gt;   &lt;p align="right"&gt;&lt;font size="3"&gt;&amp;#160; &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;في عرف المتغيرات التقليدية تعد القيمة Null غير مقبولة اطلاقاً ، فالمتغير من نوع Boolean مثلاً لا بد ان يحتوي على True أو False ، المتغير Short لا بد ان يحتوي على ارقام ما بين الصفر و 32767 مثلاً ... وهكذا ، في حين كانت القيم النصية مثلاً String تستطيع استيعاب القيمة null لإنها من نوع reference . &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;لكننا في بعض الاحيان نضطر لأن يحمل متغير منطقي Boolean قيمة (لا قيمة - Null ) بمعنى اننا غير قادرين على تحديد فيما إذا كان True أو False ، ابسط امثلة ذلك هي المشكلة التقليدية التي تواجه اغلب مبرمجي قواعد البيانات في حالة عدم ادخال المستخدم لقيمة في حقل ما وليكن حقل (متزوج) ، ولنفرض ان المستخدم لم يحدد كون الشخص متزوجاً من عدمه ، في هذه الحالة سيظل الحقل يحتفظ بقيمة null ، وهو ما كان يستلزم عمل Check على انها ليست Null قبل وضعها في اي متغير من نوع bool مثلاً . &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;لكن ومع الاصدارة الثانية من .net framework اصبح بالامكان تعريف متغير مخصص ليسمح بتقبل القيمة null اضافة للقيم الاساسية له ، كما في المثال التالي : &lt;/font&gt;&lt;/p&gt;    &lt;div align="right"&gt;     &lt;table cellspacing="0" cellpadding="2" width="600" align="right" border="2"&gt;&lt;tbody dir="ltr"&gt;         &lt;tr&gt;           &lt;td valign="top" width="600"&gt;&lt;font size="3"&gt;bool? ismarried = null;&lt;/font&gt;&lt;/td&gt;         &lt;/tr&gt;       &lt;/tbody&gt;&lt;/table&gt;   &lt;/div&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&amp;#160; &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;في هذه الحالة يمكننا اسناده لقراءة قيمة مباشرة من قاعدة البيانات دون القلق من كون القيمة الحالية هي Null . &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&amp;#160; &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;هناك عدة طرق اخرى لتعريف متغير يقبل Null مثل الطريقة التالية ايضا : &lt;/font&gt;&lt;/p&gt;    &lt;div align="right"&gt;     &lt;table cellspacing="0" cellpadding="2" width="600" align="right" border="2"&gt;&lt;tbody dir="ltr"&gt;         &lt;tr&gt;           &lt;td valign="top" width="600"&gt;&lt;font size="3"&gt;Nullable&amp;lt;bool&amp;gt; nullableBool = null;&lt;/font&gt;&lt;/td&gt;         &lt;/tr&gt;       &lt;/tbody&gt;&lt;/table&gt;   &lt;/div&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&amp;#160; &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;حيث ان ? هي فعلياً اختصار لل generic المسمى System.Nullable&amp;lt;T&amp;gt; ، وهو ما سنتعرف على معناه في مراحل قادمة من الدورة . &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;وبنفس الطريقة فيما لو اردنا تعريف دالة يكون ال return لها Nullable فسيكون ذلك بالشكل التالي : &lt;/font&gt;&lt;/p&gt;    &lt;div align="right"&gt;     &lt;table cellspacing="0" cellpadding="2" width="600" align="right" border="2"&gt;&lt;tbody dir="ltr"&gt;         &lt;tr&gt;           &lt;td valign="top" width="600"&gt;&lt;font size="3"&gt;public bool? functionName() &lt;/font&gt;&lt;/td&gt;         &lt;/tr&gt;       &lt;/tbody&gt;&lt;/table&gt;   &lt;/div&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&amp;#160; &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;font color="#ff0000"&gt;خصائص ال Nullable :&lt;/font&gt; &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;اهم خصائص ال nullable هي خاصية HasValue والتي تحدد فيما إذا كان المتغير به قيمة ام انه يحتفظ بقيمة Null بالشكل التالي : &lt;/font&gt;&lt;/p&gt;    &lt;div align="right"&gt;     &lt;table cellspacing="0" cellpadding="2" width="600" align="right" border="2"&gt;&lt;tbody dir="ltr"&gt;         &lt;tr&gt;           &lt;td valign="top" width="600"&gt;&lt;font size="3"&gt;if (ismarried.HasValue) &lt;/font&gt;&lt;/td&gt;         &lt;/tr&gt;       &lt;/tbody&gt;&lt;/table&gt;   &lt;/div&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&amp;#160; &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;يمكن كتابتها باستخدام وسائل المقارنة ايضاً != أو &amp;lt;&amp;gt; في الفيجوال بيسك بالشكل التالي : &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;C#: &lt;/font&gt;&lt;/p&gt;    &lt;div align="right"&gt;     &lt;table cellspacing="0" cellpadding="2" width="600" align="right" border="2"&gt;&lt;tbody dir="ltr"&gt;         &lt;tr&gt;           &lt;td valign="top" width="600"&gt;&lt;font size="3"&gt;if (ismarried!=null) &lt;/font&gt;&lt;/td&gt;         &lt;/tr&gt;       &lt;/tbody&gt;&lt;/table&gt;   &lt;/div&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&amp;#160; &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;VB.net:&lt;/font&gt;&lt;/p&gt;    &lt;div align="right"&gt;     &lt;table cellspacing="0" cellpadding="2" width="600" align="right" border="2"&gt;&lt;tbody dir="ltr"&gt;         &lt;tr&gt;           &lt;td valign="top" width="600"&gt;&lt;font size="3"&gt;if ismarried&amp;lt;&amp;gt;nothing then&lt;/font&gt;&lt;/td&gt;         &lt;/tr&gt;       &lt;/tbody&gt;&lt;/table&gt;   &lt;/div&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;       &lt;br /&gt;        &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;*** حيث ان nothing خاصة بالفيجوال بيسك بدلاً من null في السي شارب . &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;font color="#ff0000"&gt;المعامل ؟؟ :&lt;/font&gt; &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;يمكن استخدام المعامل ؟؟ مع القيم ال nullable لكي نخبره بوضع قيمة ما في حالة وجودها ب null ، لنفترض مثال حالة الزواج السابق ، وسنفترض ان اي شخص لم يقم بادخال بيانات الزواج فهو شخص اعزب بمعنى ان القيمة ستصبح False مباشرة ، سنقوم بكتابة الكود التالي من اجل ذلك : &lt;/font&gt;&lt;/p&gt;    &lt;div align="right"&gt;     &lt;table cellspacing="0" cellpadding="2" width="600" align="right" border="2"&gt;&lt;tbody dir="ltr"&gt;         &lt;tr&gt;           &lt;td valign="top" width="600"&gt;             &lt;p&gt;&lt;font size="3"&gt;int? ismarried = returnvaluefromdatabase() ?? False;&lt;/font&gt;&lt;/p&gt;           &lt;/td&gt;         &lt;/tr&gt;       &lt;/tbody&gt;&lt;/table&gt;   &lt;/div&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;/p&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-9067175162531499510?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/9067175162531499510/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=9067175162531499510' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/9067175162531499510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/9067175162531499510'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/05/nullable-types.html' title='Nullable Types'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-434228611799687343</id><published>2008-05-31T13:17:00.001-07:00</published><updated>2008-05-31T13:17:02.924-07:00</updated><title type='text'>أكبر رقم في العالم</title><content type='html'>&lt;div dir="rtl"&gt;   &lt;p align="right"&gt;&lt;font size="4"&gt;بسم الله الرحمن الرحيم .        &lt;br /&gt;السلام عليكم ورحمة الله وبركاته . &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;هذا المقال ترجمة لمقال محمد نبيل ، كان قد وضعه على البلوج الخاص به منذ أكثر من سنتين على هذا الرابط :        &lt;br /&gt;&lt;/font&gt;&lt;a href="http://mohnabil.blogspot.com/2006/02/biggest-number-used-in-mathematics.html"&gt;&lt;font size="4"&gt;http://mohnabil.blogspot.com/2006/02/biggest-number-used-in-mathematics.html&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;&lt;font color="#ff0000"&gt;أكبر رقم في الرياضيات .&lt;/font&gt; &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;هو رقم اصغر من ما التعبير الرياضي ما لا نهاية (infinity) ولكنه في نفس الوقت اكبر من أي رقم تخيلته ، يعرف باسم Graham's Number &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;قبل البدء بالحديث عن هذا الرقم ، سنتحدث عن رقم مشابه ولكنه اصغر منه قليلاً ، هو رقم Googol الذي استمد محرك البحث الشهير Google اسمه منه . &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;رقم Googol اكبر من عمر الكون بالثواني ست مرات وهو الرقم 10 مرفوع للاس 100 ، اي الرقم واحد وبجانبه 100 صفر فقط&amp;#160; . &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;رقم googol اكبر من عدد الجزيئات الموجودة في الكون والتي تم توقعها بحوالي 10 مرفوعة لأس بين 72 إلى 87 . &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;إذا قمت برسم شكل مضلع هندسي عدد جوانبه هو رقم googol والذي هو 10 اس 27 ضعف الكون المعروف فسيظل هذا الشكل يظهر كدائرة حتى على مقياس Planck الذي يمثل 10 مرفوعة للاس -39 من المتر - السم جزء من 100 جزء من المتر اما ال Planck فهو جزء من الرقم 1 وبجانبه 39 صفر من المتر - . &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;هناك رقم آخر وهو Googolplex وهو ما يساوي رقم 1 وبجانبه رقم googol من الاصفار ، هناك ايضاً Googolduplex والذي هو رقم 1 وبجانبه رقم Googolplex من الاصفار ، Googoltriplex هو واحد وبجانبه الرقم Googolduplex من الأصفار ، وأخيراً Googolquadriplex هو الرقم 1 وبجانبه الرقم Googoltriplex من الأصفار&amp;#160; . &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;لو اردنا كتابة اصغر واحد من الارقام السابقة وهو ال googolplex على صفحة تستطيع طباعة 100 صف بكل صف 100 حرف ، بمعنى انها تطبع في الصفحة الواحدة 10 الاف حرف ، في هذه الحالة سوف نحتاج إلى بليون طابعة ، تطبع كل واحدة منها بليون صفحة في الثانية ، بهذه الطريقة وبعد سنة كاملة سنجد ان هذا العدد من الطابعات تمكن فقط من طباعة 10 مرفوعة للاس 29 فقط ، وبعد بليون سنة أخرى سنجد انها استطاعت طباعة 10 مرفوعة للاس Googol-38 فقط من الارقام . بليون سنة اخرى لتصبح 37 وبليوني سنة لتصبح 36 ثم اربع بلايين سنة لتصبح 36 ثم 8 بلايين سنة لتصبح 35 - نتكلم هنا عن الاس لذا فهناك تضاعف - . &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;لنفكر بطريقة أخرى ، لو افترضنا اننا سنطبع هذه الارقام بخط رقم 1 والذي يحتل حوالي 3 مليمتر لكل حرف ، سنجد ان حجم الصفحة التي تكفي لطباعة كل هذا تساوي 3.5 * 10 مرفوعة للاس 98 متر ، في حين ان كامل مساحة الكون المعروف حتى الآن 7.4 * 10 مرفوعة للاس 26 . ايضاً لا ننسى عامل الوقت في الطباعة حتى لو افترضنا ان نقل البيانات يتم بسرعة الضوء . &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;كل هذا وما زلنا نتحدث عن googolplex ، فما بالك بما بعده . ثم لا تنسى ان هذا الرقم هو صغير جداً مقارنة برقمنا Graham's Number والذي لا يمكن كتابته في صيغة exponentiation اي رقم مرفوع للاس رقم ، بل لا بد من طريقة خاصة لكتابته لإن لا احد يستطيع كتابته بهذا الشكل ، &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;يمكنك الاطلاع على المزيد هنا :        &lt;br /&gt;&lt;/font&gt;&lt;a href="http://www-users.cs.york.ac.uk/~susan/cyc/g/graham.htm"&gt;&lt;font size="4"&gt;http://www-users.cs.york.ac.uk/~susan/cyc/g/graham.htm&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;ولكن لماذا Graham's Number ؟؟؟        &lt;br /&gt;في الواقع جاء هذا الرقم كأكبر رقم في الكون حالياً لحل مشكلة رياضية اسمها Ramsey theory والتي تقول : &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font color="#804040" size="4"&gt;Consider an n-dimensional hypercube, and connect each pair of vertices to obtain a complete graph on 2n vertices. Then colour each of the edges of this graph using only the colors red and black. What is the smallest value of n for which every possible such coloring must necessarily contain a single-colored complete sub-graph with 4 vertices that lies in a plane? &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;بالرغم من ان هذه المشكلة لم تحل إلى الآن ، Graham's Number هو الحد الأعلى الأصغر حالياً .        &lt;br /&gt;في الختام ، اكثر اسم مسلي لرقم قرأته في حياتي ، هذا الاسم هو :         &lt;br /&gt;Novemnonagintanoncentinonmillinovamyriadecemyrilli on &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;المصادر:        &lt;br /&gt;&lt;/font&gt;&lt;a href="http://en.wikipedia.org/wiki/Graham_number"&gt;&lt;font size="4"&gt;http://en.wikipedia.org/wiki/Graham_number&lt;/font&gt;&lt;/a&gt;       &lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Googol#Trivia"&gt;&lt;font size="4"&gt;http://en.wikipedia.org/wiki/Googol#Trivia&lt;/font&gt;&lt;/a&gt;       &lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Other_names_of_large_numbers"&gt;&lt;font size="4"&gt;http://en.wikipedia.org/wiki/Other_names_of_large_numbers&lt;/font&gt;&lt;/a&gt;       &lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Moser%27s_number"&gt;&lt;font size="4"&gt;http://en.wikipedia.org/wiki/Moser%27s_number&lt;/font&gt;&lt;/a&gt;       &lt;br /&gt;&lt;a href="http://www-users.cs.york.ac.uk/~susan/cyc/g/graham.htm"&gt;&lt;font size="4"&gt;http://www-users.cs.york.ac.uk/~susan/cyc/g/graham.htm&lt;/font&gt;&lt;/a&gt;       &lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Knuth%27s_up-arrow_notation"&gt;&lt;font size="4"&gt;http://en.wikipedia.org/wiki/Knuth%27s_up-arrow_notation&lt;/font&gt;&lt;/a&gt;       &lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Hyper_operator"&gt;&lt;font size="4"&gt;http://en.wikipedia.org/wiki/Hyper_operator&lt;/font&gt;&lt;/a&gt;       &lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Conway_chained_arrow_notation"&gt;&lt;font size="4"&gt;http://en.wikipedia.org/wiki/Conway_chained_arrow_notation&lt;/font&gt;&lt;/a&gt;       &lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Skewes%27_number"&gt;&lt;font size="4"&gt;http://en.wikipedia.org/wiki/Skewes%27_number&lt;/font&gt;&lt;/a&gt;       &lt;br /&gt;&lt;a href="http://home.earthlink.net/~mrob/pub/math/largenum-2.html"&gt;&lt;font size="4"&gt;http://home.earthlink.net/~mrob/pub/math/largenum-2.html&lt;/font&gt;&lt;/a&gt;       &lt;br /&gt;&lt;a href="http://mathworld.wolfram.com/GrahamsNumber.html"&gt;&lt;font size="4"&gt;http://mathworld.wolfram.com/GrahamsNumber.html&lt;/font&gt;&lt;/a&gt;       &lt;br /&gt;&lt;a href="http://www.madsci.org/posts/archives/oct98/905633072.As.r.html"&gt;&lt;font size="4"&gt;http://www.madsci.org/posts/archives/oct98/905633072.As.r.html&lt;/font&gt;&lt;/a&gt;       &lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Googolplex"&gt;&lt;font size="4"&gt;http://en.wikipedia.org/wiki/Googolplex&lt;/font&gt;&lt;/a&gt;       &lt;br /&gt;&lt;a href="http://wiki.tcl.tk/13471"&gt;&lt;font size="4"&gt;http://wiki.tcl.tk/13471&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;إلى هنا انتهت الترجمة &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;في الواقع وجدت هذا الرابط لاسماء الارقام ، ستجدون الكثير من الاسماء الغريبة :        &lt;br /&gt;&lt;/font&gt;&lt;a href="http://www.nationmaster.com/encyclopedia/Xonillion"&gt;&lt;font size="4"&gt;http://www.nationmaster.com/encyclopedia/Xonillion&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-434228611799687343?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/434228611799687343/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=434228611799687343' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/434228611799687343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/434228611799687343'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/05/blog-post.html' title='أكبر رقم في العالم'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-5880950219455477825</id><published>2008-05-31T13:04:00.001-07:00</published><updated>2008-05-31T13:04:37.394-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Access'/><title type='text'>مقدمة إلى Microsoft Access</title><content type='html'>&lt;p align="center"&gt;&lt;font size="4"&gt;كتاب تم نشره سابقاً في منتديات فيجوال بيسك للعرب&lt;/font&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh5.ggpht.com/hammada2091/SEGvTUWunqI/AAAAAAAAAMM/g6SUbA1otf0/s1600-h/tt%5B2%5D.jpg"&gt;&lt;font size="4"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="244" alt="tt" src="http://lh3.ggpht.com/hammada2091/SEGvU0WunrI/AAAAAAAAAMU/TYHTkBhl-3k/tt_thumb.jpg?imgmax=800" width="190" border="0" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="4"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;font size="4"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;font color="#ff0000" size="4"&gt;محتويات الكتاب&lt;/font&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;font size="4"&gt;مقدمة عامة لقواعد البيانات .     &lt;br /&gt;مقدمة لأكسيس .      &lt;br /&gt;النماذج Forms      &lt;br /&gt;العلاقات Relationships      &lt;br /&gt;بعض عمليات قواعد البيانات .      &lt;br /&gt;منوعات في أكسيس .      &lt;br /&gt;لغة الاستعلامات الهيكلية TSQL&lt;/font&gt;&lt;/p&gt;  &lt;p align="center"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://hammada2091.googlepages.com/Access.pdf"&gt;&lt;font size="4"&gt;للتحميل اضغط هنا&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-5880950219455477825?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/5880950219455477825/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=5880950219455477825' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/5880950219455477825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/5880950219455477825'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/05/microsoft-access.html' title='مقدمة إلى Microsoft Access'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/hammada2091/SEGvU0WunrI/AAAAAAAAAMU/TYHTkBhl-3k/s72-c/tt_thumb.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-3233063579364141307</id><published>2008-05-30T05:46:00.001-07:00</published><updated>2008-05-30T05:50:13.663-07:00</updated><title type='text'>Strategy Design Pattern</title><content type='html'>&lt;div dir="rtl"&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;The Strategy Design Pattern&lt;br /&gt;نبدأ أولاً مع التعريف وهو : &lt;/span&gt;&lt;p&gt;&lt;span style="font-size:130%;color:#660000;"&gt;The Strategy Design Pattern basically consists of decoupling an algorithm from its host, and encapsulating the algorithm into a separate class. More simply put, an object and its behaviour are separated and put into two different classes. This allows you to switch the algorithm that you are using at any time. &lt;/span&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;وباختصار ، فإن هذا الباترن مكون من عملية decoupling للالجوريزم و encapsulating في كلاسات Classes مختلفة ، حيث يتم فصل الكائن عن سلوكه في كلاسين منفصلين ، وهو ما سيسمح لك لاحقاً بتغيير الالجوريزم وقت ما تريد .&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;مميزات هذا الباترن :&lt;br /&gt;- يمكنك بكل بساطة من خلاله تغيير ال behaviour الخاص بك وقت ما تريد عن طريق فصل كل behaviour في كلاس خاص به .&lt;br /&gt;- في حالة رغبتك في اضافة behaviour أو تعديله لن تضطر إلى التعديل في الكلاس الرئيسي .&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;الاستخدام :&lt;br /&gt;عندما يكون لديك عدد من الكائنات Objects متشابه ومختلفة فقط في ال behaviour فإنه من المفضل دائماً استخدام Strategy حيث يمكنك اختصار جميع هذه الكلاسات في كلاس واحد فقط مع استخدام Strategies مختلفة .&lt;br /&gt;كذلك الأمر أيضاً مع subclassing للكائنات ، حيث يعتمد الحل القديم على كون ال behaviour من نوع static ، وعندما ترغب في تغييره فإنك تقوم بعمل new instance ومن ثم تقوم بعمل تبديل replace للقديم ، ولكن الآن كل ما عليك هو تغيير ال Strategy وهو سيقوم تلقائياً بتعديل ال behaviour .&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;أيضاً فإن وجود عدد كبير من ال behaviour في كلاس واحد سيجبرك على كثرة استخدام الجمل الشرطية لمعرفة ال behaviour المطلوب ، أما مع Strategy فلن تحتاج إلى ذلك أبداً .&lt;br /&gt;طريقة العمل بكل بساطة في الصورة التالية :&lt;br /&gt;&lt;img alt="" src="http://www.exciton.cs.rice.edu/JAvaResources/DesignPatterns/Strategy.jpg" border="0" /&gt;&lt;br /&gt;والله الموفق ..&lt;br /&gt;والسلام عليكم ورحمة الله وبركاته .&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-3233063579364141307?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/3233063579364141307/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=3233063579364141307' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/3233063579364141307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/3233063579364141307'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/05/strategy-design-pattern.html' title='Strategy Design Pattern'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-6672493110110815115</id><published>2008-05-30T05:08:00.001-07:00</published><updated>2008-05-30T05:20:00.100-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>لدي فكرة مجنونة ، من موقع SourceForge</title><content type='html'>&lt;div dir="rtl"&gt;   &lt;p align="right"&gt;&lt;font size="4"&gt;بسم الله الرحمن الرحيم .        &lt;br /&gt;السلام عليكم ورحمة الله وبركاته . &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;فكرة وجدتها وانا اتصفح موقع الفريق العربي للبرمجة . الفكرة مطروحة ايضاً على موقع sourceforge بالاساس وسأحاول ان اوضحها للجميع هنا . &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;لنفترض ان لدينا صورة 4*4 بيكسل ، نريد ان نجرب فيها كل الاحتمالات بلونين فقط هما الابيض والاسود ، هل تعرف كم صورة سيكون الناتج ؟        &lt;br /&gt;الناتج سيكون 2 مرفوعة للاس 4*4 وهو ما يعني 2 مرفوعة للاس 16 وتساوي 65536 .         &lt;br /&gt;حيث ستجد اولاً البكسل الاول اسود والباقي ابيض ، ثم الثاني ، ثم الثالث ، ثم الاول والثاني ، ثم الاول والثالث .... الخ . &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;الآن سنفترض اننا نريد عمل صورة ملونة 16 مليون لون بحجم 640*480 ، هل تعرف كم الصور الناتجة ؟        &lt;br /&gt;طبعاً ، الناتج هو 16000000 مرفوع للاس 307200 ، وهو رقم كبير جداً ، يكفي ان تعلم ان 16 مليون مرفوعة للاس 2 ستحتوي على الاقل على ضعف عدد الاصفار اي 12 صفر ، للاس 3 سيصبح 24 صفر ، الاس الرابع سيصبح 48 اس ، بمعنى انه لن يزيد 6 اصفار في المرة بل ستتضاعف ، لذا لك ان تتخيل الرقم عند الاس الالف ومن ثم الرقم مرفوعاً للاس 307 آلاف ، ان حساب الرقم الناتج هو في حد ذاته مشكلة فما بالك بالحصول على الصور نفسها .         &lt;br /&gt;لكن هل تتخيل على ماذا ستحتوي هذه الصور ، بالواقع ستحتوي على كل الاحتمالات التي يمكن لكاميرا ما ان تلتقطها ، وهي بالتالي تحتوي على : &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;- صور جميع البشر سواء البشر الذين ولدوا او سيولدوا او الموجودين حالياً .        &lt;br /&gt;- جميع الكائنات الحية المكتشفة او التي لم تكتشف بعد .         &lt;br /&gt;- صور جميع الاختراعات ووسائل المواصلات التي اخترعت او ستخترع .         &lt;br /&gt;- صور جميع الكلمات المكتوبة ، هنا ستجد ايضاً افضل قصيدة قيلت او ستقال لإن القصيدة او بيت الشعر هو شيء يمكن تصويره .         &lt;br /&gt;- ستجد ايضاً الحل لكل المسائل الفيزيائية والهندسية والكيميائية ، حيث ان هذه الحلول هي صور ايضاً .         &lt;br /&gt;- ستجد ايضاً صور لجميع الدوائر الكهربية او الالكترونية الموجودة او تلك التي ستوجد . &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;باختصار شديد ، ستجد كل ما تريده وما اخترعناه وما سنخترعه ، ولكن المشكلة الاكبر هي العدد المهول من الصور الناتجة ، حيث ان انتاج هذه الصور يستغرق باقوى حاسباتنا الحالية ملايين السنين ، وحتى لو سلمنا جدلا باننا نستطيع انتاجها فمن ذا يستطيع خلال عمره كله استعراضها . &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;لذا سنختم ببعض النقاط : &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;- اغلب هذه الصور غير ذا جدى في الواقع ، حيث انك ستجد صورة تحتوي على نقطة واحدة فقط من لون ، وهكذا لمدة 16 مليون صورة ، ثم تحتوي على نقطتين ثم على ثلاث ، ستجد رقماً مهولاً من الصور بهذه الطريقة .        &lt;br /&gt;- نحتاج إلى الجوريزم لاستبعاد الصور غير المهمة ، ولكن هذا الالجوريزم لا بد ان يكون ذكياً ، ربما الصورة غير مهمة حالياً ولكنها شيء لم نكتشفه بعد !         &lt;br /&gt;- ستجد لنفسك فقط عدة مليارات من الصور إن لم تكن اكثر ، خد صورتك وحول لون احد شعر رأسك للأحمر ثم للاخضر وهكذا لمدة 16 مليون لون ، ثم انتقل للشعرة التالية ، ثم للشعرة الاولى مع الثانية ... وهكذا ، ثم حرك راسك بمقدار بيكسل واعد الحسابات ، هذا لو سلمنا ان الشعرة بيكسل فما بالك لو كانت الشعرة تحتوي على اكثر من بيكسل ، هنا سنجد مقدراً مهولاً من التكرارات ، ثم نفس الامر مع صورة زميلك ثم مع تغيير الخلفية لتحتوي على تلفزيون بدلاً من مكتب ، ثم مكتب ببيكسل احمر في المنتصف ... الخ . &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;النص التالي منقول من موقع الفريق العربي للبرمجة لشرح فقط فكرة تكوين الصور وعدد الاحتمالات - مهندس أسامة - :&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;a title="http://www.arabteam2000-forum.com/index.php?showtopic=155674&amp;amp;st=20&amp;amp;p=782920&amp;amp;#entry782920" href="http://www.arabteam2000-forum.com/index.php?showtopic=155674&amp;amp;st=20&amp;amp;p=782920&amp;amp;#entry782920"&gt;&lt;font size="4"&gt;http://www.arabteam2000-forum.com/index.php?showtopic=155674&amp;amp;st=20&amp;amp;p=782920&amp;amp;#entry782920&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;    &lt;div align="right"&gt;     &lt;table cellspacing="0" cellpadding="2" width="100%" align="right" border="2"&gt;&lt;tbody&gt;         &lt;tr&gt;           &lt;td valign="top"&gt;             &lt;p&gt;لو فرضنا أنك تريد أن تحسب الأحتمالات لصورة مكونة من لونين فقط، وحجمها هو 3 &amp;#215; 1 بيكسل، فيكون عدد الاحتمالات = عدد الألوان (2) مرفوع للأس (3) (حجم الصوره)= 2 أس (3&amp;#215;1) = 8 صور &lt;/p&gt;              &lt;p&gt;&lt;img alt="" src="http://www.arabteam2000-forum.com/cgi-bin/mimetex.cgi?Pictures = 2 ^ 3 = 8" align="middle" border="0" /&gt;&lt;/p&gt;              &lt;p&gt;&lt;img alt="الصورة المرفقة" src="http://www.arabteam2000-forum.com/uploads/monthly_03_2008/post-98027-1206715809.jpg" /&gt;&lt;/p&gt;              &lt;p&gt;وبالتالى: لو تريد أن تحسب الأحتمالات لصورة مكونة من لونين فقط، وحجمها هو 3 &amp;#215; 2 بيكسل، فيكون عدد الاحتمالات = عدد الألوان (2) مرفوع للأس (6) (حجم الصوره)= 2 أس (3&amp;#215;2) = 64 صور = (2 أس 3) أس 2 &lt;/p&gt;              &lt;p&gt;&lt;img alt="" src="http://www.arabteam2000-forum.com/cgi-bin/mimetex.cgi?Pictures = 2 ^ 6 = 64" align="middle" border="0" /&gt;&lt;/p&gt;              &lt;p&gt;&lt;img alt="الصورة المرفقة" src="http://www.arabteam2000-forum.com/uploads/monthly_03_2008/post-98027-1206716815.jpg" /&gt;&lt;/p&gt;              &lt;p&gt;إذن: تريد أن تحسب الأحتمالات لصورة مكونة من 256 لون، وحجمها هو 640 &amp;#215; 480 بيكسل، فيكون عدد الاحتمالات = عدد الألوان (256) مرفوع للأس (307200) (حجم الصوره)= 256 أس (640&amp;#215;480) = (256 أس 640) أس 480&lt;/p&gt;              &lt;p&gt;&lt;img alt="الصورة المرفقة" src="http://www.arabteam2000-forum.com/uploads/monthly_03_2008/post-98027-1206717201.jpg" /&gt;&lt;/p&gt;              &lt;p&gt;أحسب الناتج، ولنفترض أن زمن تكوين الصوره يساوى 1 من مليون من الثانية (جدلاً)، &lt;b&gt;فما الوقت الازم لتكوين جميع الاحتمالات؟&lt;/b&gt;؟؟&lt;/p&gt;           &lt;/td&gt;         &lt;/tr&gt;       &lt;/tbody&gt;&lt;/table&gt;   &lt;/div&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;ولحساب زمن تقريبي لتنفيذ هذه العملية ، هذا ايضاً من موقع الفريق العربي&amp;#160; للمهندس اسامة ايضاً :&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;div align="right"&gt;     &lt;table cellspacing="0" cellpadding="2" width="100%" align="right" border="2"&gt;&lt;tbody&gt;         &lt;tr&gt;           &lt;td valign="top"&gt;             &lt;p&gt;هل حاولت حساب الوقت المستغرق لهذه العملية ؟ (عدد الأحتمالات تقريباً يساوى (10 أس 737280)، أى واحد وامامه 737280 صفر)&lt;/p&gt;              &lt;p&gt;&lt;img alt="الصورة المرفقة" src="http://www.arabteam2000-forum.com/uploads/monthly_04_2008/post-98027-1207035108.jpg" /&gt;&lt;/p&gt;              &lt;p&gt;نفترض جدلاً ان لديك نظام يستطيع تكوين ألف مليار صورة فى الثانية، أى: 1.000.000.000.000، وهو تقريباً يساوى &lt;/p&gt;              &lt;p&gt;&lt;img alt="" src="http://www.arabteam2000-forum.com/cgi-bin/mimetex.cgi?256^5" align="middle" border="0" /&gt;&lt;/p&gt;              &lt;p&gt;أى عدد الثوانى التى تحتاجها لجميع الاحتمالات = 256 أس 307195، أى تقريباً (10 أس 737268) أى واحد وامامه 737268 صفر من الثوانى &lt;img alt="regular_smile.gif" src="http://www.arabteam2000-forum.com/style_emoticons/default/regular_smile.gif" border="0" /&gt;&lt;/p&gt;              &lt;p&gt;&lt;img alt="الصورة المرفقة" src="http://www.arabteam2000-forum.com/uploads/monthly_04_2008/post-98027-1207058889.jpg" /&gt;&lt;/p&gt;              &lt;p&gt;وحيث أن السنه تحتوى تقريباً على 32.000.000 ثانية، أى كل 3 سنين تحتوى تقريباً على 10.000.000 ثانية (10 أس 7)                &lt;br /&gt;إذن تحتاج الى زمن قدره = 3 &amp;#215; (10 أس (737268-7)) = 3 &amp;#215; (10 أس 737261) سنة، 3 &amp;#215; (10 أس 737259) قرن                 &lt;br /&gt;ولنفترض أن تكنولوجيا البرنامج تضاعفت سرعتها 3 مليون مليار مرة، اى اصبح ينتج: &lt;b&gt;ثلاثة مليار مليار مليار صورة فى الثانية (أى واحد وامامه 24 صفر صورة فى الثانية)&lt;/b&gt;. إذن ستحتاج لوقت يساوى (10 أس 737241) قرن                 &lt;br /&gt;ولنفترض أنك ستختار صورة واحدة من كل مليار مليار مليار صورة (أى 0.000000000000000000000000000000000001%)، إذن ستحتاج لوقت يساوى (10 أس 737205) قرن أى (10 أس 737193) مليار قرن، أى (واحد وامامه 737207 صفر من السنين)                 &lt;br /&gt;مع العلم أن عمر الأرض يقدر بحوالى (4.5 &amp;#215; 10 أس 9) سنة = 4.500.000.000 سنة                 &lt;br /&gt;أى ستحتاج تقريباً إلى أكثر من (10 أس 737195) ضعف عمر الأرض &lt;img alt="regular_smile.gif" src="http://www.arabteam2000-forum.com/style_emoticons/default/regular_smile.gif" border="0" /&gt; ، ولو افترضنا بأننا (لا أدرى كيف؟) أنتقينا صورة واحدة من كل ((10 أس 30000) إلى (10 أس 40000)) صورة، لكانت المحصلة تساوى تقريباً (10 أس 700000) ضعف عمر الأرض، (واحد وامامه 700.000 صفر &lt;img alt="regular_smile.gif" src="http://www.arabteam2000-forum.com/style_emoticons/default/regular_smile.gif" border="0" /&gt;)                 &lt;br /&gt;أى لو بدء البرنامج مع بدء عمر الأرض، وبقوة تصل إلى: &lt;b&gt;ثلاثة مليار مليار مليار صورة فى الثانية، مع اختيار صورة واحدة من كل مليار مليار مليار صورة، وأن زمن اختيار واستبعاد الصور جدلاً يساوى صفر&lt;/b&gt;، وكان هناك حوالى (10 أس 700000) نظام بنفس القوه ويعملوا سوياً بالتوازى، لكنا الان نشاهد الرسالة &lt;img alt="regular_smile.gif" src="http://www.arabteam2000-forum.com/style_emoticons/default/regular_smile.gif" border="0" /&gt;&lt;/p&gt;              &lt;p&gt;LEFT TO RIGHT&lt;/p&gt;              &lt;p&gt;98% of task completed&lt;/p&gt;              &lt;p&gt;&lt;b&gt;ملاحظة: &lt;u&gt;الحسابات بإفتراض الصورة 640 &amp;#215; 480 &amp;#215; 8 بت، وعليه:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;              &lt;ul&gt;               &lt;li&gt;640 &amp;#215; 480 &amp;#215; 4 بت، سيكون الناتج النهائى التقريبى = 10 أس (700000/2) = 10 أس 350.000 &lt;/li&gt;                &lt;li&gt;640 &amp;#215; 480 &amp;#215; 16 بت، سيكون الناتج النهائى التقريبى = 10 أس (700000*2) = 10 أس 1.400.000 &lt;/li&gt;                &lt;li&gt;640 &amp;#215; 480 &amp;#215; 24 بت، سيكون الناتج النهائى التقريبى = 10 أس (700000*3) = 10 أس 2.100.000 &lt;/li&gt;                &lt;li&gt;640 &amp;#215; 480 &amp;#215; 32 بت، سيكون الناتج النهائى التقريبى = 10 أس (700000*4) = 10 أس 2.800.000 &lt;/li&gt;                &lt;li&gt;640 &amp;#215; 480 &amp;#215; 4 بت = 320 &amp;#215; 480 &amp;#215; 8 بت = 640 &amp;#215; 240 &amp;#215; 8 بت = 320 &amp;#215; 240 &amp;#215; 16 بت، الناتج النهائى التقريبى = 10 أس (700000/2) = 10 أس 350.000 &lt;/li&gt;                &lt;li&gt;... الخ &lt;/li&gt;             &lt;/ul&gt;           &lt;/td&gt;         &lt;/tr&gt;       &lt;/tbody&gt;&lt;/table&gt;   &lt;/div&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;في الواقع تبدو الفكرة مربكة إلى حد ما ، حيث انه من المستحيلات حالياً ايجاد مثل هذا التطبيق ، ولكني نقلته هنا ربما يستطيع احد تطبيق نفس المبدأ على افكار ومواضيع أخرى - قابلة للتحقيق هذه المرة - . &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;رابط الموضوع على منتدى الفريق العربي للبرمجة :        &lt;br /&gt;&lt;/font&gt;&lt;a href="http://www.arabteam2000-forum.com/index.php?showtopic=155674"&gt;&lt;font size="4"&gt;http://www.arabteam2000-forum.com/index.php?showtopic=155674&lt;/font&gt;&lt;/a&gt;&lt;font size="4"&gt; &lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;رابط الموضوع على فيجوال بيسك للعرب :&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;a title="http://vb4arab.com/vb/showthread.php?t=13808" href="http://vb4arab.com/vb/showthread.php?t=13808"&gt;&lt;font size="4"&gt;http://vb4arab.com/vb/showthread.php?t=13808&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;       &lt;br /&gt;رابط الموضوع على sourceforge هنا :         &lt;br /&gt;&lt;/font&gt;&lt;a href="http://sourceforge.net/community/forum/topic.php?id=451&amp;amp;page"&gt;&lt;font size="4"&gt;http://sourceforge.net/community/forum/topic.php?id=451&amp;amp;page&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="4"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;/p&gt; &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-6672493110110815115?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/6672493110110815115/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=6672493110110815115' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/6672493110110815115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/6672493110110815115'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/05/sourceforge.html' title='لدي فكرة مجنونة ، من موقع SourceForge'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-6097840258536686616</id><published>2008-05-18T09:33:00.001-07:00</published><updated>2008-05-18T09:38:47.063-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Books'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>مقدمة إلى التحكم بالأجهزة الخارجية - Physical Computing</title><content type='html'>&lt;div dir="rtl"&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://lh4.ggpht.com/hammada2091/SDBaUXtmcRI/AAAAAAAAALs/Pil8deVX5fo/s1600-h/Untitled22.jpg"&gt;&lt;span style="font-size:130%;"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="244" alt="Untitled-2" src="http://lh3.ggpht.com/hammada2091/SDBaWHtmcSI/AAAAAAAAAL0/isD0kS2bOUY/Untitled2_thumb.jpg?imgmax=800" width="202" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;كتاب تم تقديمه في منتديات فيجوال بيسك للعرب عبر عدة دروس في هذا القسم :&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;a title="http://vb4arab.com/vb/forumdisplay.php?f=" href="http://vb4arab.com/vb/forumdisplay.php?f=57"&gt;&lt;span style="font-size:130%;"&gt;http://vb4arab.com/vb/forumdisplay.php?f=57&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;المادة العلمية الاساسية قدمت في الاصل من FUTEX Group مشروع مادة Seminar في الفرقة الثالثة - كلية حاسبات ومعلومات حلوان .&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;محتويات الكتاب :&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;color:#004080;"&gt;1- نظم الأرقام&lt;br /&gt;2- المنافذ وتركيبھا وطريقة تعامل النظام معھا&lt;br /&gt;3- منفذ الطباعة Parallel Port وطريقة التعامل معه بالتفصيل&lt;br /&gt;4- برمجة منافذ الكومبيوتر&lt;br /&gt;5- مدخل إلى الھاردوير - مقدمة .&lt;br /&gt;6- مدخل إلى الھاردوير - وسائل الإخراج.&lt;br /&gt;7- مدخل إلى الھاردوير - وسائل الإدخال .&lt;br /&gt;8- مدخل إلى الھاردوير - وسائل المعالجة .&lt;br /&gt;9-  تطبيق تشغيل الأجھزة الكھربائية من خلال الكومبيوتر&lt;br /&gt;10- قيادة عربة ريموت كنترول من خلال الكومبيوتر&lt;br /&gt;11- مقدمة إلى عالم الروبوتات&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p align="center"&gt;&lt;a href="http://hammada2091.googlepages.com/PhysicalComputing.pdf"&gt;&lt;span style="font-size:130%;"&gt;لتحميل نسخة من الكتاب اضغط هنا&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-6097840258536686616?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/6097840258536686616/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=6097840258536686616' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/6097840258536686616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/6097840258536686616'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/05/physical-computing.html' title='مقدمة إلى التحكم بالأجهزة الخارجية - Physical Computing'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/hammada2091/SDBaWHtmcSI/AAAAAAAAAL0/isD0kS2bOUY/s72-c/Untitled2_thumb.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-4212061498856492935</id><published>2008-04-22T16:23:00.001-07:00</published><updated>2008-04-22T16:30:59.932-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.net'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>الفروقات بين C# And VB.net - الخلاصة 99% تشابه</title><content type='html'>&lt;div dir="rtl"&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;في هذه المقالة أهدف إلى توضيح بعض الفروقات بين C# و VB.net في اشارة إلى أن الفروقات بينها 90% فقط في طريقة الكتابة ، ولن أناقش مبدأ أنهما متشابهان في البنية التحتية فهذا أمر مفروغ منه ، ومن أجمل ما قرأت مقال الأستاذ أيمن المدهون بعنوان : لا تكذبي إني رأيتكما معاً ، على هذا الرابط : &lt;/span&gt;&lt;a href="http://www.vb4arab.com/vb/showthread.php?t=726"&gt;&lt;span style="font-size:130%;"&gt;http://www.vb4arab.com/vb/showthread.php?t=726&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;ولكني الآن سأبدأ بالتعرض لأوجه الخلاف ، وستكتشف في نهاية الدرس أن ليس ثمة اختلافات حقيقة بل هي لعبة تسويقية من مايكروسوفت كي لا تخسر مبرمجي فيجوال بيسك ، وفي نفس الوقت لتجذب إليها مبرمجي عائلة C . &lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;وسأضع هنا تنويهاً عن الفروقات الغوية الأبرز وأحيلك في آخر الدروس إلى موسوعة للفروقات بين هاتين اللغتين ، ولنبدأ بالفروقات اللغوية - فروق غير ذات قيمة - : &lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color:#ff0000;"&gt;* أولاً :&lt;/span&gt; كونك مبرمج سي شارب لا تنس أن تضع ; في آخر كل سطر &lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color:#ff0000;"&gt;* ثانياً :&lt;/span&gt; طريقة تعريف المتغيرات : &lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;VB.net : &lt;/span&gt;&lt;div align="right"&gt;&lt;pre class="csharpcode"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="kwrd"&gt;Dim&lt;/span&gt; X &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;Dim&lt;/span&gt; X &lt;span class="kwrd"&gt;as&lt;/span&gt; ClassName=&lt;span class="kwrd"&gt;new&lt;/span&gt; ClassName()&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: small;&lt;br /&gt; color: black;&lt;br /&gt; font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt&lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;C#&lt;br /&gt;&lt;/span&gt;&lt;div align="right"&gt;&lt;pre class="csharpcode"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="kwrd"&gt;int&lt;/span&gt; x;&lt;br /&gt;&lt;br /&gt;ClassName x=&lt;span class="kwrd"&gt;new&lt;/span&gt; ClassName();&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: small;&lt;br /&gt; color: black;&lt;br /&gt; font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt&lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color:#ff0000;"&gt;* ثالثاً :&lt;/span&gt; في حالة الشروط في VB.net اكتب = أما في C# اكتب == ، كما ستجد العلامة != لعدم المساواة بدلاً من &amp;lt;&amp;gt; .&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color:#ff0000;"&gt;* رابعاً :&lt;/span&gt; تعتمد لغة VB.net على جمل مثل End وتستخدمها في الاجراءات والكلاسات وغيرها مثلاً :&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;div align="right"&gt;&lt;pre class="csharpcode"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="kwrd"&gt;if&lt;/span&gt; x=1 &lt;span class="kwrd"&gt;Then&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: small;&lt;br /&gt; color: black;&lt;br /&gt; font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt&lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;بينما تجدها في C# باستخدام الأقواس :&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div align="right"&gt;&lt;pre class="csharpcode"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="kwrd"&gt;if&lt;/span&gt;(x==1)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: small;&lt;br /&gt; color: black;&lt;br /&gt; font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt&lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;وكذلك في الكلاس والاجراءات أيضاً : &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;VB.net :&lt;br /&gt;&lt;/span&gt;&lt;div align="right"&gt;&lt;pre class="csharpcode"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="kwrd"&gt;Imports&lt;/span&gt; System&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;Namespace&lt;/span&gt; MyNameSpace&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;Class&lt;/span&gt; HelloWorld&lt;br /&gt;&lt;br /&gt;&lt;span class="rem"&gt;'Entry point which delegates to C-style main &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;Private&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Overloads&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; Main()&lt;br /&gt;&lt;br /&gt;Main(System.Environment.GetCommandLineArgs())&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;Overloads&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; Main(args() &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;System.Console.WriteLine(&lt;span class="str"&gt;"Hello World"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; &lt;span class="rem"&gt;'Main &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Class&lt;/span&gt; &lt;span class="rem"&gt;'HelloWorld End Namespace 'MyNameSpace &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: small;&lt;br /&gt; color: black;&lt;br /&gt; font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt&lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;C# : &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;div align="right"&gt;&lt;pre class="csharpcode"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System&lt;br /&gt;&lt;br /&gt;Namespace MyNameSpace&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;class&lt;/span&gt; HelloWorld&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Main(&lt;span class="kwrd"&gt;string&lt;/span&gt;[] args)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;System.Console.WriteLine(&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="str"&gt;"Hello&lt;br /&gt;&lt;br /&gt;World"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: small;&lt;br /&gt; color: black;&lt;br /&gt; font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt&lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color:#ff0000;"&gt;* خامساً ،&lt;/span&gt; في فيجوال بيسك .net سوف تستخدم And,Or,Not,OrElse بينما في C# سوف تستخدم &amp;amp;&amp;amp; ! .&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color:#ff0000;"&gt;* سادساً :&lt;/span&gt; عند جمع النصوص استخدم &amp;amp; في VB.net ولكن في C# استخدم + .&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color:#ff0000;"&gt;* سابعاً :&lt;/span&gt; else if في C# هي ElseIf في VB.net&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color:#ff0000;"&gt;* ثامناً :&lt;/span&gt; كما اسلفنا في موضوع End ، ففي الحلقات التكرارية تعتمد C# على الأقواس أيضاً :&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div align="right"&gt;&lt;pre class="csharpcode"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="kwrd"&gt;for&lt;/span&gt; (i = 2; i &amp;lt; = 10; i += 2)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;System.Console.WriteLine(i);&lt;br /&gt;&lt;br /&gt;System.Console.WriteLine(i*10);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: small;&lt;br /&gt; color: black;&lt;br /&gt; font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt&lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;وفي حالة كونها سطر واحد يمكن الاستغناء عن الأقواس : &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;div align="right"&gt;&lt;pre class="csharpcode"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="kwrd"&gt;for&lt;/span&gt; (i = 2; i &amp;lt; = 10; i += 2)&lt;br /&gt;&lt;br /&gt;System.Console.WriteLine(i);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: small;&lt;br /&gt; color: black;&lt;br /&gt; font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt&lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;أما في VB.net فهي تأخذ شكلاً موحداً :&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div align="right"&gt;&lt;pre class="csharpcode"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="kwrd"&gt;For&lt;/span&gt; c = 2 &lt;span class="kwrd"&gt;To&lt;/span&gt; 10 &lt;span class="kwrd"&gt;Step&lt;/span&gt; 2&lt;br /&gt;&lt;br /&gt;System.Console.WriteLine(c)&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: small;&lt;br /&gt; color: black;&lt;br /&gt; font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt&lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;ونفس الأمر بالنسبة لباقي الحلقات التكرارية While و for each وخلافه . &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color:#ff0000;"&gt;* تاسعاً :&lt;/span&gt; بالنسبة للمصفوفات وخلافه يستخدم القوس [] بدلاً من () في VB.net .&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;C#&lt;br /&gt;&lt;/span&gt;&lt;div align="right"&gt;&lt;pre class="csharpcode"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="kwrd"&gt;int&lt;/span&gt;[] nums = {1, 2, 3};&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; i = 0; i &amp;lt; nums.Length; i++)&lt;br /&gt;&lt;br /&gt;Console.WriteLine(nums[i]);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: small;&lt;br /&gt; color: black;&lt;br /&gt; font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt&lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;Vb.net&lt;br /&gt;&lt;/span&gt;&lt;div align="right"&gt;&lt;pre class="csharpcode"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="kwrd"&gt;Dim&lt;/span&gt; nums() &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt; = {1, 2, 3}&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;For&lt;/span&gt; i &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt; = 0 &lt;span class="kwrd"&gt;To&lt;/span&gt; nums.Length - 1&lt;br /&gt;&lt;br /&gt;Console.WriteLine(nums(i))&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: small;&lt;br /&gt; color: black;&lt;br /&gt; font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt&lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;* لن تجد تعليقاً Comment لأكثر من سطر في VB.net مثل /* */ في C# ، وكذلك XML Comments على الرغم من أنني قرأت انها ستكون مدعومة في الاصدارة القادمة .&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;* في C# سوف تستخدم العلامة المئوية % بدلاً من Mod في VB.net للحصول على باقي القسمة .&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;* لن تدعم لك VB.net استخدام Bitwise Operations في حالة Assignment على عكس ال C# حيث تتيح لك ذلك .&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;الآن نترك عنا الفروقات اللغوية ، فسوف نشير للباقي منها في نهاية المقال ، نتطرق هنا على عجالة للفروقات الفعلية :&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;* أول تلك الفروقات هي case sensitive ، حيث أنه في VB.net فإن Ahmed هي نفسها ahmed وهو ما لا يوجد في أي لغة في العالم سوى Basic ، ولا أستطيع أن أحدد فيما إذا كان هذا ميزة أم عيب .&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color:#ff0000;"&gt;مميزات في VB.net - باختصار - :&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;* دعم ال optional parameters موجود في VB.net وليس موجود في C# .&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;* with موجود في VB.net وليس موجود في C# .&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;* Catch ... When موجودة في VB.net وهي تتيح نظاماً أفضل لفلترة الأخطاء .&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;* يقوم VB.net بعمل Compile للكود في BackGround ، وهذه ميزة في التطبيقات الصغيرة ولكنها عيب في التطبيقات الكبيرة حيث تلاحظ بطء الفيجوال ستوديو .&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color:#ff0000;"&gt;مميزات في C# - اختصار - :&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;* يدعم C# ما يعرف باسم unsigned types ، وهو ما يمكنك استخدامه أيضاً في VB.net ولكنه ليس جزءاً اساسياً من اللغة .&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;* الميزة الأقوى في C# والتي لا تتوفر في VB.net هي السماح باستخدام&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;unsafe أو unmaneged code ما يتيح لك العمل على Pointers وخلافه ، ما يفتح لك آفاقاً واسعة في عدة مجالات مثل معالجة الصور image processing وخلافه .&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;ولعل هذه الميزة مما جعل C# قريبة من C++ من ناحية تعاملها مع كود منخفض المستوى Low Level Code وهو ما يجعل سي شارب الاختيار الأمثل للكثيرين .&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;* لن تجد increment و decrement في VB.net حيث ستتضطر إلى كتابة كود بالشكل التالي :&lt;br /&gt;&lt;/span&gt;&lt;div align="right"&gt;&lt;pre class="csharpcode"&gt;&lt;span style="font-size:130%;"&gt;A=A+1&lt;br /&gt;&lt;br /&gt;A-=1&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: small;&lt;br /&gt; color: black;&lt;br /&gt; font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt&lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;بينما في C# يمكنك القيام بذلك بالشكل التالي : &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div align="right"&gt;&lt;pre class="csharpcode"&gt;&lt;span style="font-size:130%;"&gt;A++&lt;br /&gt;&lt;br /&gt;A--&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: small;&lt;br /&gt; color: black;&lt;br /&gt; font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt&lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;* يمكنك أن تجد الخاصية sizeof في C# بينما لن تجدها في VB.net . &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;كان هذا موجزاً لأوضح الاختلافات والتي ستتعامل معها كثيراً ، وكما لاحظت فهي في أغلبها ليست ذات قيمة كبيرة .&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color:#ff0000;"&gt;في النهاية : ماذا أختار ؟&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;إذا كنت منتقلاً من VB 6.0 فعليك ب VB.net أما إذا كانت لديك خبرة ب C/C++/Java فعليك ب C# وإذا كنت جديداً في مجال البرمجة فأنت حر في اختيار ما يناسبك .&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;وفي النهاية ومهما كان اختيارك قم بالاطلاع على اللغة الثانية - علشان تضحك على الناس وتقول انا ببرمج بلغتين مش لغة واحدة - ، ويمكنك ايضاً في هذه الحالة أن تبرمج ب J# ويبقى اسمك ادام الناس بيبرمج ب 3 لغات&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;في آخر هذا الدرس أحيلك إلى هذا الرابط (متميز) ويشرح الموضوع بتفصيل كامل ، أتمنى لك الاستفادة منه .&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;a href="http://www.codeproject.com/dotnet/vb...difference.asp"&gt;&lt;span style="font-size:130%;"&gt;http://www.codeproject.com/dotnet/vb...difference.asp&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;أيضاً الملف من موقع مايكروسوفت لتوضيح الفروقات :&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;a href="http://support.microsoft.com/kb/308470"&gt;&lt;span style="font-size:130%;"&gt;http://support.microsoft.com/kb/308470&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;والسلام عليكم ورحمة الله وبركاته .&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-4212061498856492935?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/4212061498856492935/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=4212061498856492935' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/4212061498856492935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/4212061498856492935'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/04/c-and-vbnet-99.html' title='الفروقات بين C# And VB.net - الخلاصة 99% تشابه'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-5619793629702219404</id><published>2008-03-23T06:25:00.001-07:00</published><updated>2008-03-23T06:41:20.600-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Winners'/><category scheme='http://www.blogger.com/atom/ns#' term='Graduation Projects'/><title type='text'>Traffic Monitoring System</title><content type='html'>&lt;div dir="rtl"&gt;&lt;p&gt;&lt;span style="font-size:130%;color:#ff0000;"&gt;اسم المشروع : نظام لمراقبة المرور مع نموذج للقيادة الآلية .&lt;br /&gt;Traffic Monitoring System With Automatic Driving Model &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;المشروع فائز بالمركز الأول على مستوى جمهورية مصر العربية في يوم الهندسة المصري EED فرع IT .&lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/pic1.jpg" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;فريق العمل :&lt;/strong&gt;&lt;br /&gt;      1- أحمد جمال خليفة .&lt;br /&gt;      2- أحمد سعيد أنور .&lt;br /&gt;      3- أحمد عماد أحمد .&lt;br /&gt;      4- أحمد محمد عيسوي .&lt;br /&gt;      5- حسام الدين محمد صادق .&lt;br /&gt;      6- خالد عادل محمد سلامة .&lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/pic2.jpg" border="0" /&gt; &lt;img alt="" src="http://hammada2091.googlepages.com/pic3.jpg" border="0" /&gt; &lt;img alt="" src="http://hammada2091.googlepages.com/pic3_2.jpg" border="0" /&gt; &lt;img alt="" src="http://hammada2091.googlepages.com/pic3_3.jpg" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;اسم المشرف :&lt;/strong&gt;&lt;br /&gt;      بروفيسور: عراقي خليفة .&lt;br /&gt;      م. عمر غنيم . &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;الكلية والجامعة :&lt;/strong&gt;&lt;br /&gt;جمهورية مصر العربية - جامعة حلوان - كلية الحاسبات والمعلومات - قسم علوم الحاسب.&lt;br /&gt;&lt;strong&gt;السنة :&lt;/strong&gt; 2007 . &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;وصف مختصر للمشروع : &lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;المراحل الأساسية للمشروع - باختصار شديد - لمزيد من التفاصيل راجع ال Documentation في آخر الموضوع .&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;مقدمة :&lt;br /&gt;&lt;/strong&gt;أصبح لأنظمة الكومبيوتر الآلية تأثير عميق على حياتنا اليومية حيث أصبحنا نرى كل يوم أبحاث ومشاريع جديدة من أجل استخدام الكومبيوتر لتسهيل الحياة وتخفيف الضغوط التي يتحملها البشر .&lt;br /&gt;والمشروع عبارة عن مزيح من آخر التقنيات التي قدمت في هذا الفرع من علوم الكومبيوتر المتعلقة بالرؤية الحاسوبية ونظم دعم اتخاذ القرار المقدمة في مجال تطوير المدن الآلية ، حيث يستخدم النظام للمساعدة في عملية المراقبة ، ازدحام الطرق ومراقبة اشارات المرور وتدفق السير في المدن ، هو عبارة عن نظام لمراقبة السير ودعم قرارت القيادة الآلية حيث أن هذين النظامين لم يتم ربطهما سوية من قبل .&lt;br /&gt;وكل ما نطمح إليه حالياً هو تقديم خطوة في طريق تطبيق نظام مراقبة في الواقع عن طريق دعمه للتكامل مع النموذج المستقبلي لنظام القيادة الآلية من خلال نموذج مصغر لمدينة تحتوي على سيارات يتم التحكم بها عن بعد وتتم ادارته من خلال الكومبيوتر .&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;المصاعب الأساسية التي واجهت النظام :&lt;br /&gt;&lt;/strong&gt;تعتبر الاستجابة اللحظية للأوامر الصادرة عن طريق الكومبيوتر للسيارة هي العقبة الأولى في المشروع نظراً للزمن الذي تستغرقه عمليه تحليل الصور على حاسب آلي متوسط السرعة ، والوقت الذي تستغرقة الأوامر للانتقال في ظل حاجتنا إلى أسرع استجابة ممكنة ليمكن تطبيق النظام في الواقع .&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;السيناريو :&lt;br /&gt;* مخطط لسيناريو المشروع :&lt;/strong&gt; &lt;/span&gt;&lt;p align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/an.jpg" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;* مخطط Collaboration Diagram للمشروع :&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/co.jpg" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;وصف المشروع :&lt;br /&gt;&lt;/strong&gt;باختصار شديد : المشروع يحتوي على كاميرا تقوم بارسال صور فورية إلى الكومبيوتر الذي يقوم بتحليلها وفهمها والخروج ببعض التقارير والإحصائيات عن الطرق ونظام المرور ، وفي الجزء الثاني من المشروع وعند بداية مهمة لتحريك السيارة من نقطة إلى أخرى يتم الرجوع إلى هذه المعلومات لحساب الطريق الامثل للتحرك من خلاله ، وأخيراً يتم اللجوء إلى بعض مبادئ Physical Computing من أجل تحريك السيارة الموديل الموجودة في المدينة المصغرة .&lt;br /&gt;وسنبدأ الآن في الشرح التفصيلي لبعض المراحل باختصار . &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;معالجة الصور :&lt;br /&gt;&lt;/strong&gt;&lt;u&gt;المرحلة الأولى في عملية معالجة الصور&lt;/u&gt; هي مرحلة Road Extraction حيث يتم معرفة الطرق الموجودة في المدينة عن طريق مراحل متعددة تمر بها عملية استخراج الطرق بعد ذلك يمكن حصرها اجمالاً في المراحل التالية (Generate Road Seed points, Snaxles, Snakes) حيث يتم التعرف في آخر مرحلة بصورة مفصلة على جميع الطرق غير المستقيمة أو المنحنية بانحناءات متعددة . &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;وباختصار شديد فإن هذه المرحلة تعتمد على ما يسمى باسم Edge Detection كمرحلة أساسية في هذه الخطوة حيث نقوم بقراءة الصورة ومحاولة استخراج الحواف المميزة لها :&lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/edge.jpg" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;في الخطوات التالية نقوم باستبعاد تلك التي تمثل مباني مثلاً أو ناتجة عن تشويش في الصورة ، نقوم بدمج الخطوط سوية ... الخ .&lt;br /&gt;وبما أن الناتج لن يكون بالطبيعي 100% فإننا نسمح للمستخدم بالانتقال إلى شاشة رسم الطرق والتعديل حيث يمكنه اضافة وحذف الطرق الخاطئة كما يمكنه تسمية الشوارع والمباني وغيرها ...&lt;br /&gt;&lt;u&gt;المرحلة الثانية في عملية معالجة الصور&lt;/u&gt; هي متابعة تحركات السيارات في المدينة ، ويتم ذلك أيضاً عبر مجموعة من العمليات الخاصة بكيفية استخراج خلفية فارغة من جميع السيارات دون الاضطرار لتصوير المدينة وهي فارغة ، ومن ثم البدء في قراءة الصورة عن طريق الطرح المباشر كخطوة أولى ، وهذه مجموعة من الصور :&lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/a1.jpg" border="0" /&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/a2.jpg" border="0" /&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/a3.jpg" border="0" /&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/a4.jpg" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;الخطوة الثانية تعتمد على البدء الفعلي في قراءة الصور ويتم ذلك عبر تحويلها إلى صور Binary مع تطبيق بعض ال morphological filtering من اجل توضيح الصورة ، وهذه المحصلة النهائية لهذه العمليات :&lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/r.jpg" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;u&gt;الخطوة الأخيرة&lt;/u&gt; هي البدء بتتبع هذه السيارات فترة عمل النظام ، ويتم ذلك باستخدام LUCAS-KANADE OPTICAL FLOW ALGORITHM على سبيل المثال .&lt;br /&gt;نظام الإحصائيات والتقارير القيادة الآلية :&lt;br /&gt;بعد أن استطعنا في المرحلة السابقة معرفة أماكن السيارات في المدينة وحالة الطرق ، جاء دور المرحلة الثانية من النظام والتي تتلخص في الاستفادة من هذه البيانات ، وتتم الاستفادة من هذه البيانات بطريقتين :&lt;br /&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;u&gt;نظام الإحصائيات والتقارير :&lt;/u&gt;&lt;br /&gt;&lt;/strong&gt;حيث يتم عرض تقرير فوري بحالة الطرق ونسب الإزدحام وخلافه .&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;u&gt;نظام القيادة الآلية :&lt;/u&gt;&lt;br /&gt;&lt;/strong&gt;وهذا هو الجزء الثاني من المشروع ، حيث يتم كبداية تحديد مهمة للانتقال من نقطة أ إلى نقطة ب .&lt;br /&gt;أول العمليات التي يتم تنفيذها هي حساب ال Best Path عن طريق معادلة لكل طريق يتم من خلالها اختيار الطريق الأنسب وبدء العمل على تحريك السيارة من خلاله &lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/des.jpg" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;والآن ننتقل إلى الجزء الآخر ، وهو كيفية تحريك السيارة على هذا المسار ، فعلى الجانب الأول هناك بعض الأمور الخاصة بالالكترونيات والتي سنناقشها في النقطة التالية ، أما الجزء الخاص بالمعادلات فهو موضوعنا هنا .&lt;br /&gt;حيث أنه طوال فترة حركة السيارة فإنه يتم عمل العديد من المعادلات الرياضية من أجل ضمان حركة السيارة ضمن الطريق ، الالتفاف في الملفات المحددة لذلك ، التأكد من وجود مساحة كافية للتحرك إلى الأمام ، وضمان عدم الاصطدام بالأجسام المحيطة . &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;الهاردوير Hardware : &lt;/strong&gt;&lt;br /&gt;كما أسلفنا في النقطة السابقة ، فإنه تلزمنا بعض التعديلات ليصبح بمقدورنا تحريك السيارة الموديل عن طريق الكومبيوتر .&lt;br /&gt;بداية استعنا بسيارة ريموت كنترول RC Car مع مراعاة وجود أكثر من تردد Frequency في حالة استخدام أكثر من سيارة أو استخدام crystals أو Removable Strips من أجل تجنب تداخل الموجات .&lt;br /&gt;ثم قمنا بعمل موديل لمدينة مصغرة وقمنا برسم بعض الطرق وبناء بعض المباني كما هو موضح في الصور المرفقة .&lt;br /&gt;وقمنا باستخدام كاميرا عادية لالتقاط الصور .&lt;br /&gt;&lt;u&gt;المرحلة الأولى&lt;/u&gt; هي ربط الكاميرا بالكومبيوتر ، وتم ذلك عبر منفذ USB حيث يمكن قراءة الكاميرا بأكثر من طريقة وحسب لغة البرمجة المستخدمة .&lt;br /&gt;&lt;u&gt;الخطوة الثانية&lt;/u&gt; هي ربط الريموت بالكومبيوتر ليتم التحكم في السيارة ، ويتم ذلك عن طريق استخدام مبادئ ال Relays والتي تسمح للتيار بالمرور في الريموت عند تلقي أمر معين من الكومبيوتر من خلال منفذ الطابعة Parallel Port .&lt;br /&gt;وهاتين الصورتين توضحان الفرق بين الريموت العادي حيث يتم تحريك صفائح على بعضها مقارنة بالريموت الجديد حيث أصبح ال Relay هو المتحكم في توصيل الكهرباء .&lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/h1.jpg" border="0" /&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/h2.jpg" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;التطبيق في العالم الواقعي :&lt;br /&gt;&lt;/strong&gt;لكي يصبح هذا النظام قابلاً للتطبيق في أرض الواقع وعلى مدينة حقيقة فإنه ما زال بحاجة إلى بعض التعديلات ، نوجزها في الثلاث نقاط التالية : &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;u&gt;- من جهة معالجة الصور :&lt;/u&gt; سيتم استبدال الكاميرا بصور مباشرة للأقمار الصناعية مثل Googel Earth والتي بدأت تقدم خدمات بث مباشر لبعض المدن حول العالم .&lt;br /&gt;أيضاً لا زلنا بحاجة للمزيد من التسريع والدقة في عمليات معالجة الصور ، أيضا لمزيد من الفلترة للمؤثرات الجوية الخاصة مثل الغيوم ، الأمطار ... الخ .&lt;br /&gt;&lt;u&gt;- من جهة نظام قيادة السيارة :&lt;/u&gt; لن يتحمل السيرفر وحده عبء القيادة بل سيكون هناك جهاز على السيارة أو Microcontroller يستقبل المسار ويبدأ في توجيه نفسه بنفسه وذلك منعاً لتثقيل العمل على السيرفر وزيادة في السرعة .&lt;br /&gt;أيضاً سيتم استخدام دوائر كهربائية مثل ultra-sonic حتى في الموديل الصغير لتلافي الاصطدامات التي تنتج عن أجسام مفاجئة حيث تقوم بارسال واستقبال موجات ويتم احتساب زمن ارتدادها لمعرفة ومن خلالها يمكن معرفة المسافة التي تفصلها عن أقرب جسم في الاتجاه والزاوية التي ترسل بها الموجات .&lt;br /&gt;&lt;u&gt;- من جهة نظام التحكم والاتصال :&lt;/u&gt; لن يتم الاتصال عبر موجات Radio عادية بل لا بد من وجود Wireless network ، والشرط الأهم هو كونها محمية وهو ما لم تتوصل إليه البحوث حتى الآن حيث لا توجد شبكة لا سلكية محمية بصورة كاملة أبداً .&lt;br /&gt;ومن الجهة الأخرى فنحن بحاجة إلى تطويع هاردوير السيارات لاستقبال أوامر عن طريق الكومبيوتر وهو ما لا يعد مرحلة صعبة من ناحية التطبيق ، ولكنه سيواجه مشاكل عديدة تنتج عن سرعة السيارة مثلاً وسرعة الاستجابة للأوامر في ظل سيرها على سرعات كبيرة والتوقف المفاجئ وتوقع الاعطال وغيره .&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;المشروع : &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;span style="font-size:130%;"&gt;تم تسليم المشروع باستخدام C# ولكن بداية العمل في المشروع لم تكن كذلك ، حيث تم استخدام MATLAP نظراً لكونه الأسهل في التعامل مع ال Image Proccessing ، ومن ثم تم ربطه بالنظام الذي قمنا بعمله من خلال C# ولكن وبالرغم من ذلك فلن تجد اللغة المستخدمة تفرق كثيراً حيث أن أغلب البرنامج عبارة عن معادلات وقوانين لن يختلف تطبيقها من لغة إلى أخرى أبداً .&lt;br /&gt;وللتحويل إلى C# تم استخدام SharperCV وهي مكتبة مفتوحة المصدر متخصصة في عمليات ال Image Proccesing وهي عبارة عن Warrper لمكتبة OpenCV التي تم تصميمها للعمل على C++ ، وسبب الاستعانة بهذه المكتبة هو التعقيد الكبير الذي سينتج عن استخدام أكواد سي شارب مباشرة في كل عملية من عمليات معالجة الصور التي نستخدمها نظراً لإنك ستضطر للتعامل مع المؤشرات Pointers وهو ما يضطرك لاستخدام unsafe code ، وبصراحة فهي لا تعطيك كافة المميزات التي تقدمها لك لغة مثل C++ وفي نفس الوقت تحرمك من السهولة التي تجدها في الماتلاب .&lt;br /&gt;ولكن هذا لم يمنع استخدام أكواد مباشرة في كثير من الأحيان ، وإنما تم استخدام SharperCV فقط في العمليات المتكررة أو التي يتم التعامل فيها مع كمية كبيرة من الأكواد حيث تختصر عليك ال SharperCV جزء كبير من المهمة برغم كثرة مشاكلها ، ولكنك ستجد نفسك مضطراً في النهاية للبرمجة اليدوية .&lt;br /&gt;كان بالإمكان اضافة حل آخر وهو استخدام عمليات التحويل من ماتلاب إلى .net ولكن ظهور بعض المشاكل أدى إلى ايقاف هذه العملية ، عموماً ما زالت جميع مراحل العمل على معالجة الصور موجودة من خلال matlap ومن خلال C# أيضاً .&lt;br /&gt;أما الجزء الآخر الخاص بالنظام والشاشات والقيادة الآلية ومعادلات الحركة والربط بالكاميرا من جهة أو الربط بالسيارة من جهة أخرى وعمليات التعديل والتحرير وقواعد البيانات والتقارير وخلافه فقد تمت برمجته باستخدام C# مباشرة .&lt;br /&gt;لقطات وصور من المشروع :&lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/pic4_1.jpg" border="0" /&gt; &lt;img alt="" src="http://hammada2091.googlepages.com/pic4_2.jpg" border="0" /&gt;&lt;br /&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/pic4_3.jpg" border="0" /&gt; &lt;img alt="" src="http://hammada2091.googlepages.com/pic4_4.jpg" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;لقطات وصور من البرنامج :&lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/pic5.jpg" border="0" /&gt; &lt;img alt="" src="http://hammada2091.googlepages.com/pic6.jpg" border="0" /&gt; &lt;img alt="" src="http://hammada2091.googlepages.com/pic7.jpg" border="0" /&gt;&lt;br /&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/pic8.jpg" border="0" /&gt; &lt;img alt="" src="http://hammada2091.googlepages.com/pic9.jpg" border="0" /&gt; &lt;img alt="" src="http://hammada2091.googlepages.com/pic10.jpg" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;وهذه نسخة من ال Documentation للمشروع يمكن الاطلاع عليها من خلال هذا الرابط :&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;a href="http://hammada2091.googlepages.com/Documentation.pdf"&gt;&lt;span style="font-size:130%;"&gt;http://hammada2091.googlepages.com/Documentation.pdf&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;مراكز أخرى حققتها جروبات كلية حاسبات ومعلومات حلوان :&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a title="http://www.fcih.net/details.asp?id=" href="http://www.fcih.net/details.asp?id=94"&gt;&lt;span style="font-size:130%;"&gt;http://www.fcih.net/details.asp?id=94&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-5619793629702219404?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/5619793629702219404/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=5619793629702219404' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/5619793629702219404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/5619793629702219404'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/03/traffic-monitoring-system.html' title='Traffic Monitoring System'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-9129692214067896582</id><published>2008-03-23T06:05:00.001-07:00</published><updated>2008-03-24T10:54:19.055-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Design Patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Singleton Design Pattern</title><content type='html'>&lt;p dir="rtl"&gt;&lt;span style="font-size:130%;"&gt;المشكلة :&lt;/span&gt;&lt;/p&gt;&lt;p dir="rtl"&gt;&lt;span style="font-size:130%;"&gt;أحياناً ما تحتاج لإن يكون ال Class الذي قمت بانشائه لا يمكن تعريف سوى نسخة أو Object واحد فقط منه ، وتحتاج إلى مثل هذه العملية في حالة كود هذا ال Class لا بد أن يكون موجوداً مرة واحدة في البرنامج وتظل قيمه مقروءة لجميع المستخدمين من أي مكان .&lt;/span&gt;&lt;/p&gt;&lt;p dir="rtl"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;المشكلة ليست في جعل ال Class لا يتم سوى عمل نسخة واحدة منه ، بل إن هذا يتم بكل بساطة باستخدام الكلمة المحجوزة Sealed ، ولكن المشكلة تكمن في أنك عندما تريد أن تستخدم نسخة أخرى فإنك لن تستطيع ، وبذا لن يمكنك الاستفادة منه في كل مكان &lt;/span&gt;&lt;/p&gt;&lt;p dir="rtl"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;في هذه الحالة نلجأ لما يسمى Singleton .&lt;/span&gt;&lt;/p&gt;&lt;p dir="rtl"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;الشرح :&lt;/span&gt;&lt;/p&gt;&lt;p dir="rtl"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;في البداية سوف ننشأ Class وليكن اسمه Singleton .&lt;br /&gt;وفي كلا الأحوال لا بد للمنشىء constructor أن يكون private لكي لا يتمكن أحد من عمل نسخة جديدة منه .&lt;br /&gt;وسنعرف نسخة من ال Class داخل ال Class نفسه بالشكل التالي :&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr"&gt;&lt;table cellspacing="0" cellpadding="2" width="400" border="2"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="400"&gt;&lt;span style="font-size:130%;"&gt;private readonly Singleton instance;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;div dir="rtl"&gt;&lt;pre&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div dir="rtl"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p dir="rtl"&gt;&lt;span style="font-size:130%;"&gt;ومن ثم سوف أقوم بعمل فنكشن استخدمها للحصول على هذه النسخة من أي مكان في البرنامج بالشكل التالي :&lt;/span&gt;&lt;/p&gt;&lt;div dir="rtl"&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p dir="ltr"&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="2" width="400" border="2"&gt;&lt;tbody&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;tr&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;td valign="top" width="400"&gt;&lt;span style="font-size:130%;"&gt;public Singleton getInstance&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if (instance ==null) instance = new Singleton();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;return instance&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;/span&gt;&lt;/td&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/tr&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/p&gt;&lt;div dir="rtl"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir="rtl"&gt;&lt;pre&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div dir="rtl"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p dir="rtl"&gt;&lt;span style="font-size:130%;"&gt;والآن هناك طريقتين لتطبيق هذه التقنية ، الطريقة السابقة التي ذكرناها وبامكانها العمل على أي لغة برمجة - بغض النظر عن أنني استخدم C# في الشرح - ، أما الطريقة الثانية فهي تتطلب لغة يمكنها قراءة static من أي مكان وهو ما يتوفر مثلاً في الجافا أو ال C# ولا يتوفر في ال C++ .&lt;br /&gt;&lt;br /&gt;الطريقة الثانية تعتمد على الغاء الفنكشن getInstance والاعتماد على أن بامكان اللغة تعريف new من المتغير وقت التعريف ، ليصبح أمر التعريف بالشكل التالي :&lt;/span&gt;&lt;/p&gt;&lt;div dir="rtl"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p dir="ltr"&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="2" width="400" border="2"&gt;&lt;tbody&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;tr&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;td valign="top" width="400"&gt;&lt;span style="font-size:130%;"&gt;public static readonly Singleton instance = new Singleton();&lt;/span&gt;&lt;/td&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/tr&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/p&gt;&lt;div dir="rtl"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir="rtl"&gt;&lt;pre&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div dir="rtl"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p dir="rtl"&gt;&lt;span style="font-size:130%;"&gt;وفي هذه الحالة قم دائماً بقراءة instance دون الحاجة إلى التعريف لإنها static .&lt;br /&gt;&lt;br /&gt;وهذه صورة توضح التقنيتن المشروحتين :&lt;/span&gt;&lt;/p&gt;&lt;div dir="rtl"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p dir="rtl" align="center"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;img alt="" src="http://www.exciton.cs.rice.edu/JAvaResources/DesignPatterns/singleton.png" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div dir="rtl"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-9129692214067896582?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/9129692214067896582/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=9129692214067896582' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/9129692214067896582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/9129692214067896582'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/03/singleton-desing-pattern.html' title='Singleton Design Pattern'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-4364221300341896985</id><published>2008-03-23T05:13:00.001-07:00</published><updated>2008-03-23T05:23:16.986-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.net'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips And Tricks'/><title type='text'>StringBuilder</title><content type='html'>&lt;div dir="rtl"&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;بسم الله الرحمن الرحيم .&lt;br /&gt;السلام عليكم ورحمة الله وبركاته .&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;عندما نقوم بدمج النصوص ، يلجأ الكثيرون منا لاستخدام المعامل + في C# أو المعامل &amp;amp; في VB.net بالشكل التالي - مثال اضافة امتداد البريد الإلكتروني : &lt;/span&gt;&lt;p dir="ltr"&gt;&lt;table cellspacing="0" cellpadding="2" width="400" border="2"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="400"&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;//C#:&lt;br /&gt;Label1.Text = Text1.Text + "@hotmail.com";&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr"&gt;&lt;table cellspacing="0" cellpadding="2" width="400" border="2"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="400"&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;'VB.net:&lt;br /&gt;Label1.Text = Text1.Text + "@hotmail.com";&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;إلا أن Visual Studio قدمت لنا طريقة أخرى لدمج النصوص باستخدام الفئة StringBuilder ، في مجال الأسماء System.Text.StringBuilder ، يمكن استخدامها لدمج النصوص بالشكل التالي :&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr"&gt;&lt;table cellspacing="0" cellpadding="2" width="400" border="2"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="400"&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;//C#:&lt;br /&gt;System.Text.StringBuilder mail = New System.Text.StringBuilder(Text1.Text);&lt;br /&gt;mail.Append("@hotmail.com");&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr"&gt;&lt;table cellspacing="0" cellpadding="2" width="400" border="2"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="400"&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;'VB.net:&lt;br /&gt;Dim mail As New System.Text.StringBuilder(Text1.Text)&lt;br /&gt;mail.Append("@hotmail.com")&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;الفارق بين الاثنين يكمن في ان stringbuilder يظل كما هو منذ لحظة انشاءه ، اما استخدام المعاملات + أو &amp;amp; فهو يقوم بعمل Object جديد من ال String مع كل عملية دمج .&lt;br /&gt;والآن سنفترض مثال Loop تقوم بدمج عدد من النصوص ، وسنصور المقارنة مباشرة من كتاب .Net Gotachas ، حيث قام بعمل اختبار لعدد عمليات دمج ابتداء من 10 عمليات دمج وحتى 1000000 عملية دمج ، وقام بمقارنة الأداء بين استخدام StringBuilder او استخدام معاملات الدمج التقليدية ، مع ذكر زمن التنفيذ بالثانية لكل منهم .&lt;br /&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;img alt="" src="http://vb4arab.com/vb/uploaded/3/01202903132.jpg" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;لا تنسى ان 3562.933 ثانية تعني 59.4 دقيقة تقريباً ...&lt;br /&gt;والآن ... هل ما زلت تستخدم &amp;amp; او + لدمج النصوص ؟؟؟&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;توفر الفئة stringbuilder ايضاً عمليات استبدال Replace وادراج Insert وحذف Remove وعمليات نصوص أخرى كثيرة ، يمكنك الاطلاع على أوجه كثيرة للمقارنة مدعومة بالرسوم البيانية من خلال هذا الرابط من Code Project :&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.codeproject.com/KB/cs/StringBuilder_vs_String.aspx"&gt;&lt;span style="font-size:130%;"&gt;http://www.codeproject.com/KB/cs/StringBuilder_vs_String.aspx&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;والله الموفق ...&lt;br /&gt;والسلام عليكم ورحمة الله وبركاته .&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-4364221300341896985?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/4364221300341896985/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=4364221300341896985' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/4364221300341896985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/4364221300341896985'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/03/stringbuilder.html' title='StringBuilder'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-5355605314449244276</id><published>2008-03-13T06:29:00.000-07:00</published><updated>2008-03-13T06:36:18.124-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcements'/><title type='text'>دعوة لحضور Microsoft launch event</title><content type='html'>&lt;span style="font-size:130%;"&gt;يوم الإثنين 24-3-2008 .&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;span style="font-size:130%;"&gt;العنوان : فندق انتركونتينتال سيتي ستارز .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:130%;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5177218908048778546" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" height="123" alt="" src="http://4.bp.blogspot.com/_FUmkjQ7foTw/R9ktKrKu5TI/AAAAAAAAAC0/oQ6Ic8SEFR4/s320/micro.jpg" width="215" border="0" /&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;جدول اليوم :&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5177219075552503106" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_FUmkjQ7foTw/R9ktUbKu5UI/AAAAAAAAAC8/1zbjC75B1WI/s320/table.jpg" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-5355605314449244276?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/5355605314449244276/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=5355605314449244276' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/5355605314449244276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/5355605314449244276'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/03/microsoft-launch-event.html' title='دعوة لحضور Microsoft launch event'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_FUmkjQ7foTw/R9ktKrKu5TI/AAAAAAAAAC0/oQ6Ic8SEFR4/s72-c/micro.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-7133622039238776073</id><published>2008-03-13T06:23:00.000-07:00</published><updated>2008-03-13T06:28:05.373-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcements'/><title type='text'>دعوة لحضور dotNetWork.org 3rd gathering</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_4401ryJ0di8/R9Gy9-fAMhI/AAAAAAAAAFg/zTX9nyQN5Fw/s400/Poster-RGB-Small2.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_4401ryJ0di8/R9Gy9-fAMhI/AAAAAAAAAFg/zTX9nyQN5Fw/s400/Poster-RGB-Small2.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div dir="rtl" align="right"&gt;رابط الموضوع الأصلي :&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&lt;a href="http://fci-h.blogspot.com/2008/03/dotnetworkorg-3rd-gathering_07.html"&gt;http://fci-h.blogspot.com/2008/03/dotnetworkorg-3rd-gathering_07.html&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-7133622039238776073?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/7133622039238776073/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=7133622039238776073' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/7133622039238776073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/7133622039238776073'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/03/dotnetworkorg-3rd-gathering.html' title='دعوة لحضور dotNetWork.org 3rd gathering'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_4401ryJ0di8/R9Gy9-fAMhI/AAAAAAAAAFg/zTX9nyQN5Fw/s72-c/Poster-RGB-Small2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-4399799310331799956</id><published>2008-03-13T06:11:00.001-07:00</published><updated>2008-03-13T06:15:56.040-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>موقع MSDN</title><content type='html'>&lt;div dir="rtl"&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;بسم الله الرحمن الرحيم .&lt;br /&gt;السلام عليكم ورحمة الله وبركاته .&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;يعد الـ Microsoft Developer Network أو ما يعرف اختصاراً باسم MSDN واحداً من أكبر مراكز الدعم للمبرمجين الذي يستخدمون أدوات Microsoft المختلفة .&lt;br /&gt;&lt;/span&gt;&lt;a href="http://msdn2.microsoft.com/en-us/default.aspx"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;http://msdn2.microsoft.com/en-us/default.aspx&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;في هذا الموقع ، تجد كل ما تريد من الأوامر الأساسية والفرعية وشروح لمختلف التطبيقات على لغات البرمجة من انتاج مايكروسوفت ، ففي الصفحة الأولى انت مخير للاختيار بين واحد من هذه اللغات أو التقنيات :&lt;br /&gt;.NET Framework, ASP.NET, Office, SQL Server, Visual Basic, Visual C++, Visual C#, Visual Studio, Visual Studio Express, Windows Vista And More&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;يحتوي الموقع أيضاً على آخر الاخبار والنصائح بخصوص هذه التقنيات ، كما تجد مجموعة من الفيديو Videos التي تشرح مختلف التطبيقات والتقنيات ، اضافة إلى روابط وتحديثات للأدوات التي تقدمها Microsft ، كما يمكنك التواصل معهم بعد تسجيل الدخول لارسال آخر الاخبار والتطورات ، ويمكنك أيضاً الاستفادة من خدمة RSS لهذا الموقع لتصفح آخر البيانات .&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;إلا ان النقطة الأبرز والأكثر أهمية في MSDN تظل هي Developer Centers مركز المبرمجين ، والذي تجد فيه كل ما تحتاجه .&lt;br /&gt;والآن قم باختيار أي قسم تود البحث أو التعلم فيه وليكن .net frame work مثلاً ، في هذا القسم سوف تجد قسم Downlaods لتحميل آخر البرامج والأدوات ، أيضاً تجد القسم التعليمي وهو الأهم على أية حال .&lt;br /&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;في القسم التعليمي ستجد قسم لأسئلة وأجوبة ، قسم للعروض التقديمية Presentations ، قسم آخر للتدريب وللكتب وغير ذلك .&lt;br /&gt;أما لو قمنا باختيار قسم يهتم بالكود مثل Viusal C# فسوف تجد مجموعة من Tutorial التعليمية تأخذك خطوة بخطوة عبر هذه اللغة أو التقنية ، حيث تستطيع ايجاد كم هائل من الدروس والتطبيقات الجاهزة .&lt;br /&gt;وفي كلا الأحوال تستطيع البحث عن ما تريد لتجد مجموعة من الأجوبة التي تفيدك في هذا الموضوع ، فمثلاً لو اردنا البحث عن SqlConnection والتي تستخدم لربط قاعدة البيانات من نوع Sql فسوف نجد الصفحة التالية :&lt;br /&gt;&lt;/span&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection(VS.71).aspx"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;http://msdn2.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection(VS.71).aspx&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;br /&gt;والتي تحتوي على شرح كامل لهذا الـ Class بكل التقنيات المتاحة في الغالب ، كما سيحتوي الدرس على روابط لمواضيع متعلقة سوف يهمك أغلبها إذا استمررت في العمل من خلال هذا الـ Class ، كما قد تجد في بعض المواضيع مثالاً للعمل ، أو حتى تطبيقاً جاهزاً يمكنك عمل Download له .&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;وبعيداً عن الدروس المباشرة ستجد أحياناً مجموعة من التعليمات السريعة Hints لمشاكل ربما تواجه في العادة مستخدمي هذه التقنية ، كما ستجد مقالات تشرح لك ماذا يحدث خلف الكود وكيفية عمل هذه التقنية بالضبط .&lt;br /&gt;بقي أن نشير أيضاً إلى وجود MSDN على أقراص CD's ليتم العمل عليه في حالة عدم الاتصال بالانترنت ، ويمكن تحديثها بالربط بالموقع أيضاً ...&lt;br /&gt;ويمكنك تسجيل نفسك كعضو في MSDN للاستفادة من كامل الخدمات التي يقدمها الموقع من خلال بريدك الالكتروني على Live Hotmail .&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-4399799310331799956?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/4399799310331799956/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=4399799310331799956' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/4399799310331799956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/4399799310331799956'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/03/msdn.html' title='موقع MSDN'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-4038595031901980186</id><published>2008-03-13T01:37:00.000-07:00</published><updated>2008-03-13T06:12:18.986-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Prolog'/><title type='text'>مقدمة إلى لغة الذكاء الإصطناعي برولوج - 2</title><content type='html'>&lt;div dir=rtl&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;من منا لا يعرف مسألة أو لغز آينشتاين الذي انتشر كثيراً على المنتديات وجروبات الياهو وفي كل مكان ، وهو اللغز الذي يعتقد آينشتاين أن 98% من البشر لا يمكنهم حله ، هذا هو اللغز :&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;1- توجد خمس منازل لكل منها لون مختلف . &lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;2- يسكن كل منزل شخص من جنسية مختلفه . &lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;3- كل ساكن يفضل ان يشرب مشروبا معين , ويدخن سجائر نوع معين منها,ويحتفظ بحيوان أليف معين . &lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;4- لاأحد من الجيران الخمسة يشرب نفس المشروب أو يدخن نفس النوع من السجائر أو لديه نفس الحيوان الأليف .&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;strong&gt;معلومات الربط :&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;* يسكن البريطاني في المنزل الأحمر .&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;* لدى السويدي كلب. * يحب الدنماركي شرب الشاي .&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;* البيت الأخضر على الجانب الأيسر من البيت الأبيض.&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;* مالك البيت الاخضر يشرب القهوة.&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;* الشخص الذي يشرب سجائر نوع بال مال لديه طائر.&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;* الرجل الذي يسكن في البيت الأوسط يشرب الحليب.&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;* مالك المنزل الأصفر يدخن سجائر نوع دانهيل .&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;* يسكن النرويجي في المنزل الاول .&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;* يسكن مدخن سجائر نوع مارلبور مجاورا لمن لديه قطه.&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;* الرجل الذي لديه حصان يسكن مجاورا لمن يدخن سجائر نوع دانهيل &lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;* مدخن سجائر نوع وينفيلد يحب شرب الجعه (شراب الشعير).&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;* يسكن النرويجي مجاورا للبيت الأزرق .&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;* يدخن الألماني سجائر نوع روثمانز.&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;* مدخن سجائر نوع مارلبور لديه جار يحب شرب الماء.&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;strong&gt;المطلوب -.:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;تحدد اللون / الجنسيه / الحيوان / المشروب / نوع السجائر لكل واحد مع توضيح :&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;من منهم لديه السمكة (أو أن حيوانه الأليف سمكة)؟&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;لا توجد خدعه في حل هذا اللغز , بل هو منطق صرف من يعرف الإجابة سيكون من ضمن أذكى أذكياء العالم (2% الأذكياء في العالم).&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;طبعاً كما ترى ، فاللغز عبارة عن مجموعة من البيانات على غرار (يدخن الألماني سجائر نوع روثمانز) ومجموعة من العلاقات على غرار (مدخن سجائر نوع مارلبور لديه جار يحب شرب الماء) ، وعندما تبدأ انت بحل هذه المشكلة ستبدأ في رص البيانات ومن ثم ربط العلاقات بها ، هذا ما يفعله البرلوج تماماً . ستجد نفسك تعطيه بعض المعلومات والقواعد ليقوم هو باستنتاج الحل . وهذا ما سنقوم به الآن .&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;بداية هذه المسألة بالغة الانجليزية لنستخلص منها بعض المصطلحات&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" align="left"&gt;&lt;table cellspacing="0" cellpadding="2" width="696" border="2"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="692"&gt;&lt;p&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;The Brit lives in the red house.&lt;br /&gt;The Swede keeps dogs as pets.&lt;br /&gt;The Dane drinks tea.&lt;br /&gt;The green house is on the left of the white house.&lt;br /&gt;The green house's owner drinks coffee.&lt;br /&gt;The person who smokes Pall Mall rears birds.&lt;br /&gt;The owner of the yellow house smokes Dunhill.&lt;br /&gt;The man living in the center house drinks milk.&lt;br /&gt;The Norwegian lives in the first house.&lt;br /&gt;The man who smokes Blends lives next to the one who keeps cats.&lt;br /&gt;The man who keeps horses lives next to the man who smokes Dunhill.&lt;br /&gt;The owner who smokes Bluemaster drinks beer.&lt;br /&gt;The German smokes Prince.&lt;br /&gt;The Norwegian lives next to the blue house.&lt;br /&gt;The man who smokes Blend has a neighbour who drinks water.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;والآن سننقل نفس البيانات السابقة ولكن بنظام كتابة برولوج :&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" align="left"&gt;&lt;table cellspacing="0" cellpadding="2" width="684" border="2"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="680"&gt;&lt;p&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;next_to(X, Y, List) :- iright(X, Y, List).&lt;br /&gt;next_to(X, Y, List) :- iright(Y, X, List).&lt;br /&gt;iright(L, R, [L [R _]]).&lt;br /&gt;iright(L, R, [_ Rest]) :- iright(L, R, Rest).&lt;br /&gt;einstein(Houses, Fish_Owner) :-&lt;br /&gt;=(Houses, [[house, norwegian, _, _, _, _], _, [house, _, _, _, milk, _], _, _]),&lt;br /&gt;member([house, brit, _, _, _, red], Houses),&lt;br /&gt;member([house, swede, dog, _, _, _], Houses),&lt;br /&gt;member([house, dane, _, _, tea, _], Houses),&lt;br /&gt;iright([house, _, _, _, _, green], [house, _, _, _, _, white], Houses),&lt;br /&gt;member([house, _, _, _, coffee, green], Houses),&lt;br /&gt;member([house, _, bird, pallmall, _, _], Houses),&lt;br /&gt;member([house, _, _, dunhill, _, yellow], Houses),&lt;br /&gt;next_to([house, _, _, dunhill, _, _], [house, _, horse, _, _, _], Houses),&lt;br /&gt;member([house, _, _, _, milk, _], Houses),&lt;br /&gt;next_to([house, _, _, marlboro, _, _], [house, _, cat, _, _, _], Houses),&lt;br /&gt;next_to([house, _, _, marlboro, _, _], [house, _, _, _, water, _], Houses),&lt;br /&gt;member([house, _, _, winfield, beer, _], Houses),&lt;br /&gt;member([house, german, _, rothmans, _, _], Houses),&lt;br /&gt;next_to([house, norwegian, _, _, _, _], [house, _, _, _, _, blue], Houses),&lt;br /&gt;member([house, Fish_Owner, fish, _, _, _], Houses).&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;بعد ترجمة هذا المشروع ، تستطيع سؤال البرنامج عن اي منهم وسوف يتتبع البيانات المتاحة له + القواعد ليصل بك إلى الناتج ، هذا هو السؤال الأساسي والخاص بمن يمتلك سمكة :&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" align="left"&gt;&lt;table cellspacing="0" cellpadding="2" width="685" border="2"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="681"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;?- einstein(Houses, Fish_Owner).&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;بداية ، دعني استغل ذكائك وحاول القيام بالحل بمفردك ، يمكنك التأكد من حلك باستخدام برولوج ، وفي النهاية لا تنس أن تحاول أن تتوسع في برولوج فقد تستفيد الكثير لاحقاً . &lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;وفي الختام هذا هو الحل يمكنك اظهاره بتحديد الكلمة التالية بالماوس &lt;span style="color:#ffffff;"&gt;(الألماني)&lt;/span&gt; ، إذا لم يكن هذا هو حلك فأنت مرشح للانضمام إلى نادي ال 98% ، وهي نسبة ليست بسيطة كما ترى .&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-4038595031901980186?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/4038595031901980186/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=4038595031901980186' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/4038595031901980186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/4038595031901980186'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/02/2.html' title='مقدمة إلى لغة الذكاء الإصطناعي برولوج - 2'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-1115488482072843269</id><published>2008-03-13T01:18:00.000-07:00</published><updated>2008-03-13T06:12:53.468-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Prolog'/><title type='text'>مقدمة إلى لغة الذكاء الإصطناعي برولوج - 1</title><content type='html'>&lt;div dir="rtl"&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;color:#000000;"&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;بسم الله الرحمن الرحيم .&lt;br /&gt;السلام عليكم ورحمة الله وبركاته .&lt;/strong&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;لغة البرمجة Prolog والتي اخترعها الين كولمر ايور هي واحدة من أشهر اللغات المتخصصة في مجال الذكاء الإصطناعي ، وتعتمد اللغة على أسلوب المنطق في البرمجة ومن كلمة programmation en logique الفرنسية تم اشتقاق الكلمة الجديدة لترمز للغة .&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;*** المصدر : ويكيبديا .&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;وتعتبر اللغة Prolog قديمة نسبياً هناك لغات أخرى أصبحت أحدث مثل LISP ، لكن اللغة القديمة التي ظهرت في سبعينيات القرن المنصرم لا تزال تحتفظ بقدراتها حتى هذه اللحظة . &lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:130%;color:#000000;"&gt;بداية كونك مبرمج تطبيقات عادية ب .net أو Java أو C++ لا يعني انك ستجد نفس ما تعلمته في برولوج ، أنس الأمر فالموضوع مختلف كلياً ، ولكنه سهل وبسيط ، حيث تعتمد برولوج في الأساس على العلاقات المنطقية بين الأشياء ، ويتم في هذه الحالة انشاء ما يعرف باسم ( قاعدة المعلومات Information Base ) وهي مختلفة عما عهدناه في عالم قواعد البيانات DataBase . &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;أيضاً ال Prolog متغيرة بالكامل ، فلا يمكن تحديد عدد أكوادها حيث أن البرنامج يتعلم أثناء عمل Run له وبالتالي عدد السطور قد يزيد أو ينقص حسب ما تعلمه البرنامج خلال هذه المراحل . &lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;color:#000000;"&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;كيف أبدأ ؟&lt;/strong&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;خطوتك الأولى للبداية تحتاج منك إلى استخدام أداة ما لتنفيذ أكوادك ، ستجد الكثير من الأدوات ، ولكني وجدت نسخة مناسبة اسمها Amzi Development Environment أثناء تصفحي في الموسوعة العربية ، لذا تستطيع أن تجد رابطها هنا :&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.c4arab.com/images/lessons/programming/AI/prolog/amzi_6-2-14_winnt.rar"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;http://www.c4arab.com/images/lessons/programming/AI/prolog/amzi_6-2-14_winnt.rar&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;كل ما عليك هو فتح ملف جديد ، وابدأ بكتابة الأكواد ، بعد الانتهاء قم باختيار Listener ثم Start لبدء التنفيذ .&lt;br /&gt;مجدداً قم بالذهاب إلى Listener ومن ثم اختر Consult ومنه قم باختيار الملف الذي كتبت فيه الأكواد .&lt;br /&gt;الخطوة الاخيرة ، هي البدء باستخدام البرنامج لعمل العلاقات ، سنشرح مثالاً تطبيقياً في الفقرة اللاحقة . &lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;color:#000000;"&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;كيف ابرمج باستخدام برولوج ؟&lt;/strong&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;كما ذكرنا في أول الدرس فإن Prolog تعتمد على العلاقات المنطقية ، فيمكنني القول مثلاً : &lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" align="left"&gt;&lt;table cellspacing="0" cellpadding="2" width="541" border="2"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="537"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;Human(Ahmed)&lt;br /&gt;Car(Toyota)&lt;br /&gt;Human(Khaled)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;والمعنى باختصار ، أن أحمد و خالد من نوع انسان فيما تويوتا هي من نوع عربة .&lt;br /&gt;جرب كتابة هذه الأسطر ، ومن ثم قم بتشغيل البرنامج كما أوضحنا في الجزء أعلاه (Listener -&amp;gt; Start ثم Listener -&amp;gt; Consult) &lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;ومن ثم ابدأ بكتابة هذه الأسئلة : &lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" align="left"&gt;&lt;table cellspacing="0" cellpadding="2" width="542" border="2"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="538"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;?- Human(V). &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;هنا أن تقوم بسؤال البرنامج عن جميع من هم من النوع Human لتضعهم في المتغير V حيث سيقوم بعرضهم لك ، لا تنس أن يكون V حرف كابتيل .&lt;br /&gt;طبعاً سيدأ بعرضهم علي واحداً وراء الآخر ، يمكنني ضغط Enter لو لم أرد عرض المزيد أو ; للاستمرار في العرض . &lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;النوع الثاني من الأسئلة هو الذي تتوقع منه اجابة منطقية ، مثل هذا السؤال : &lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" align="left"&gt;&lt;table cellspacing="0" cellpadding="2" width="538" border="2"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="534"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;?- Human(Ahmed). &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;span style="color:#000000;"&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;وسيرد عليك (نعم) أما لو ادخلت هذا السؤال : &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" align="left"&gt;&lt;table cellspacing="0" cellpadding="2" width="534" border="2"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="530"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;?- Human(Ali). &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;فهذا البيان لم نقم بادخاله له في قاعدة المعلومات ، لذا ستكون الاجابة بالنفي . &lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;حتى هذه اللحظة فأنا استخدم البيانات التي قمت بكتابتها ، قد يتساءل شخص ما ، إذن ما هي الجدوى من هذا البرنامج ، هذا ما سنتعرف عليه في الجزئين التاليين . &lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;color:#000000;"&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;تركيب العلاقات :&lt;/strong&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;في الأجزاء السابقة كانت الأسئلة اجابات على بيانات مباشرة موجودة في قاعدة المعلومات ، ولكن الجزء الأقوى هو الخاص بالعلاقات المتعددة ، فمثلاً لو بدأنا بعلاقة : أحمد أبو محمد &lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" align="left"&gt;&lt;table cellspacing="0" cellpadding="2" width="524" border="2"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="520"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;father(ahmed,mohammed)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;نستطيع تعريف أن أحمد أبو علي أيضاً : &lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" align="left"&gt;&lt;table cellspacing="0" cellpadding="2" width="523" border="2"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="519"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;father(ahmed,ali)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;وهكذا عندما نبدأ بالاستعلام عن أبناء أحمد ، سنضع الجملة التالية في السؤال : &lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" align="left"&gt;&lt;table cellspacing="0" cellpadding="2" width="527" border="2"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="523"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;?- father(ahmed,U)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;span style="color:#000000;"&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;فسيعطينا جميع الأبناء للثابت (أحمد) ، لا تنس ان أي حرف كابتيل يعتبر متغير في البرلوج . &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;color:#000000;"&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;القواعد :&lt;/strong&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;هذه هي النقطة التي نريد الوصول إليها وهي تعريف القواعد ، وهي التي ستحقق لنا الفائدة المرجوة في هذه البرمجة حيث أنه في جميع ما سبق كان البرنامج يجيب من البيانات التي أدخلناها ، أما الآن فسيكون قادراً على الإجابة بناء على مجموعة من المعلومات ومجموعة من القواعد ، وهو ما يفعله العقل البشري في حالة التفكير في الاجابة ، ولنبدأ بأبسط الامثلة مثل ( كل السيارات لديها باب ، وكل الطيارات لها باب ) بالشكل التالي :&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;span style="font-size:130%;color:#000000;"&gt;&lt;/p&gt;&lt;div align="left"&gt;&lt;table cellspacing="0" cellpadding="2" width="523" align="left" border="2"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="519"&gt;&lt;p align="left"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;car(X) :- gotadoor(X).&lt;br /&gt;cairplane(X) :- gotadoor(X). &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/span&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;/p&gt;&lt;div align="left"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div align="left"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;p align="left"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" align="left"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;span style="font-size:130%;color:#000000;"&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;"&gt;والآن لو قمنا بتعريف عدد من السيارات والطائرات ، قم قمنا لاحقاً بسؤال البرنامج عما إذا كان للسيارة mazda مثلاً باب ، ومع أننا لم نذكر صراحة ان gotadoor(mazda) إلا أن البرنامج استنتج أن ال mazda لها باب نظراً لإنها سيارة ، وكل السيارات لها باب . &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;color:#000000;"&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;نهاية :&lt;/strong&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;ما زال في عالم ال Prolog الكثير من الأوامر ، لا تنس الادخال والاخراج وال List ... الخ ، ولكن كانت هذه مقدمة سريعة للبدء في العمل ، ربما لم تتضح لك الفائدة بعد ولكن جرب الإطلاع على الرد التالي مباشرة ، ستجد مثالاً حقيقياً لكيفية الاستفادة من مثل هذه التطبيقات . &lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;والله الموفق ...&lt;br /&gt;والسلام عليكم ورحمة الله وبركاته .&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-1115488482072843269?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/1115488482072843269/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=1115488482072843269' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/1115488482072843269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/1115488482072843269'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/02/1.html' title='مقدمة إلى لغة الذكاء الإصطناعي برولوج - 1'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-8558909223393610125</id><published>2008-02-26T01:09:00.000-08:00</published><updated>2008-03-13T03:25:39.733-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>CString.Format</title><content type='html'>&lt;p dir="rtl" style="MARGIN-BOTTOM: 0cm" align="right"&gt;مرحبا&lt;span style="font-family:Times New Roman, serif;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0cm" align="right"&gt;إذا كنت مبرمجا لل&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0cm" align="right"&gt; &lt;span style="font-family:Times New Roman, serif;"&gt;VC++&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0cm" align="right"&gt;وكنت تريد إظهار رقم عشرى&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0cm" align="right"&gt;&lt;br /&gt;&lt;span style="font-family:Times New Roman, serif;"&gt;(Floating point value)&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;p style="MARGIN-BOTTOM: 0cm; TEXT-ALIGN: right"&gt;لنقل مثلا فى &lt;span style="font-family:Times New Roman, serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0cm; TEXT-ALIGN: right"&gt;&lt;span style="font-family:Times New Roman, serif;"&gt;(Text box)&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0cm" align="right"&gt;أو لتخزينه فى قاعدة البيانات على هيئة حروف تقوم بإعادة تشكيل المتغير ليصبح عشريا&lt;span style="font-family:Times New Roman, serif;"&gt;:&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0cm" align="right"&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0cm" align="right"&gt;&lt;span style="font-family:Times New Roman, serif;"&gt;CString szOutput; //&lt;/span&gt;عرف متغيرا من نوع &lt;span style="font-family:Times New Roman, serif;"&gt;CString&lt;br /&gt;float fValue = 0.0005; // &lt;/span&gt;عرف المتغير العشرى و أعطه قيمة&lt;span style="font-family:Times New Roman, serif;"&gt;&lt;br /&gt;szOutput.Format("%0.0f", fValue); //Format szOutput to be float&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-BOTTOM: 0.5cm; TEXT-ALIGN: right"&gt;و بنفس الطريقة يمكن عمل&lt;span style="font-family:Times New Roman, serif;"&gt;&lt;br /&gt;Format&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;p style="MARGIN-BOTTOM: 0.5cm; TEXT-ALIGN: right"&gt;للحقل &lt;span style="font-family:Times New Roman, serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0.5cm; TEXT-ALIGN: right"&gt;&lt;span style="font-family:Times New Roman, serif;"&gt;ID &lt;/span&gt;فى إدخال بيانات الى قاعدة البيانات&lt;span style="font-family:Times New Roman, serif;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0.5cm; TEXT-ALIGN: right"&gt;&lt;span style="font-family:Times New Roman, serif;"&gt;&lt;/span&gt;لنقل إن الحقل&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0.5cm; TEXT-ALIGN: right"&gt;&lt;span style="font-family:Times New Roman, serif;"&gt;ID&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0.5cm; TEXT-ALIGN: right"&gt;مكون من &lt;span style="font-family:Times New Roman, serif;"&gt;10 &lt;/span&gt;خانات و نوعه &lt;span style="font-family:Times New Roman, serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0.5cm; TEXT-ALIGN: right"&gt;&lt;span style="font-family:Times New Roman, serif;"&gt;Char(10)&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0.5cm; TEXT-ALIGN: right"&gt;، كيف ستتمكن من عمل &lt;span style="font-family:Times New Roman, serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0.5cm; TEXT-ALIGN: right"&gt;&lt;span style="font-family:Times New Roman, serif;"&gt;Format&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0.5cm; TEXT-ALIGN: right"&gt;&lt;span style="font-family:Times New Roman, serif;"&gt;&lt;/span&gt;له مع كل جملة&lt;br /&gt;&lt;span style="font-family:Times New Roman, serif;"&gt;Insert:&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0cm" align="left"&gt;&lt;span style="font-family:Times New Roman, serif;"&gt;&lt;br /&gt;CString szID;&lt;br /&gt;for(int i = 0; i &lt;&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0cm" align="left"&gt;&lt;span style="font-family:Times New Roman, serif;"&gt;szID.Format("%010i", i);&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0.5cm" align="right"&gt;بمعنى أوضح إذا كنت تريد&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0.5cm" align="right"&gt;&lt;span style="font-family:Times New Roman, serif;"&gt;Format&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0.5cm" align="right"&gt;للمتغير من نوع &lt;span style="font-family:Times New Roman, serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0.5cm" align="right"&gt;&lt;span style="font-family:Times New Roman, serif;"&gt;CString&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0.5cm" align="right"&gt;استخدم الأمر&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0.5cm" align="right"&gt;&lt;span style="font-family:Times New Roman, serif;"&gt;CString.Format("%0...", ....)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0.5cm" align="right"&gt;حيث مكان النقط ضع نوع الرقم&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0.5cm" align="right"&gt;&lt;span style="font-family:Times New Roman, serif;"&gt;(int, float, double)&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0.5cm" align="right"&gt;و بجانب &lt;span style="font-family:Times New Roman, serif;"&gt;%0 &lt;/span&gt;ضع الحرف المقابل لنوع الرقم&lt;span style="font-family:Times New Roman, serif;"&gt;:&lt;br /&gt;i--&gt; int&lt;br /&gt;f--&gt; float&lt;br /&gt;d--&gt; double&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-8558909223393610125?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/8558909223393610125/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=8558909223393610125' title='1 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/8558909223393610125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/8558909223393610125'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/02/cstringformat.html' title='CString.Format'/><author><name>Noha Mahmoud</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_gbkwVBGuZIA/R-TMMKYU2OI/AAAAAAAAAEE/aBKTflshTRI/S220/Noha.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-4664385661917130643</id><published>2008-02-18T13:28:00.000-08:00</published><updated>2008-03-13T03:19:22.990-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tips And Tricks'/><title type='text'>مشكلة متكررة مع الباركود</title><content type='html'>&lt;div style="text-align: right;"&gt;ملحوظة ضئيلة عادة ما تنسى سهوا عند التعامل مع الباركود (بالخطوط مثل : "3 من 9 مدد" ، الخ) هي كتابه النص الباركود بين قوسين او العلامات النجميه كما في:&lt;br /&gt;&lt;br /&gt;myLabel.Text = "*"+myBarcode+"*";&lt;br /&gt;&lt;br /&gt;او&lt;br /&gt;&lt;br /&gt;myLabel.Text = "("+myBarcode+")";&lt;br /&gt;&lt;br /&gt;نسيان استخدام احدى الطرق المذكورة اعلاه يجعل قارئ الباركود لا يتعرف عليه..&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-4664385661917130643?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/4664385661917130643/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=4664385661917130643' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/4664385661917130643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/4664385661917130643'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/02/3-9-mylabel.html' title='مشكلة متكررة مع الباركود'/><author><name>Shady M. Najib</name><uri>http://www.blogger.com/profile/15517845851043368287</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_4401ryJ0di8/SaxWGpeWuyI/AAAAAAAAASw/ywm05pRzOZg/S220/n587461065_1697289_3449.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-7861157651275207653</id><published>2008-02-16T11:14:00.000-08:00</published><updated>2008-03-13T03:16:38.098-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>ERP Solutions and CRM Application</title><content type='html'>&lt;div style="text-align: right;"&gt;  &lt;p class="MsoNormal" dir="rtl"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span lang="AR-SA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;- &lt;/span&gt;&lt;span dir="ltr" style=""&gt;ERP Solutions and CRM Application &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl"&gt;&lt;span style="" lang="AR-EG"&gt;الكثير منا عند تصفحه لبعض مواقع&lt;span style=""&gt;  &lt;/span&gt;شركات البرمجه , تجد انها تقوم باصدار بعض البرامج التي توفر &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl"&gt;&lt;span dir="ltr" style=""&gt;ERP Solutions &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;, وتقوم ايضا هذه الشركات باصدار تطبيق يسمى &lt;/span&gt;&lt;span dir="ltr" style=""&gt;CRM Application &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;span lang="AR-EG"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" dir="rtl"&gt;&lt;span style=""&gt;&lt;span lang="AR-EG"&gt; فما هي هذه المصطلحات وما هو معناها ؟؟&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl"&gt;&lt;span style="" lang="AR-EG"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl"&gt;&lt;span style="" lang="AR-EG"&gt;-&lt;/span&gt;&lt;span dir="ltr" style=""&gt;ERP Solutions&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; :&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal" dir="rtl"&gt;&lt;span style="" lang="AR-EG"&gt;معنى كلمه &lt;/span&gt;&lt;span style="" lang="AR-EG"&gt; &lt;/span&gt;&lt;span dir="ltr" style=""&gt;Enterprise Resource Planning)&lt;/span&gt;&lt;span dir="ltr" style=""&gt; ERP &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr" style=""&gt;&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;)   &lt;span style=""&gt;&lt;/span&gt;" تخطيط موارد المشروع " .&lt;o:p&gt;&lt;/o:p&gt;فا &lt;/span&gt;&lt;span dir="ltr" style=""&gt;ERP Solution &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;هو عباره عن انظمه لاداره الاعمال , فهذه الانظمه تحتوي علي جميع الاوجه لاداره الاعمال من مبيعات وتسويق وتخطيط وانتاج , فهو يساعد مدراء الاعمال على تتبع الاعمال والانشطه التجاريه مثل&lt;span style=""&gt;  &lt;/span&gt;التحكم بالمخازن , تتبع الطلبات , خدمه العملاء و الموارد البشريه والماليه . &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl"&gt;&lt;span style="" lang="AR-EG"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl"&gt;&lt;span style="" lang="AR-EG"&gt;- &lt;/span&gt;&lt;span dir="ltr" style=""&gt;CRM Application&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; :&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal" dir="rtl"&gt;&lt;span style="" lang="AR-EG"&gt;معنى كلمه &lt;/span&gt;&lt;span dir="ltr"&gt; &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span lang="AR-SA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span lang="AR-SA"&gt;&lt;/span&gt;&lt;span dir="ltr" style=""&gt;(Custom Relationship Management) &lt;/span&gt;&lt;span dir="ltr"&gt;CRM&lt;/span&gt;&lt;span lang="AR-SA"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt; , فهي عباره عن تفاعل الشركه مع عملائها سواء من خلال المبيعات او من خلال خدمه العملاء . ونظرا لتطور التكنولوجيا اصبح هذا التفاعل من خلال المواقع الالكترونيه او شبكه الهواتف المحموله &lt;span style=""&gt;  &lt;/span&gt;(&lt;/span&gt;&lt;span dir="ltr" style=""&gt;WAP,Web Sites&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; &lt;/span&gt;&lt;span style="" lang="AR-KW"&gt;) , ولذلك فان&lt;/span&gt;&lt;span dir="ltr" style=""&gt;CRM Application &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;هو عباره عن موقع الكتروني &lt;/span&gt;&lt;span style="" lang="AR-KW"&gt;&lt;o:p&gt;&lt;/o:p&gt;تقوم الشركه المنتجه بالتفاعل من خلاله مع عملائها , &lt;/span&gt;&lt;span dir="rtl" style="" lang="AR-KW"&gt;حتى تحصل على المعلومات اللازمه لكل عميل وبالتالي تساهم في زياده المبيعات &lt;span style=""&gt; &lt;/span&gt;لهذا العميل وتستطيع ان ترشد خدمه العملاء الى ما هي احتياجات هذا العميل من التعديلات او الاضافات التى قد تضاف على البرنامج الذي تم شراؤه&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" dir="rtl"&gt;&lt;br /&gt;&lt;span dir="rtl" style="" lang="AR-KW"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" dir="rtl"&gt;&lt;span dir="rtl" style="" lang="AR-KW"&gt;* اذا اردت ان ترى مثال على ال ERP and CRM  , زور الموقع التالي :&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" dir="rtl"&gt;&lt;span dir="rtl" style="" lang="AR-KW"&gt;&lt;a href="http://www.ajyal.com/"&gt;www.ajyal.com&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl"&gt;&lt;span style="" lang="AR-EG"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-7861157651275207653?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/7861157651275207653/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=7861157651275207653' title='1 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/7861157651275207653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/7861157651275207653'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/02/erp-solutions-and-crm-application.html' title='ERP Solutions and CRM Application'/><author><name>Mohamed Abd El hafeez</name><uri>http://www.blogger.com/profile/14484046267576658574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-1393406996139122994</id><published>2008-02-15T03:41:00.001-08:00</published><updated>2008-03-13T05:30:48.858-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VBScript'/><title type='text'>مقدمة إلى VBScript</title><content type='html'>&lt;div dir="rtl" align="right"&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;strong&gt;بسم الله الرحمن الرحيم .&lt;br /&gt;السلام عليكم ورحمة الله وبركاته .&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;في هذا الدرس سوف نتعرف على مبادئ استخدام VBScript واستخدامها في تطبيقات بسيطة ، وفي سلسلة دروس قادمة ربما نتوسع في شرح مفاهيم هذه اللغة واستخدامتها بشكل أكثر توسعا ...&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;strong&gt;أولاً : ما هي ال VBScript ؟&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;هي لغة نصية Script تشبه في طريقة كتابتها ال Visual Basic ولكنها تقوم بالعمل على الانترنت حيث تعمل مباشرة على المتصفح .&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;strong&gt;ثانياً : لماذا نستخدم VBScript ؟&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;نستخدم هذه اللغة لنقوم بتنفيذ بعض الأوامر على جهاز المستخدم مثل التحقق الأولي من المدخلات وعمل بعض الميزات الاضافية للصفحة التي لا تستطيع HTML القيام بها ، أيضاً يمكنك من خلال هذه اللغة تشغيل المكونات الاضافية مثل ActiceX و بعض ال Java Applets ، كما انها تستخدم أيضاً كلغة للبرمجة على السيرفر بجانب ASP مثلاً .&lt;br /&gt;والجدير بالذكر انه يعيب VBScript مقارنة ب JavaScript مثلاً انها أقل تحكماً منها وأقل امكانيات ، كما أن دعمها على المتصفحات الأخرى ( نتسكيب مثلاً قبل توقف اصداره مؤخراً ) أقل ، ولكنها تظل رغم ذلك أحد الحلول السهلة لمبرمجي Visual Basic .&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;strong&gt;ثالثاً : لكي نبدأ ...&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;قبل البداية يفترض من قارئ هذه الدروس ان يكون لديه خلفية ولو بسيطة بكيفية استخدام وسوم HTML كما يفترض ايضاً ان يكون مبرمج باستخدام فيجوال بيسك لإننا لن نتطرق لشرح أساسيات اللغة ، أيضاً سنقوم خلال هذه الدروس باستخدام المفكرة لتسهيل المهمة مع العلم أن بامكاننا استخدام برامج مثل FrontPage و Microsft Visual InterDev .&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;strong&gt;رابعاً : العناصر الأساسية للغة .&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;- بالنسبة للتصريح عن المتغيرات Variables فيتم باستخدام Dim كما في الفيجوال بيسك تماماً ، ويمكن اسناد القيم لها بنفس الطريقة ولكن لا يمكن تعريف نوع المتغير :&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr"&gt;&lt;table cellspacing="0" cellpadding="2" width="643" border="2"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="639"&gt;&lt;p align="left"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;Dim X,Y 'true&lt;br /&gt;Dim R as string &lt;/span&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;'false&lt;br /&gt;Dim myname="ahmed gamal" ' true&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;pre&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;- يمكن العناصر الأساسية للغة مثل الجمل الشرطية If statements ، والمصفوفات Arrays ، وجملة Select Case ، والدوال والإجراءات Sub &amp;amp; Functions بنفس الطريقة كما في الفيجوال بيسك .&lt;br /&gt;&lt;br /&gt;- وكذلك الأمر بالنسبة للحلقات التكرارية Loops ما عدا انه في حالة For Next فسوف يكون الأمر بالشكل التالي :&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p dir="ltr"&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="2" width="645" border="2"&gt;&lt;tbody&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;td valign="top" width="641"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;For i=0 To 10&lt;br /&gt;&lt;br /&gt;' do something here&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Next&lt;/span&gt;&lt;/td&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;- الكائن الأساسي في اللغة هو Document والذي يمكن من خلاله الطباعة مثلاً :&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p dir="ltr"&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="2" width="648" border="2"&gt;&lt;tbody&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;td valign="top" width="644"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;Document.write "ahmed gamal"&lt;/span&gt;&lt;/td&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;- أو تغيير لون الصفحة :&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p dir="ltr"&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="2" width="649" border="2"&gt;&lt;tbody&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;td valign="top" width="645"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;Document.bgColor = "#ff00ff"&lt;/span&gt;&lt;/td&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;- أخيراً لكي تعمل هذه اللغة توضع الأوامر بين هذين العلامتين :&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p dir="ltr"&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="2" width="655" border="2"&gt;&lt;tbody&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;td valign="top" width="651"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&amp;lt;Script Language="VBScript"&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;' code here&lt;br /&gt;&lt;br /&gt;&amp;lt;/Script&amp;gt;&lt;/span&gt;&lt;/td&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="right"&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt; &lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;خامساً : لنبدأ بعمل تطبيقات بسيطة ...&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;سنقوم خلال هذا القسم بوضع بعض الأمثلة البسيطة التي توضح كيفية عمل اللغة :&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;strong&gt;1- ادخال اسم المستخدم وعرضه في رسالة .&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;قم بفتح نسخة جديدة من المفكرة ، قم بكتابة الكود التالي :&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p dir="ltr"&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="2" width="663" border="2"&gt;&lt;tbody&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;td valign="top" width="659"&gt;&lt;br /&gt;&lt;p align="left"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&amp;lt;Script Language="VBScript"&amp;gt;&lt;br /&gt;&lt;br /&gt;Dim myname&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;myname = InputBox("فضلاً قم بادخال الاسم","ادخال الاسم")&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Msgbox myname&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;/td&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:130%;"&gt;ثم قم بحفظ الملف باسم myexample.htm أو .html - قم بتشغيل هذه الصفحة على المتصفح لديك .&lt;br /&gt;&lt;br /&gt;وكما هو واضح من الأمر السابق ، قمنا بوضع علامة البرمجة ب Script ، ومن ثم قمنا بتعريف المتغير ، طلب ادخال من المستخدم وأخيراً عرضه في رسالة نصية .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2- ادخال اسم المستخدم وطباعته على الصفحة .&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;في هذا المثال سأفترض أن لك لديك خلفية عن التعامل مع HTML ، ولذا سنفترض اننا قمنا بعمل صفحة تحتوي على فورم - مربع نص - وزر أمر بالشكل التالي :&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p dir="ltr"&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="2" width="674" border="2"&gt;&lt;tbody&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;td valign="top" width="670"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&amp;lt;form name="form1"&amp;gt;&lt;br /&gt;&lt;br /&gt;Enter Your Name:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;br&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;input type=text name=text1 value=""&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;br&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;input type=button name=cmd1 value="Print Name"&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;&lt;/td&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;والآن سنحاول قراءة الاسم من مربع النص هذا ومن ثم نقوم بطباعته باستخدام أمر Document.write ، ولهذا سنقوم بانشاء اجراء يحدث بعد الضغط على الزر المسمى باسم cmd1 ، بالشكل التالي :&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p dir="ltr"&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="2" width="679" border="2"&gt;&lt;tbody&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;td valign="top" width="675"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&amp;lt;script language="vbscript"&amp;gt;&lt;br /&gt;&lt;br /&gt;sub cmd1_onClick()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;End sub&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/td&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;والآن وفي وسط هذا الإجراء سوف نضيف أمر الطباعة بالشكل التالي :&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p dir="ltr"&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="2" width="683" border="2"&gt;&lt;tbody&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;td valign="top" width="679"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;Document.write form1.text1.value&lt;/span&gt;&lt;/td&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;strong&gt;3- تغيير لون الصفحة حسب اختيار المستخدم من بين ثلاثة ألوان في radiobuttons .&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;مجدداً سأفترض معرفتك ب HTML لتنشأ صفحة بالشكل التالي :&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p dir="ltr"&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="2" width="682" border="2"&gt;&lt;tbody&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;td valign="top" width="678"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&amp;lt;form name="form1"&amp;gt;&lt;br /&gt;&lt;br /&gt;Enter Your Color: &amp;lt;br&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;input type=radio name=r1 value="a1"&amp;gt; Blue&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;input type=radio name=r1 value="a2"&amp;gt; Red&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;input type=radio name=r1 value="a3"&amp;gt; Green&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;br&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;input type=button name=cmd1 value="Change Color"&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;&lt;/td&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;والآن سنقوم ببرمجة أمر يعتمد على الجمل الشرطية لمعرفة اختيار المستخدم ومن ثم تغيير لون الصفحة بناء على ذلك :&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p dir="ltr"&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="2" width="685" border="2"&gt;&lt;tbody&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;td valign="top" width="681"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&amp;lt;script language="vbscript"&amp;gt;&lt;br /&gt;&lt;br /&gt;sub cmd1_onClick()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if form1.r1(0).checked=true then&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Document.bgColor = "#0000FF"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;elseif form1.r1(1).checked=true then&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Document.bgColor = "#FF0000"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;elseif form1.r1(2).checked=true then&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Document.bgColor = "#00FF00"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;else&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;msgbox " there is no options"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;End if&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;End sub&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/td&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt; &lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;strong&gt;4 - عرض الوقت والتاريخ :&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;بكل بساطة ما عليك سوى كتابة الأمر التالي :&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p dir="ltr"&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="2" width="686" border="2"&gt;&lt;tbody&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;td valign="top" width="682"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&amp;lt;script language="vbscript"&amp;gt;&lt;br /&gt;&lt;br /&gt;document.write Date&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/td&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;والآن سنقوم بطباعة كلمة التاريخ وبجانبها التاريخ الحالي ، ومن ثم سطر جديد ومن ثم الوقت بلون آخر وذلك بالشكل التالي ( استخدام HTML في وسط أمر الطباعة ) :&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p dir="ltr"&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="2" width="685" border="2"&gt;&lt;tbody&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;td valign="top" width="681"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&amp;lt;script language="vbscript"&amp;gt;&lt;br /&gt;&lt;br /&gt;document.write "Date :"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;document.write Date&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;document.write "&amp;lt;br&amp;gt;"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;document.write "&amp;lt;font color=red&amp;gt;&amp;lt;b&amp;gt; Time: "&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;document.write Time&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;document.write "&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;hr&amp;gt;"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/td&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;strong&gt;5- عرض الوقت والتاريخ ثانية بثانية من خلال استخدام Timer :&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;سنستخدم الأمر السابق ، كل ما سنقوم باضافته هو أن سيحصل عملية تحديث Reresh للصفحة كل ثانية مثلاً ، لذا سيكون الأمر بالشكل التالي :&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p dir="ltr"&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="2" width="687" border="2"&gt;&lt;tbody&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;td valign="top" width="683"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;mTimer = window.setInterval( "myTime()", 1000, "VBScript" )&lt;/span&gt;&lt;/td&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="right"&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;في السطر السابق حددنا اننا كل 1000 ميلي ثانية = ثانية واحدة سوف نستدعي الدالة myTime .&lt;br /&gt;&lt;br /&gt;وفي برمجة الدالة myTime :&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p dir="ltr"&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="2" width="686" border="2"&gt;&lt;tbody&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;td valign="top" width="682"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;sub myTime()&lt;br /&gt;&lt;br /&gt;window.location.reload()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;end sub&lt;/span&gt;&lt;/td&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tr&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="right"&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;strong&gt;هكذا نكون قد وصلنا إلى نهاية الدرس ، وأتمنى من الله أن أكون قد وفقت في ايصال المعلومة .&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-family:arial;font-size:130%;color:#000000;"&gt;&lt;strong&gt;والسلام عليكم ورحمة الله وبركاته ...&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-1393406996139122994?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/1393406996139122994/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=1393406996139122994' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/1393406996139122994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/1393406996139122994'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/02/vbscript.html' title='مقدمة إلى VBScript'/><author><name>Ahmed Gamal</name><uri>http://www.blogger.com/profile/00041272746702272043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_FUmkjQ7foTw/R5d30ba3E8I/AAAAAAAAAA4/iAQ8vlerwYE/S220/ahmed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-1213682510052888759</id><published>2008-02-15T03:35:00.000-08:00</published><updated>2008-03-13T03:15:41.007-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>قاعده البيانات الاوراكل</title><content type='html'>&lt;div style="text-align: right;"&gt;  &lt;p class="MsoNormal" dir="rtl" style="margin-right: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;b style=""&gt;&lt;span style=""&gt;-&lt;span style=""&gt;          &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;!--[endif]--&gt;&lt;span dir="rtl"&gt;&lt;b&gt;&lt;u&gt;&lt;span lang="AR-SA"&gt;ما هي قاعده البيانات الاوراكل&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;b&gt;&lt;u&gt;&lt;span dir="ltr"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;(Oracle Database)&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span lang="AR-SA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ؟&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;u&gt;&lt;span dir="ltr"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class="MsoNormal" dir="rtl" style="margin-right: 36pt;"&gt;&lt;span lang="AR-SA"&gt;تعتبرقاعده البيانات &lt;span style=""&gt; &lt;/span&gt;الاوراكل من اكبر قواعد البيانات في العالم والتي تعتبر من احد المنتجات التي تصدرها شركه الاوراكل الامريكيه , فهيا تصدر ايضا ادوات لتطوير برامج لقاعده البيانات الاوراكل مثل &lt;span style=""&gt; &lt;/span&gt;( &lt;/span&gt;&lt;span dir="ltr" style=""&gt;Forms Builder&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; &lt;span lang="AR-SA"&gt;) وبرامج اخرى لدعم الاعمال التجاريه ( &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;( ERP SOLUTIONS&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span lang="AR-SA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; .&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="margin-right: 36pt;"&gt;&lt;span lang="AR-SA"&gt;&lt;span style=""&gt; &lt;/span&gt;فقاعده البيانات الاوراكل &lt;span style=""&gt; &lt;/span&gt;مثل &lt;/span&gt;&lt;span dir="ltr" style=""&gt;SQL SERVER &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;الذي تصدره شركه مايكروسوفت من حيث المبدأ المتعلق بقواعد البيانات (مثل الجداول والحقول والعلاقات بين الجدوال وال&lt;/span&gt;&lt;span dir="ltr"&gt;triggers&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) و لكن توجد اختلافات بينهما ومنها : &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="margin-right: 54pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;1-&lt;span style=""&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="rtl"&gt;&lt;span style="" lang="AR-EG"&gt;قاعده البيانات الاوراكل يتم تثبيتها على أي نظام تشغيل مثل (Solaris,Linux,Windows OS &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;) على عكس &lt;/span&gt;&lt;span dir="ltr" style=""&gt;SQL SERVER &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;الذي يتم تثبيته على انظمه تشغيل مايكروسوفت فقط &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="margin-right: 54pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;2-&lt;span style=""&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="rtl"&gt;&lt;span dir="ltr" style=""&gt;HARDWARE REQUIRMENTS&lt;/span&gt;&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ( مواصفات الكمبيوتر ) مثل حجم الذاكره &lt;/span&gt;&lt;span dir="ltr" style=""&gt;RAM &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt;               &lt;/span&gt;&lt;br /&gt;ومساحه القرص الصلب , فقاعده البيانات الاوراكل لها متطلبات معينه اعلى من ال &lt;/span&gt;&lt;span dir="ltr" style=""&gt;SQL SERVER &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;( فالاوراكل تحتاج على الاقل &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style=""&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;256 MB RAM &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;على عكس &lt;/span&gt;&lt;span dir="ltr" style=""&gt;SQL SERVER &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;والذي يحتاج على الاقل الي &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style=""&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;128MB RAM &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;) وايضا مساحه القرص الصلب التي يحتاجها الاوراكل ( على الاقل &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style=""&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;2 giga &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) اعلى من التي يحتاجها   &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" dir="rtl" style="margin-right: 54pt; text-indent: -18pt;"&gt;&lt;span style="" lang="AR-EG"&gt; &lt;/span&gt;&lt;span dir="ltr" style=""&gt;(250MB) SQL SERVER &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr" style=""&gt;&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr" style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="margin-right: 54pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;3-&lt;span style=""&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="rtl"&gt;&lt;span style="" lang="AR-EG"&gt;من حيث الناحيه الماديه , تعتبر قاعده البيانات الاوراكل اغلى من   SQL SERVER &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style=""&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr" style=""&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="margin-right: 54pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;4-&lt;span style=""&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="rtl"&gt;&lt;span style="" lang="AR-EG"&gt;من حيث التثبيت (SET UP &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr" style=""&gt; &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) تعتبر ال &lt;/span&gt;&lt;span dir="ltr" style=""&gt;SQL SERVER &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;اسهل في عمليه التثبيت من قاعده البيانات الاوراكل&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" dir="rtl" style="margin-right: 54pt; text-indent: -18pt;"&gt;  &lt;/p&gt;&lt;p class="MsoNormal" dir="rtl" style="margin-right: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;b style=""&gt;&lt;span style=""&gt;&lt;span style=""&gt;-&lt;span style=""&gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;!--[endif]--&gt;&lt;span dir="rtl"&gt;&lt;b&gt;&lt;u&gt;&lt;span style="" lang="AR-EG"&gt;اهم الوظائف في مجال الاوراكل :&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal" dir="rtl" style="margin-right: 36pt;"&gt;&lt;span style="" lang="AR-EG"&gt;يعتبر مجال الاوراكل واسع وضخم جدا , ولذلك هناك تنوع في وظائف الاوراكل , فساحاول ان احيط باهم الوظائف في هذا المجال &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="margin-right: 36pt;"&gt;&lt;span style="" lang="AR-EG"&gt;1-&lt;b&gt;&lt;u&gt; &lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;u&gt;&lt;span dir="ltr" style=""&gt;Oracle Designer&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;b&gt;&lt;u&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;(مصمم&lt;span style=""&gt;  &lt;/span&gt;قاعده بيانات ) :&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span style="" lang="AR-EG"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="margin-right: 72pt;"&gt;&lt;span style="" lang="AR-EG"&gt;يعتبر مصصم قاعده البيانات هو المسؤول عن تصميم الجدوال وعلاقتها ببعضها البعض ومحتويات كل جدول وحقل , والاداه التي يستخدمها هي &lt;/span&gt;&lt;b&gt;&lt;span dir="ltr" style=""&gt;Oracle Designer &lt;/span&gt;&lt;/b&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=""&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="" lang="AR-KW"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="margin-right: 36pt;"&gt;&lt;span style="" lang="AR-KW"&gt;2- &lt;/span&gt;&lt;span dir="ltr" style=""&gt;&lt;/span&gt;&lt;b&gt;&lt;u&gt;&lt;span style=""&gt;Oracle Developer &lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span dir="rtl" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;( مطور قاعده البيانات ) :&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="margin-right: 72pt;"&gt;&lt;span style="" lang="AR-EG"&gt;هو المسؤول عن تطوير البرامج التي تستخدم قاعده البيانات الاوراكل , و الاداه التى يستخدمها هي &lt;/span&gt;&lt;b&gt;&lt;span dir="ltr" style=""&gt;Forms Builder &lt;/span&gt;&lt;/b&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=""&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" dir="rtl" style="margin-right: 72pt;"&gt;  &lt;/p&gt;&lt;p class="MsoNormal" dir="rtl"&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span style=""&gt; &lt;/span&gt;                        3-&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;u&gt;&lt;span dir="ltr" style=""&gt;Implementer &lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;u&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span style=""&gt; &lt;/span&gt;:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" dir="rtl" style="margin-right: 72pt;"&gt;&lt;span style="" lang="AR-EG"&gt;كما ذكرنا سابقا بان شركه اوراكل تصدر ايضا برامج خاصه بالاعمال التجاريه و الموارد البشريه ( &lt;/span&gt;&lt;span dir="ltr" style=""&gt;Oracle Financial Application , Human Resource Application &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="margin-right: 72pt;"&gt;  &lt;/p&gt;&lt;p class="MsoNormal" dir="rtl"&gt;&lt;span style="" lang="AR-EG"&gt;                        وبرامج اخرى , فهذه البرامج نظرا لضخامتها و اختلاف احتياجات ال &lt;/span&gt;&lt;span dir="ltr" style=""&gt;customers &lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span style=""&gt; &lt;/span&gt;فهي تحتاج الى اشخاص على                                                                                     درايه بهذه البرامج من الالف الي الياء حتى يقوموا بتثبيت المكونات التي يحتاجها المشتري من هذا البرنامج &lt;span style=""&gt;  &lt;/span&gt;فعلى سبيل                                                                         المثال &lt;/span&gt;&lt;span dir="ltr" style=""&gt;Oracle Financial Application &lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span style=""&gt; &lt;/span&gt;تحتاج الى &lt;/span&gt;&lt;span dir="ltr" style="" lang="AR-EG"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span dir="ltr" style=""&gt;Implementers&lt;/span&gt;&lt;/b&gt;&lt;span dir="ltr" style=""&gt; &lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span style=""&gt; &lt;/span&gt;على درايه بمكونات &lt;span style=""&gt; &lt;/span&gt;البرنامج و                                                                                 بالاضافه الى مبادىء المحاسبه ( دائن , مدين , فائض ) حتى يستطيع ان يستوعب احتياجات المشتري ويثبت المكونات                                                                         اللازمه لهذا المشتري&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" dir="rtl"&gt;                                    4- &lt;b&gt;&lt;u&gt;&lt;span style=""&gt;Data Base Administrator&lt;span style=""&gt;  :&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="" lang="AR-EG"&gt;&lt;/span&gt;&lt;b&gt;&lt;u&gt;&lt;span dir="ltr" style=""&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;u&gt;&lt;span style="" lang="AR-EG"&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span style="" lang="AR-EG"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="margin-right: 72pt;"&gt;&lt;span style="" lang="AR-EG"&gt;يعتبر &lt;/span&gt;&lt;span dir="ltr" style=""&gt;Administrator &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;( المشرف ) هو المسؤول عن سلامه قاعده البيانات من أي خلل قد يصيبها ( مثال: سوء في استخدام الانظمه التي تستخدم قاعده البيانات الاوراكل و بالتالي ادى الي سقوط قاعده البيانات وتلف البيانات و حتى يتجنب ال &lt;/span&gt;&lt;span dir="ltr" style=""&gt;Admin &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;هذه المشكله, فعندما يكون النظام يعمل&lt;span style=""&gt;  &lt;/span&gt;يقوم ال&lt;/span&gt;&lt;span dir="ltr" style=""&gt;Admin &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;بعمل عمليه اسمها &lt;/span&gt;&lt;span dir="ltr" style=""&gt;Back Up &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;أي عمل نسخه احتياطيه من قاعده البيانات والتي تحدث يوميا او مره كل شهر او مره كل اسبوع او على حسب خبره ال&lt;/span&gt;&lt;span dir="ltr" style=""&gt;Admin &lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;ويضعها في المكان المناسب ( قرص صلب خارجي او &lt;/span&gt;&lt;span dir="ltr" style=""&gt;Server &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;) وعندما يفشل النظام وتتضرر قاعده البيانات يقوم ال &lt;/span&gt;&lt;span dir="ltr" style=""&gt;Admin &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;بعمل عمليه اسمها &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style=""&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;Recovery &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;وهي استعاده قاعده البيانات مره اخرى من المكان التي كانت فيه النسخه الاحتياطيه&lt;span style=""&gt;  &lt;/span&gt;) و ايضا من مسؤوليات ال &lt;/span&gt;&lt;span dir="ltr" style=""&gt;Admin &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="" lang="AR-EG"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;هو متابعه المطورين عندما يقوموا باستخدام قاعده البيانات , فهو يحرص على ان كل وظيفه من الوظائف التي يقوم بها المطورين لا تستهلك جزء كبير من اداء قاعده البيانات&lt;span style=""&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="margin-right: 72pt;"&gt;&lt;br /&gt;&lt;span style="" lang="AR-EG"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl"&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;&lt;span style="" lang="AR-EG"&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span style="" lang="AR-EG"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="margin-right: 72pt;"&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="" lang="AR-EG"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="margin-right: 54pt; text-indent: -18pt;"&gt;&lt;br /&gt;&lt;span style="" lang="AR-EG"&gt; &lt;/span&gt;&lt;span dir="ltr" style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-1213682510052888759?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/1213682510052888759/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=1213682510052888759' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/1213682510052888759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/1213682510052888759'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/02/blog-post.html' title='قاعده البيانات الاوراكل'/><author><name>Mohamed Abd El hafeez</name><uri>http://www.blogger.com/profile/14484046267576658574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-4971414869977751327</id><published>2008-01-11T18:32:00.000-08:00</published><updated>2008-03-13T03:17:52.995-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RSS'/><title type='text'>تقنيه Rss</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_tKqD3VvR8CI/R4gng3R9BeI/AAAAAAAAAQU/AKtNrREhv4M/s1600-h/16px-Feed-icon.svg.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5154413219074082274" style="CURSOR: pointer" alt="" src="http://3.bp.blogspot.com/_tKqD3VvR8CI/R4gng3R9BeI/AAAAAAAAAQU/AKtNrREhv4M/s320/16px-Feed-icon.svg.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_tKqD3VvR8CI/R4gnYnR9BdI/AAAAAAAAAQM/RKVTS5GQuSA/s1600-h/RSS.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5154413077340161490" style="CURSOR: pointer" alt="" src="http://2.bp.blogspot.com/_tKqD3VvR8CI/R4gnYnR9BdI/AAAAAAAAAQM/RKVTS5GQuSA/s320/RSS.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div dir="rtl" style="TEXT-ALIGN: right"&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:130%;"&gt;لا شك في انك قد رايت احد هذا العلامات في اكثر من موقع قبل كذا ؟ اذا كنت تبحث عن حقيقه هذه العلامات او الرموز و ما الهدف منها و لمن و ما اصلها فأليك هذه المقاله المتواضعه .&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;b&gt;ما هو الRSS ؟&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;الاختصار بالإنجليزيه Really Simple Syndication.&lt;br /&gt;هي خدمه تهدف إخبار المستخدم بالتحديتاث التي تطرأ علي الموقع بدون زيارته . بدلا من زياره الموقع باستمرار للتحقق من وجود تحديث في الصفحة أم لا .&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;b&gt;لمن هذه الخدمه :&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;للمستخدمين الذين يستعملون عدد كبير من المواقع يوميا (مواقع اخباريه و مواقع الشخصيه و دينيه و مدونات ...الخ) مما يسبب إهدار في وقت المستخدم الذي يزور عدد ضخم من المواقع يومياً علي الرغم من عدم وجود اخبار جديده الا في بعضها مما يسبب ضغط علي الخدمه سواء علي الموقع او علي شبكه المستخدم.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;b&gt;هل كل المواقع توفر هذه الخدمه : &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;حقيقتا لا. ولكن معظمها و خصوصا المواقع التي عليها ضغط كبير تقوم بعرض هذه الخدمه مثل&lt;a href="http://www.bbc.com/" target="_blank"&gt;http://www.bbc.com/&lt;/a&gt; و &lt;a href="http://www.alarabiya.net.%d9%88/" target="_blank"&gt;http://www.alarabiya.net.%d9%88/&lt;/a&gt; عدد هذه المواقع اخذ في الزياده بشكل مستمر .&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;b&gt;كيفيه الاستفاده من هذ&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:180%;"&gt;&lt;b&gt;ه الخدمه : &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;كل ما عليك ببساطه هو استخدام برنامج يستطيع تجميع مواقعك المفضله في مكان واحد و ليخبرك بالمواقع التي تم تحديثها .هذه البرامج تسمي Feed Reader or News Aggregator software .&lt;br /&gt;كما يمكن ايضا استخدام هذه الخدمه من خلال الويب كما في جوجل " Google Reader ". كل ما عليك هو اضافه مواقعك المفضله كما في الصورة .&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_tKqD3VvR8CI/R4gnp3R9BfI/AAAAAAAAAQc/pmHU2lJZbgo/s1600-h/3.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5154413373692904946" style="CURSOR: pointer" alt="" src="http://3.bp.blogspot.com/_tKqD3VvR8CI/R4gnp3R9BfI/AAAAAAAAAQc/pmHU2lJZbgo/s320/3.JPG" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:180%;"&gt;&lt;b&gt;&lt;br /&gt;&lt;br /&gt;ما هي الحقيقه البرمجيه لهذه الخدمه : &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;تقوم المواقع التي تدعم هذه الخدمه بإرسال ملف اكس ام ال الي Feed Reader or News Aggregator software و ليتحقق من وجود اخبار جديده ام لا . و في حاله تغير هذا الملف يقوم بإخبار المستخدم .&lt;br /&gt;هيئه الملف كما هو بالاسفل .&lt;br /&gt;&lt;div align="left"&gt;&lt;div style="MARGIN: 5px 20px 20px"&gt;&lt;br /&gt;&lt;div class="smallfont" style="MARGIN-BOTTOM: 2px"&gt;كود HTML:&lt;/div&gt;&lt;br /&gt;&lt;pre class="alt2" dir="ltr" style="BORDER-RIGHT: 1px inset; PADDING-RIGHT: 6px; BORDER-TOP: 1px inset; PADDING-LEFT: 6px; PADDING-BOTTOM: 6px; MARGIN: 0px; OVERFLOW: auto; BORDER-LEFT: 1px inset; WIDTH: 640px; PADDING-TOP: 6px; BORDER-BOTTOM: 1px inset; HEIGHT: 418px; TEXT-ALIGN: left"&gt;&lt;span style="COLOR: rgb(0,0,128)"&gt;&amp;lt;rss version=&lt;span style="COLOR: rgb(0,0,255)"&gt;"2.0"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: rgb(0,0,128)"&gt;&amp;lt;channel&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,128)"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;FCI-h&lt;span style="COLOR: rgb(0,0,128)"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,128)"&gt;&amp;lt;link&amp;gt;&lt;/span&gt;http://www.Fci-h.blogspot.com&lt;span style="COLOR: rgb(0,0,128)"&gt;&amp;lt;/link&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: rgb(0,0,128)"&gt;&amp;lt;description&amp;gt;&lt;/span&gt;&lt;br /&gt;Fci-h delivers every weeks technical posts .&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,128)"&gt;&amp;lt;/description&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: rgb(0,0,128)"&gt;&amp;lt;item&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style="COLOR: rgb(0,0,128)"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;&lt;br /&gt;yyyyyyyyyyyyyyyyyy&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,128)"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: rgb(0,0,128)"&gt;&amp;lt;link&amp;gt;&lt;/span&gt;&lt;br /&gt;http://www.xxxxxxxxxxxxxx.htm&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,128)"&gt;&amp;lt;/link&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,128)"&gt;&amp;lt;/item&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: rgb(0,0,128)"&gt;&amp;lt;item&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style="COLOR: rgb(0,0,128)"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;&lt;br /&gt;Yyyyyyyyyyyyyy1&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,128)"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="COLOR: rgb(0,0,128)"&gt;&amp;lt;link&amp;gt;&lt;/span&gt;&lt;br /&gt;http://xxxxxxxxxxxx1.htm&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,128)"&gt;&amp;lt;/link&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,128)"&gt;&amp;lt;/item&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,128)"&gt;&amp;lt;/channel&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,128)"&gt;&amp;lt;/rss&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;يتكون الملف من مجموعه معلومات تمثل النسخه المستخدمه للrss و معلومات عن الموقع و يتبع ذلك البيانات المحدثه و رابط لها .&lt;br /&gt;ممكن ان يختلف هذا الشكل بختلاف البيانات التي يعرضها المواقع و لكن بنفس الفكرة .&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-4971414869977751327?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/4971414869977751327/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=4971414869977751327' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/4971414869977751327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/4971414869977751327'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/01/rss.html' title='تقنيه Rss'/><author><name>Ahmed Essawy</name><uri>http://www.blogger.com/profile/02553277669431055635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://photos1.blogger.com/x/blogger2/7453/3526/226/z/959410/gse_multipart31946.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_tKqD3VvR8CI/R4gng3R9BeI/AAAAAAAAAQU/AKtNrREhv4M/s72-c/16px-Feed-icon.svg.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5575198935019430700.post-1636376292098191122</id><published>2008-01-11T18:29:00.000-08:00</published><updated>2008-03-13T03:17:09.421-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><title type='text'>Silverlight + linux = Moonlight</title><content type='html'>&lt;div dir="rtl" style="TEXT-ALIGN: right"&gt;تاريخ المقاله منتصف سيتمبر 2007&lt;br /&gt;قبل الحديث عن حقيقه ... او المغذي من كتابه هذه المعادله كعنوان..... اري ان احدث الناس اساساً عن &lt;a href="http://silverlight.net/" target="_blank"&gt;Silverlight&lt;/a&gt; كتقنيه جديده اصدرتها شركه مايكروسوفت في السوق ....&lt;br /&gt;اولا نستطيع و لو مجازاً اعتبار ان ال&lt;a href="http://silverlight.net/" target="_blank"&gt;Silverlight&lt;/a&gt; هو التطور الطبيعي WPF (&lt;a href="http://en.wikipedia.org/wiki/Windows_Presentation_Foundation" target="_blank"&gt;Windows Presentation Foundation &lt;/a&gt;) و كما نعرف ان ال WPF هو احد الاربعه اجزاء رئيسيه DotNet FrameWork 3 .&lt;br /&gt;الهدف من وجود ال &lt;a href="http://silverlight.net/" target="_blank"&gt;Silverlight&lt;/a&gt; هو بناء و ايجاد تطبيقات انترنت غنيه rich Internet applications (RIA) التي تدعم الجرافكس بشكل واسع و التأثيرات الحركيه animations و الفيديو من خلال اليه عمل .NET framework .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;علاوه علي الجرافكس الدقيقه  لل &lt;a href="http://silverlight.net/" target="_blank"&gt;Silverlight&lt;/a&gt; فهي صورة تعتمد في بنائها علي المتجهات vector graphic في تطبيقات الانترنت فهو يدعم ايضاً عرض تسجيلات فيديو عاليه الدقه و الوضوح ... مايكروسوفت تعرف جيدا ان هذه الخاصيه (الفيديو) مرهقه لشبكه الانترنت و مكلفه نسبياً ..لذلك تقوم شركه مايكروسوفت بعرض خدمه استضافه hosting تطبيقات و ملفات الوسائط المتعدده media files كخدمه اختياريه في محاوله منها لزياده عدد المطورين لل &lt;a href="http://silverlight.net/" target="_blank"&gt;Silverlight&lt;/a&gt; (سنه مجاناً).&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;من مميزات ال &lt;a href="http://silverlight.net/" target="_blank"&gt;Silverlight&lt;/a&gt; امام منافسها الواضح شركه Macromedia Flash ان الاولي تصل الي المتصفح browser كملف نصي يعتمد علي لغه الترميز &lt;u&gt;XAML&lt;/u&gt; الذي يصل بسهوله و يسر الي أي متصفح و يتميز ايضا بأن محركات البحث العملاقه مثل جوجل Google و التافيزتا altavista تبحث فيه عن نتائج للبحث لكونه ملف نصي لا يوجد مشاكل في قرائته علي عكس ال الفلاش Macromedia Flash تماماً الذي يعتبر ثقيبل بعض الشئ عند التحميل في المتصفح browser ؛ كما انه يعتبر ملف غير مفيد بالنسبه لمحركات البحث لكونه ملف غير مقروء فتراه المحركات كصندوق اسود لا تعرف ما بداخله ...&lt;br /&gt;ال &lt;a href="http://silverlight.net/" target="_blank"&gt;Silverlight&lt;/a&gt; يدعم Microsoft's Common Language Runtime (CLR) لذلك يسمح للمصممين و المطورين للعمل خلال بيئه الدوت نت NET environment (يستطيع المصمم قراءه ملف المطور و العكس ...)&lt;br /&gt;النسخه 1.0 تعرض ال JavaScript كقاعده لنموذج البرمجه based programming model .&lt;br /&gt;اما النسخه 1.1 التي تعتبر حتي كتابه هذه السطور نسخه تجريبه بدائيه alpha تعرض ال .NET Framework كقاعده لنموذج البرمجه based programming model و التي تشمل اللغات الديناميكيه dynamic languages مثل روبي Ruby و بيثون Python وباسكال و الفيجوال بيسك و السي شارب .&lt;br /&gt;صرحت شركه مايكروسوفت مع شريكها الرسمي &lt;a href="http://www.novell.com/" target="_blank"&gt;Novell &lt;/a&gt;بأصدار نسخه من ال &lt;a href="http://silverlight.net/" target="_blank"&gt;Silverlight&lt;/a&gt; لتعمل تحت بيئه اللينوكس linux التي ستدعم المتصفحات التاليه Firefox و Konqueror و Opera .و قالت ايضا بأن الاسم الرسمي لهذه الاصدارة بال &lt;b&gt;Moonlight&lt;/b&gt; .&lt;br /&gt;و بهذه الاضافه يصبح ال &lt;a href="http://silverlight.net/" target="_blank"&gt;Silverlight&lt;/a&gt; يستطيع دعم تطبيقات انترنت غنيه rich Internet applications (RIA) تحت بيئه الويندوز و الماكMac و اللينوكس linux .&lt;br /&gt;للحصول علي اخر الاخبار او البدايه مع ال &lt;a href="http://silverlight.net/" target="_blank"&gt;Silverlight&lt;/a&gt; :&lt;br /&gt;&lt;a href="http://silverlight.net/" target="_blank"&gt;http://silverlight.net/&lt;/a&gt;&lt;br /&gt;لتنصيب ال &lt;a href="http://silverlight.net/" target="_blank"&gt;Silverlight&lt;/a&gt; من خلال موقع مايكروسوفت &lt;a href="http://www.microsoft.com/silverlight/install.aspx" target="_blank"&gt;http://www.microsoft.com/silverlight/install.aspx&lt;/a&gt;&lt;br /&gt;المتصفحات و الانظمه التشغير المتوافقه مع ال &lt;a href="http://silverlight.net/" target="_blank"&gt;Silverlight&lt;/a&gt; :&lt;br /&gt;&lt;b&gt;اقل امكانيات للجهاز التشغيل : &lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Personal Computer running Windows&lt;br /&gt;X86 or x64 500-megahertz (MHz) or higher processor with 128-megabytes (MB) of RAM&lt;br /&gt;Mac OS 10.4.8+ (PowerPC)&lt;br /&gt;PowerPC G4 800-MHz or higher processor with 128-MB of RAM&lt;br /&gt;Mac OS 10.4.8+ (Intel-based)&lt;br /&gt;Intel Core Duo 1.83-gigahertz (GHz) or higher processor with 128-MB of RAM&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5575198935019430700-1636376292098191122?l=fci-h-ar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fci-h-ar.blogspot.com/feeds/1636376292098191122/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5575198935019430700&amp;postID=1636376292098191122' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/1636376292098191122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5575198935019430700/posts/default/1636376292098191122'/><link rel='alternate' type='text/html' href='http://fci-h-ar.blogspot.com/2008/01/silverlight-linux-moonlight.html' title='Silverlight + linux = Moonlight'/><author><name>Ahmed Essawy</name><uri>http://www.blogger.com/profile/02553277669431055635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://photos1.blogger.com/x/blogger2/7453/3526/226/z/959410/gse_multipart31946.jpg'/></author><thr:total>0</thr:total></entry></feed>
