<?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-3119713907497569353</id><updated>2012-01-17T09:12:11.489-08:00</updated><category term='VBScript'/><category term='C#'/><category term='Magazine'/><category term='WAP'/><category term='Visual Basic 6.0'/><category term='Physical Computing'/><category term='MSDN'/><category term='VB.net'/><category term='Tips And Tricks'/><category term='Courses'/><category term='General'/><category term='Pocket PC'/><category term='Winners'/><category term='Microsoft Access'/><category term='.net 2008'/><category term='AJAX'/><category term='Graduation Projects'/><category term='Prolog'/><category term='Design Patterns'/><category term='ASP.net'/><category term='Announcements'/><category term='Books'/><title type='text'>Ahmed Gamal Technical</title><subtitle type='html'>بلوج عربي مهتم بالبرمجة والتقنية</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><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><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>37</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3119713907497569353.post-6377021049658272511</id><published>2009-12-22T16:15:00.001-08:00</published><updated>2009-12-22T16:22:03.303-08:00</updated><title type='text'>مقدمة إلى بايثون</title><content type='html'>&lt;div dir="rtl"&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%;color:#008000;"&gt;بسم الله الرحمن الرحيم .&lt;br /&gt;السلام عليكم ورحمة الله وبركاته . &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;خضت في الفترة الماضية تجربة بسيطة مع python على ububto 11 ، وكانت تجربة جيدة ، لذا أحببت أن أشارككم بها هنا ، لمستخدمي لينكس الموضوع بسيط لكن بالنسبة لمستخدمي ويندوز هناك ironpython ولكن لم أجرب العمل عليه .&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;بداية :&lt;/b&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;تصنف البايثون تحت تصنيف لغات البرمجة ال Dynamic ، حيث لا تشترط تعريف للمتغيرات ولا تحديد أنواع البيانات وخلافه ، مناسبة جداً لتطوير أي سكربتات سريعة ، سهلة جداً وستجد ملايين المصادر لها عبر الإنترنت لعمل كل شيء تقريباً .&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;كيف أحمل البايثون :&lt;/b&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;في اوبنتو ستجد أغلب البرامج التي تطلبها موجودة في System-&amp;gt;Administration-&amp;gt;Synaptic Package Manager :&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;img alt="" src="http://www.vb4arab.com/vb/uploaded/3/01261526715.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;الآن تحتاج لاضافة مكتبات البايثون ، يمكنك اختيارها من البرنامج أو يمكنك تحميلها من خلال ال Terminal بالأمر التالي :&lt;/span&gt;&lt;/p&gt;&lt;pre dir="ltr"&gt;&lt;span style="font-size:130%;"&gt;sudo apt-get install python&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;الآن بامكانك البدء مباشرة ، أو يمكنك تحميل برمجيات اضافية مثل netbeans المخصص أصلاً للجافا ، لكنه سيوفر لك عدة خصائص مثل الإكمال التلقائي وغيره ، يمكنك تحميل برامج أخرى لتصميم الواجهات بالبايثون وخلافه ولكنها أمور متقدمة .&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;برنامجي الأول :&lt;/b&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;بعد أن تكون قد قمت بتحميل مكتبات البايثون ، ومن خلال Terminal قم بكتابة الأمر التالي :&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-size:130%;"&gt;python&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;ثم جرب كتابة كودك الأول بالشكل التالي ثم اضغط انتر :&lt;/span&gt;&lt;/p&gt;&lt;pre dir="ltr"&gt;&lt;span style="font-size:130%;"&gt;s='Welcome Ahmed';&lt;br /&gt;print s&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;والنتيجة :&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;img alt="" src="http://www.vb4arab.com/vb/uploaded/3/11261526715.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;وللخروج اطبع exit().&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:130%;color:#ff0000;"&gt;احفظ ملفاتك :&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;يمكنك فتح ملف نصي جديد وكتابة نفس الأوامر فيه ، ومن ثم حفظه بامتداد .py .&lt;br /&gt;&lt;br /&gt;في هذه الحالة ومن التيرمنال يمكنك الوصول للملف&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;cd /home/ahmed/Desktop&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ومن ثم :&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;python a.py&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;وستؤدي نفس النتيجة ، فقط ستحصل على الأكواد ملونة &lt;img title="Smile" border="0" alt="" src="http://www.vb4arab.com/vb/images/smilies/smile.gif" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;&lt;span style="color:#ff0000;"&gt;اللغة :&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;الآن وبعد أن قمت بكتابة برنامجك الأول لزمك التعرف على عالم لغة البايثون ، البايثون لغة متقدمة جداً وتحتوي على كل ما تعرفه في اللغات الأخرى بدءاً من الشروط وحلقات التكرار وانتهاء بالبرمجة كائنية التوجه OOP بالاضافة لاحتوائها على عدد ضخم من الدوال الجاهزة ، لذا لن أستطيع أن أشرح لك كل هذا ، في هذه العجالة فقط سأذكر لك عناصر اللغة الأساسية ، فقط قبل البدء علي تنبيهك أن عدد المسافات في بداية كل سطر ستحدد بداية ونهاية الشروط وخلافه ، ستتعرف على هذا الأمر بصورة أوضح في طريقة كتابة الشروط :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;&lt;span style="color:#ff0000;"&gt;الشروط :&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre dir="ltr"&gt;&lt;span style="font-size:130%;"&gt;x = int(raw_input('Enter Number : '))&lt;br /&gt;if x == 100:&lt;br /&gt;     print '100%'&lt;br /&gt;elif x &amp;lt; 50:&lt;br /&gt;     print 'So bad :('&lt;br /&gt;else:&lt;br /&gt;     print 'it is ok.'&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;&lt;span style="color:#ff0000;"&gt;حلقات التكرار :&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre dir="ltr"&gt;&lt;span style="font-size:130%;"&gt;# exit from loop if x=10&lt;br /&gt;while running:&lt;br /&gt;    x = int(raw_input('Enter Number : '))&lt;br /&gt;    if x == 10:&lt;br /&gt;             print 'it is exit now'&lt;br /&gt;             running = False&lt;br /&gt;else:&lt;br /&gt;    print 'The while loop is over.'&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;&lt;span style="color:#ff0000;"&gt;تعريف الدوال &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre dir="ltr"&gt;&lt;span style="font-size:130%;"&gt;   def funcHello():&lt;br /&gt;       ‫‪print 'Hello'&lt;br /&gt;‬‬&lt;br /&gt;   ‫‪funcHello()&lt;/span&gt;&lt;/pre&gt;&lt;pre dir="ltr"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;&lt;span style="color:#ff0000;"&gt;ماذا عن تصميم الواجهات :&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;يمكنك استخدام برامج خارجية لتصميم الواجهات ، هذا الرابط مفيد جداً :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://arabicfoss.blogspot.com/2009/01/pyqt4.html"&gt;&lt;span style="font-size:130%;"&gt;http://arabicfoss.blogspot.com/2009/01/pyqt4.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;لكن لو احببت البدء بالموضوع من البداية ، فأول ما ستحتاج إليه هو استخدام مكتبة رسوميات مناسبة ، هذه المكتبة مثال pygtk .&lt;br /&gt;&lt;br /&gt;الآن لنجرب هذا الكود مثلاً - منقول من كتاب لتصميم الواجهات - :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre dir="ltr"&gt;&lt;span style="font-size:130%;"&gt;import pygtk;&lt;br /&gt;pygtk.require('2.0');&lt;br /&gt;import gtk;&lt;br /&gt;def delete_event(widget,data):&lt;br /&gt;     False;&lt;br /&gt;def destroy(widget,data=None):&lt;br /&gt;     gtk.main_quit();&lt;br /&gt;window = gtk.Window(gtk.WINDOW_TOPLEVEL);&lt;br /&gt;window.set_title("Hello");&lt;br /&gt;window.connect('delete_event',delete_event);&lt;br /&gt;window.connect('destroy',destroy);&lt;br /&gt;hello_world_button = gtk.Button("Hello");&lt;br /&gt;hello_world_button.show();&lt;br /&gt;window.add(hello_world_button);&lt;br /&gt;window.show();&lt;br /&gt;gtk.main();&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;الآن جرب وطالع النتيجة .&lt;br /&gt;&lt;br /&gt;يمكنك البدء لاحقاً ببرمجة الأحداث وربطها ، ربما نشرحها في مرات قادمة بالتفصل .&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:#ff0000;"&gt;والويب :&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;تحتاج لاستخدام framework خاص بالويب ، أشهرها هو django ، يمكنك البدء من هنا :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://wiki.python.org/moin/WebFrameworks"&gt;&lt;span style="font-size:130%;"&gt;http://wiki.python.org/moin/WebFrameworks&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:130%;color:#ff0000;"&gt;مصادر :&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;وجدت عدة مواقع باللغة الإنجليزية وكتب تشرح البايثون ، لكن باللغة العربية لم أعثر على أفضل من هذا الكتاب :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.maastaar.com/books/pygtk/Building-Applications-With-PyGTK-and-SQLite.pdf"&gt;&lt;span style="font-size:130%;"&gt;http://www.maastaar.com/books/pygtk/Building-Applications-With-PyGTK-and-SQLite.pdf&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&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;span style="color:#ff0000;"&gt;ختام :&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;كل الشكر لمحمد نبيل على تعبه معي الفترة الماضية &lt;img title="Smile" border="0" alt="" src="http://www.vb4arab.com/vb/images/smilies/smile.gif" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:130%;color:#008000;"&gt;والسلام عليكم ورحمة الله وبركاته .&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&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/3119713907497569353-6377021049658272511?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/6377021049658272511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=6377021049658272511' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/6377021049658272511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/6377021049658272511'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2009/12/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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3119713907497569353.post-1332032424927646472</id><published>2009-12-04T02:37:00.001-08:00</published><updated>2010-03-12T02:54:25.451-08:00</updated><title type='text'>كتاب .net 2008 بصورة ورقية – تجربة النشر الحر</title><content type='html'>&lt;div dir="rtl"&gt;&lt;p&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;img style="DISPLAY: block; FLOAT: none; MARGIN-LEFT: auto; MARGIN-RIGHT: auto" alt="" src="http://www.vb4arab.com/vb/uploaded/3/01259922485.gif" /&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;منذ بضعة أسابيع ، قرأت كتاباً نشره الأستاذ رؤوف شبايك بعنوان ( انشر كتابك بنفسك ) والموجود على هذا الرابط &lt;/span&gt;&lt;a href="http://www.shabayek.com/blog/2008/10/18/%d9%83%d8%aa%d8%a7%d8%a8%d9%8a-%d8%a7%d9%84%d8%b1%d8%a7%d8%a8%d8%b9-%d8%a7%d9%86%d8%b4%d8%b1-%d9%83%d8%aa%d8%a7%d8%a8%d9%83-%d8%a8%d9%86%d9%81%d8%b3%d9%83/"&gt;&lt;span style="font-size:130%;"&gt;( انشر كتابك بنفسك )&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;يشرح مؤلف الكتاب طريقة استخدام موقع Lulu.com للنشر الحر لمؤلفاتك وكتبك ، حيث يتيح لك الموقع امكانية نشر كتابك ووضع الدعاية من أجله ، وعرضه للشراء حيث سيتولى عنك عملية الطباعة والتوصيل إلى المشتري ، كل هذا بخطوات سلسلة وميسرة جعلت فكرة النشر الإلكتروني فكرة ميسرة جداً وأفضل - خصوصاً لأي مبتدئ - من مجرد التفكير في الركض وراء دور النشر .&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;واجهتني في بداية العمل مشكلة ، وهي أننا فقدت النسخة التي تم تحويلها إلى ملف pdf ، ولم يكن لدي سوى نسخة قديمة دون أي إخراج ، لذا بدأت من البداية في تقليد الاخراج الذي قام به الأخ وليد ، وبالرغم من ذلك لم أستطع الوصول لنفس المستوى ، الأكواد غير ملونة كما في الإصدار الأول ، ولكني أضفت بعض التعديلات والتنقيحات إلى الكتاب .&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;وبالفعل بدأت في الإجراءات التي نصح الكاتب بالسير عليها ، والمحصلة النهائية ، ها هو كتابي جاهز للطبع :&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.lulu.com/content/hardcove...y-step/8016570"&gt;&lt;span style="font-size:130%;"&gt;http://www.lulu.com/content/hardcove...y-step/8016570&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;color:#0000ff;"&gt;الخلاصة ، تجربة مميزة جداً لتحصل على كتابك مطبوعاً بين يديك أكثر منها تجربة لتحقيق الربح من الكتابة ، فالاستاذ رؤوف شبايك نفسه يدرك أن تجربة النشر الالكتروني للكتب العربية ما زالت في مراحلها الأولى ، ولهذا السبب لم يتم طلب سوى عدد يسير جداً من كتبه ، لكن تجربة أن تمسك بكتابك بين يديك تعطيك دفعة معنوية جيدة ، بالاضافة لشعورك بأنك تساهم ولو بنزر يسير في تعميق هذه التجربة في العالم العربي والتي بدورها ستساهم في زيادة عدد الكتاب العرب الذين أرهقتهم مطالب دور النشر المختلفة .&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:130%;color:#ff0000;"&gt;الكتاب مجاني أيضاً حتى في نسخته المطبوعة ، حيث أن التكاليف المعلن عنها ضمن موقع لولو هي تكاليف الطباعة التي سيتحصل عليها الموقع جراء الطباعة ، بالاضافة لتكاليف الشحن والتي سيخبرك بها عند بدءك في عملية الشراء .&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;لذا لو كنت تود الحصول على نسخة الكترونية فهذا رابط النسخة القديمة من الكتاب ذات الإخراج المتميز :&lt;br /&gt;&lt;/span&gt;&lt;a href="http://vb4arab.com/dotNet_2008.zip"&gt;&lt;span style="font-size:130%;"&gt;http://vb4arab.com/dotNet_2008.zip&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;أما لو كنت مصر على الحصول على النسخة بعد التعديلات فإليك هذه النسخة للتحميل :&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.4shared.com/file/164058191/5beddfb0/net_2008_2nd.html"&gt;&lt;span style="font-size:130%;"&gt;http://www.4shared.com/file/164058191/5beddfb0/net_2008_2nd.html&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;وأخيراً ، هذا هو رابط الكتاب على موقع Lulu :&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.lulu.com/content/hardcove...y-step/8016570"&gt;&lt;span style="font-size:130%;"&gt;http://www.lulu.com/content/hardcove...y-step/8016570&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:130%;color:#ff0000;"&gt;كيف أشتري من موقع لولو ؟&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;باستخدام الرابط السابق ، أو من القائمة العلوية Buy والتي تتيح لك البحث بين الكتب واختيار الكتاب الأنسب لك .&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.lulu.com/content/hardcove...y-step/8016570"&gt;&lt;span style="font-size:130%;"&gt;http://www.lulu.com/content/hardcove...y-step/8016570&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;إذا قمت بالضغط على الرابط السابق ، ستجد في الأعلى Add To Cart ، سعر الكتاب 30.10 دولار وهو تكلفة طباعة 604 ورقة مع غلاف من النوع الفاخر يتحصل عليها موقع لولو مقابل عملية الطباعة ، ستتم اضافتها لسلة التسوق ، بعد انتهائك من التسوق ستجد زر باسم Check out &amp;gt;&amp;gt;&amp;gt; ، سيطلب منك تسجيل ايميلك وكلمة مرور خاصة بك ليتم طلبك كعضو جديد أو سجل دخولك بعضويتك الحالية .&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;بعد ذلك سيخيرك بين نوعين من الشحن ، من حسابي في جدة - المملكة العربية السعودية يكلفني الشحن حوالي 11 دولار ، ومن المفترض أن يتم الشحن خلال 5-7 ايام ، إلا أن الأستاذ رؤوف ذكر في كتابة أن الأمر قد يطول بالشحن لاسبوعين أو ثلاث بالاضافة لأسبوع للطباعة ، عموماً انا ما زلت اجرب الطلب للمرة الأولى ولا أعرف كم سيستغرق الكتاب للوصول فعلياً .&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;بعد الضغط على save &amp;amp; continue سينقلك إلى شاشة الدفع الالكتروني ، ادخل بياناتك وسيتم التأكيد وانهاء العملية ، والآن عليك انتظار النسخة &lt;img title="Smile" alt="" src="http://www.vb4arab.com/vb/images/smilies/smile.gif" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&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;span style="font-size:130%;"&gt;&lt;span style="color:#000066;"&gt;&lt;strong&gt;عن الكتاب : &lt;/strong&gt;&lt;br /&gt;&lt;br /&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;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="color:#ff0000;"&gt;تعقيب بعد استلام الكتاب :&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="color:#ff0000;"&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/3119713907497569353-1332032424927646472?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/1332032424927646472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=1332032424927646472' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/1332032424927646472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/1332032424927646472'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2009/12/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><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3119713907497569353.post-4794166749228555197</id><published>2009-10-31T17:51:00.001-07:00</published><updated>2009-10-31T18:10:32.570-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcements'/><title type='text'>مدونة جديدة باللغة الإنجليزية</title><content type='html'>&lt;p&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://lh4.ggpht.com/_FUmkjQ7foTw/Suzbe7rUCvI/AAAAAAAAAZc/8u2K_rS76bw/s1600-h/english%5B3%5D.jpg"&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="english" border="0" alt="english" src="http://lh5.ggpht.com/_FUmkjQ7foTw/SuzbgLGoZLI/AAAAAAAAAZg/af6z8kbrc8c/english_thumb%5B1%5D.jpg?imgmax=800" width="604" height="302" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;font-size:130%;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;h4 align="center"&gt;&lt;span style="font-family:arial;color:#009900;"&gt;بسم الله الرحمن الرحيم &lt;/span&gt;&lt;/h4&gt;&lt;h4 align="center"&gt;&lt;span style="font-family:arial;color:#009900;"&gt;السلام عليكم ورحمة الله وبركاته&lt;/span&gt;&lt;/h4&gt;&lt;h4 align="center"&gt;&lt;span style="font-family:arial;"&gt;تم بحمد الله افتتاح مدونة أخرى تقنية باللغة الإنجليزية على هذا الرابط&lt;/span&gt;&lt;/h4&gt;&lt;h4 align="center"&gt;&lt;a href="http://ahmedgamal-net.blogspot.com/"&gt;&lt;span style="font-family:arial;"&gt;http://ahmedgamal-net.blogspot.com/&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;h4 align="center"&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;الهدف من المدونة هو نوع من تحقيق الاستفادة لعدد أكبر من المبرمجين ، أو هي محاولة لدخول هذا العالم والتحدث إليه بلغته التي يفهمها ، شجعني على هذا القرار الأستاذ تركي العسيري والذي اتخذ قراراً مماثلاً منذ فترة ربما كنت من المعارضين له حتى أقتنعت بوجهة نظره بالكامل&lt;/span&gt;&lt;/h4&gt;&lt;h4 align="center"&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;ستظل هذه المدونة تعمل بالتوازي مع المدونة الإنجليزية&lt;/span&gt;&lt;/h4&gt;&lt;h4 align="center"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#009900;"&gt;&lt;strong&gt;وبالله&lt;/strong&gt; &lt;strong&gt;التوفيق&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3119713907497569353-4794166749228555197?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/4794166749228555197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=4794166749228555197' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/4794166749228555197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/4794166749228555197'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2009/10/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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_FUmkjQ7foTw/SuzbgLGoZLI/AAAAAAAAAZg/af6z8kbrc8c/s72-c/english_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3119713907497569353.post-1055749396209355618</id><published>2009-09-17T17:31:00.000-07:00</published><updated>2009-09-17T18:05:47.325-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.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='Courses'/><title type='text'>عمل تطبيق Asp.net من البداية وحتى رفع الموقع - ملف فيديو</title><content type='html'>&lt;div dir="rtl"&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;color:#009900;"&gt;&lt;strong&gt;بسم الله الرحمن الرحيم .&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 218px; DISPLAY: block; HEIGHT: 80px; CURSOR: hand" border="0" alt="" src="http://vb4arab.com/vb/attachments/logo.jpg" /&gt; &lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;بالاشارة إلى الإعلان السابق ، وضمن فعاليات اليوم المميز الذي اختتم في المنتدى على هذا الرابط :&lt;/span&gt;&lt;a href="http://vb4arab.com/vb/forumdisplay.php?f=122"&gt;&lt;span style="font-size:130%;"&gt;http://vb4arab.com/vb/forumdisplay.php?f=122&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;تم تجهيز خطوة بخطوة عمل تطبيق Asp.net ، التطبيق لموقع قديم على شكل مستعرض منتجات بسيط .&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;color:#990000;"&gt;&lt;strong&gt;لغة الموقع : Asp.net من خلال .net 2008 .&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;إذا كانت هذه المرة الأولى التي تجرب فيها تصميم الويب ، فمن المفضل الإطلاع على بعض الدروس المبدئية قبل مشاهدة الفيديو :&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;a href="http://vb4arab.com/vb/showthread.php?t=18391"&gt;&lt;span style="font-size:130%;"&gt;http://vb4arab.com/vb/showthread.php?t=18391&lt;/span&gt;&lt;/a&gt; - &lt;a href="http://vb4arab.com/vb/showthread.php?t=18397"&gt;&lt;span style="font-size:130%;"&gt;http://vb4arab.com/vb/showthread.php?t=18397&lt;/span&gt;&lt;/a&gt; - &lt;a href="http://vb4arab.com/vb/showthread.php?t=18454"&gt;&lt;span style="font-size:130%;"&gt;http://vb4arab.com/vb/showthread.php?t=18454&lt;/span&gt;&lt;/a&gt; - &lt;a href="http://vb4arab.com/vb/showthread.php?t=18528"&gt;&lt;span style="font-size:130%;"&gt;http://vb4arab.com/vb/showthread.php?t=18528&lt;/span&gt;&lt;/a&gt; - &lt;a href="http://vb4arab.com/vb/showthread.php?t=18573"&gt;&lt;span style="font-size:130%;"&gt;http://vb4arab.com/vb/showthread.php?t=18573&lt;/span&gt;&lt;/a&gt; - &lt;a href="http://vb4arab.com/vb/showthread.php?t=18586"&gt;&lt;span style="font-size:130%;"&gt;http://vb4arab.com/vb/showthread.php?t=18586&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-size:130%;color:#990000;"&gt;&lt;strong&gt;النقاط التي تم شرحها في الفيديو :&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:130%;"&gt;&lt;p align="right"&gt;&lt;br /&gt;1- انشاء قواعد البيانات والعلاقات .&lt;/p&gt;&lt;p align="right"&gt;2- انشاء Stored Procedure.&lt;/p&gt;&lt;p align="right"&gt;3- انشاء طبقات البيانات .&lt;/p&gt;&lt;p align="right"&gt;4- انشاء الماستر بيدج .&lt;/p&gt;&lt;p align="right"&gt;5- البدء بانشاء الصفحات .&lt;/p&gt;&lt;p align="right"&gt;6- انشاء Custom Control.&lt;/p&gt;&lt;p align="right"&gt;7- التعامل مع بعض الادوات .&lt;/p&gt;&lt;p align="right"&gt;8- نشر الموقع على مستضيف مجاني .&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#990000;"&gt;الفيديو التعليمي هنا :&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;/span&gt;&lt;a href="http://vb4arab.com/vb/popup/Final.html"&gt;&lt;span style="font-size:130%;"&gt;http://vb4arab.com/vb/popup/Final.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;وذلك على مدار ساعة كاملة ، من المفترض بعدها أن تكون قادراً على تصميم تطبيق Asp.net متكامل .&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:130%;"&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#990000;"&gt;التطبيق النهائي هنا :&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;/span&gt;&lt;a href="http://aspspider.info/ahmedgamal2/"&gt;&lt;span style="font-size:130%;"&gt;http://aspspider.info/ahmedgamal2/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-size:130%;color:#990000;"&gt;&lt;strong&gt;لتحميل المشروع النهائي - سورس كود - :&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;a href="http://www.vb4arab.com/vb/uploaded/3/01250221571.rar"&gt;&lt;span style="font-size:130%;"&gt;http://www.vb4arab.com/vb/uploaded/3/01250221571.rar&lt;/span&gt;&lt;/a&gt;&lt;br /&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%;color:#990000;"&gt;&lt;strong&gt;ملف قاعدة البيانات :&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;a href="http://www.vb4arab.com/vb/uploaded/3/01250583424.rar"&gt;&lt;span style="font-size:130%;"&gt;http://www.vb4arab.com/vb/uploaded/3/01250583424.rar&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;br /&gt;&lt;span style="font-size:130%;color:#ff0000;"&gt;** هناك بعض المشاكل في التسجيل الصوتي لذا هذا التسجيل الصوتي مؤقت ، وسيتم اعادة التسجيل قريباً إن شاء الله .&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;strong&gt;&lt;span class="fullpost"&gt;&lt;span style="font-size:130%;color:#990000;"&gt;خطوات رفع الموقع على مستضيف مجاني Aspspider بعد الإنتهاء :&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;- ادخل إلى موقع Aspspider.net .&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;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;br /&gt;&lt;a href="http://www.vb4arab.com/vb/uploaded/3/01250181669.jpg"&gt;&lt;span style="font-size:130%;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 696px; DISPLAY: block; HEIGHT: 317px; CURSOR: hand" border="0" alt="" src="http://www.vb4arab.com/vb/uploaded/3/01250181669.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.vb4arab.com/vb/uploaded/3/01250181669.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;- اختر مركز لوحة التحكم ، رفع الملفات ، ثم webroot ، وقم برفع ملفاتك واحد تلو الآخر .&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;- بعد الإنتهاء ، عد مرة أخرى إلى مركز رفع الملفات ، ثم Database ، ومن ثم قم برفع ملف قاعدة البيانات mdf فقط لو سكول أو mdb لو أكسيس .&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;- بعد الانتهاء عد مرة أخرى إلى لوحة التحكم ، واختر Database Manager .- ستجد قاعدة بياناتك التي قمت برفعها موجودة ، اضغط Attach Database ، واتبع الخطوات .&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;span style="font-size:130%;"&gt;- بعد الانتهاء ، ادخل على الرابط التالي ، قم بتعديل ال Connection String الخاصة بك في web.config للطريقة الموضحة في هذه الصفحة :&lt;/span&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;br /&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;span style="font-size:130%;color:#009900;"&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/3119713907497569353-1055749396209355618?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/1055749396209355618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=1055749396209355618' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/1055749396209355618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/1055749396209355618'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2009/09/aspnet.html' title='عمل تطبيق Asp.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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3119713907497569353.post-6645426056757836185</id><published>2009-09-17T17:10:00.000-07:00</published><updated>2009-09-17T18:02:31.258-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>الجديد في C# 4.0</title><content type='html'>&lt;div dir="rtl"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color:#009900;"&gt;بسم الله الرحمن الرحيم .&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;السلام عليكم ورحمة الله وبركاته .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:180%;color:#ff0000;"&gt;ما الجديد في C# 4.0 ؟&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;في الوقت الذي لا زلنا نحارب من أجل انتقال البعض إلى تقنية الدوت نت ، ما زالت عجلة التطور مستمرة ، وكل يوم نجد تقنية جديدة واصدار جديد ، سنحاول في هذه المقالة السريعة التعرف على بعض النقاط التي سنجدها مع C# 4.0 .&lt;br /&gt;الخصائص الاضافية مقسمة لاربع اقسام رئيسية هي :&lt;br /&gt;&lt;br /&gt;1- البارميترات الاختيارية Optional Parameters.&lt;br /&gt;2- استخدام Dynamic - Dynamic Support&lt;br /&gt;3- التعامل مع COM - COM interop.&lt;br /&gt;4- Variance.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#cc0000;"&gt;1- البارميترات الاختيارية Optional Parameters :&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;أخيراً في سي شارب ، أصبح بامكانك وضع قيم افتراضية للبارميترات بعد أن كانت هذه الخاصية متاحة فقط في vb.net :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;&lt;table dir="ltr" border="1" width="600"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:130%;"&gt;public void functionname( string param1="Ahmed", bool param2 = false, int param3 = 24 ){&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-size:130%;"&gt;}&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#cc0000;"&gt;*** تسمية المتغيرات عند الإرسال Named Parameters :&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;في المثال السابق ، لنفترض اننا نريد الاستفادة من الخاصية الافتراضية للمتغير المنطقي param2 ولكننا نريد ارسال قيمة رقمية ل param3 بالشكل التالي&lt;br /&gt;&lt;/span&gt;&lt;table dir="ltr" border="1" width="600"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:130%;"&gt;functionname("Ali",25);&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;الجملة السابقة للاسف خاطئة ، لإنها سترسل 25 في البارميتر الثاني وتفترض أن البارميتر الثالث هو من لم يتم تمريره .&lt;br /&gt;لحل هذه المشكلة ، يمكننا كتابة اسم البارميتر حالة الإرسال بالشكل التالي :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;table dir="ltr" border="1" width="600"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:130%;"&gt;functionname("Ali",param3: 25);&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;span style="color:#cc0000;"&gt;2- استخدام Dynamic - Dynamic Support&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;لنفترض أن لدينا دالة نرسل لها متغير معين فتعين لنا إما كائن من نوع طالب ، أو كائن من نوع مدرس ، بالشكل التالي مثلاً :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;table dir="ltr" border="1" width="600"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:130%;"&gt;public object functionname(param a){if(a==0) return new Student();else return new teacher();}&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;الآن ، لو كان لهما خاصية مشتركة FirstName ونريد تعديلها بناء على الدالة التي تمت اعادتها ، فلدينا الحل التالي :&lt;br /&gt;&lt;/span&gt;&lt;table dir="ltr" border="1" width="600"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:130%;"&gt;if(condition==0){Student s=functionname(condition) as Student;s.FirstName="Ahmed";}else{Teacher s=functionname(condition) as Teacher s.FirstName="Ahmed";}&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;الحل البديل الآن مع dynamic ، يمكنك كتابة الكود السابق بالشكل التالي :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;table dir="ltr" border="1" width="600"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:130%;"&gt;dynamic s=functionname(condition) s.FirstName="Ahmed";&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;وفي حالة عدم وجود الخاصية بصورة مشتركة ، فسيتم رمي الاستثناء RuntimeBinderException&lt;br /&gt;كما يمكنك لاحقاً اعادة تعيينها إلى Class معين بالشكل التالي :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;table dir="ltr" border="1" width="600"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:130%;"&gt;Student newone=s;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color:#ff0000;"&gt;*** أي قيمة byref عائدة من dynamic سيكون نوعها dynamic أيضاً .&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;span style="color:#cc0000;"&gt;3- التعامل مع COM - COM interop.&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="color:#cc0000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:130%;"&gt;باستخدام نفس الميزة الجديدة dynamic ، اصبح التعامل مع ال COM Components أسهل وأسرع .&lt;br /&gt;ابسط مثال على ال Com Components هي ادوات التعامل مع مجموعة برامج الاوفيس Ofice ، سابقاً كنا نكتب كود كالتالي للقراءة من خلية اكسل :&lt;br /&gt;&lt;/span&gt;&lt;table dir="ltr" border="1" width="600"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:130%;"&gt;((Excel.Range)excel.Cells[1, 1]).Value2 = "Hello";&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;الجديد الآن ، هذا السطر كافي :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;table dir="ltr" border="1" width="600"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:130%;"&gt;excel.Cells[1, 1].Value = "Hello";4- Variance&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;لو فرضنا أن لدينا الكود التالي :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;table dir="ltr" border="1" width="600"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:130%;"&gt;IList&lt;string&gt; strings = new List&lt;string&gt;();IList&amp;ltobject&amp;gt objects = strings;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;في الواقع وعلى الرغم من ان أي String هو Object ، إلا أن الجملة السابقة ليست صحيحة بسبب أن String لا يحتوي على نفس عناصر ال Objects . مثال ذلك :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;table dir="ltr" border="1" width="600"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:130%;"&gt;objects[0] = 5;string s = strings[0];&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;هذه الجملة خاطئة ، وادخالنا ل 5 كرقم واعادتها كنص يعد خرقاً لقواعد الأمان ، فقط باستخدامنا الانترفيس Interface التالي في C# 4.0 يمكن أن نمنع المستخدم من ادخال بيانات خاطئة :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;table dir="ltr" border="1" width="600"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;IEnumerable&amp;ltobject&amp;gt objects = strings;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;والذي يتم تعريفه في C# 4.0 بالشكل التالي :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;table dir="ltr" border="1" width="600"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;public interface IEnumerable&lt;out&gt; : IEnumerable{ IEnumerator&lt;t&gt; GetEnumerator();}public interface IEnumerator&lt;out&gt; : IEnumerator{ bool MoveNext(); T Current { get; }}&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;span style="color:#cc0000;"&gt;أخيراً : العلاقة مع فيجوال بيسك - التحديثات الجديدة - :&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1- خاصية القيم الافتراضية للبارميترات موجودة منذ زمن في الفيجوال بيسك .&lt;br /&gt;2- بالنسبة لـ Variance و dynamic فتم تطبيقهم في نفس الوقت للغتين .&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#cc0000;"&gt;للاستزادة :&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://code.msdn.microsoft.com/Proje...ownloadId=3550"&gt;&lt;span style="font-size:130%;"&gt;http://code.msdn.microsoft.com/Proje...ownloadId=3550&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#006600;"&gt;والسلام عليكم ورحمة الله وبركاته . &lt;/span&gt;&lt;/strong&gt;&lt;br /&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/3119713907497569353-6645426056757836185?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/6645426056757836185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=6645426056757836185' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/6645426056757836185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/6645426056757836185'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2009/09/c-40.html' title='الجديد في C# 4.0'/><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3119713907497569353.post-8390362606103913942</id><published>2009-09-17T17:09:00.000-07:00</published><updated>2009-09-17T17:10:11.490-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcements'/><title type='text'>تم تحديث جميع الروابط</title><content type='html'>&lt;strong&gt;&lt;span style="font-size:180%;color:#000066;"&gt;تم تحديث جميع الروابط ، ومعذرة على التأخير .&lt;/span&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3119713907497569353-8390362606103913942?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/8390362606103913942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=8390362606103913942' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/8390362606103913942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/8390362606103913942'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2009/09/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-3119713907497569353.post-6214980209439406583</id><published>2008-11-19T14:52:00.001-08:00</published><updated>2008-11-20T02:40:10.502-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://lh4.ggpht.com/_FUmkjQ7foTw/SSSYf8RYtoI/AAAAAAAAAOk/tzoiKx_GxTc/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://lh3.ggpht.com/_FUmkjQ7foTw/SSSYkBp62kI/AAAAAAAAAOo/L4mYw_f3Dh0/_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/3119713907497569353-6214980209439406583?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/6214980209439406583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=6214980209439406583' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/6214980209439406583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/6214980209439406583'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.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://lh3.ggpht.com/_FUmkjQ7foTw/SSSYkBp62kI/AAAAAAAAAOo/L4mYw_f3Dh0/s72-c/_net2008_thumb%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3119713907497569353.post-8024701834199402344</id><published>2008-11-09T11:44:00.001-08:00</published><updated>2009-09-16T19:08:45.840-07:00</updated><title type='text'>باقي من الزمن</title><content type='html'>&lt;div dir="rtl"&gt;&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;بعد ما لاقيت نفسي قربت اخلص الجيش - إن شاء الله - وبعد ما شفت برنامج كان عامله أحمد عيسوي بيفكر الناس بمواعيد الصلاة عن طريق تغيير ال Personal Message أوقات الأذان ، جاتلي فكرة إني أعمل برنامج صغنون كده يحسب اللي باقي ليا في الجيش باليوم والساعة والدقيقة والثانية ويعرضه عندي في ال Personal Message ثانية بثانية .&lt;/span&gt;&lt;/p&gt;&lt;p dir="rtl" align="center"&gt;&lt;a href="http://lh5.ggpht.com/_FUmkjQ7foTw/SRc8jby8HVI/AAAAAAAAANU/4Rw9FzVFMIc/s1600-h/msn%5B4%5D.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="267" alt="msn" src="http://lh4.ggpht.com/_FUmkjQ7foTw/SRc8pD7Yp_I/AAAAAAAAANY/70TfAF38a88/msn_thumb%5B2%5D.jpg?imgmax=800" width="425" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p dir="rtl" align="center"&gt;&lt;span style="font-size:180%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div dir="rtl" align="center"&gt;&lt;a href="http://www.4shared.com/file/133223589/ee8a04ef/Geeeesh.html"&gt;&lt;span style="font-size:130%;"&gt;تحميل نسخة exe + السورس&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir="rtl"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color:#ff0000;"&gt;مقعد ؟؟؟&lt;/span&gt; ممكن معقد بس أكيد مش لدرجة إني أعد بالثواني أكيد :) ، لكن قلت اهوه اعمل حاجة ليها علاقة بالجيش ، اصلي شفت برنامج حلو برضو اتعمل على شكل Gadgets طبعاً برنامج معقد أكتر ، دي صورة منه :&lt;/span&gt;&lt;/p&gt;&lt;p dir="rtl" align="center"&gt;&lt;a href="http://lh3.ggpht.com/_FUmkjQ7foTw/SRc8xCX_UaI/AAAAAAAAANc/0zjyiEJp28o/s1600-h/image%5B6%5D.png"&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="275" alt="image" src="http://lh6.ggpht.com/_FUmkjQ7foTw/SRc83UGdX6I/AAAAAAAAANg/myw7FVyA6AE/image_thumb%5B2%5D.png?imgmax=800" width="195" border="0" /&gt;&lt;/span&gt;&lt;/a&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;هو البرنامج التاني حجمه كبير شوية فمقدرتش ارفعه على النت ، بس  لما اقدر ارفعه هبقى انزل اللينك بتاعه إن شاء الله ...&lt;/span&gt;&lt;/p&gt;&lt;p dir="rtl"&gt;&lt;span style="font-size:130%;color:#ff0000;"&gt;*** علشان البرنامج يشتغل لازم تغير خاصية في MSN Options اسمها Show song Information form Windows Media Player as a personal message إلى صح علشان الرسالة تتعرض .&lt;/span&gt;&lt;/p&gt;&lt;p dir="rtl"&gt;&lt;span style="font-size:130%;color:#ff0000;"&gt;** وطبعاً مننساش ان يكون في .net framwork على الجهاز علشان ال exe يشتغل .&lt;/span&gt;&lt;/p&gt;&lt;p dir="rtl"&gt;&lt;span style="font-size:130%;color:#ff0000;"&gt;&lt;strong&gt;برمجة :&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir="rtl" align="center"&gt;&lt;a href="http://lh3.ggpht.com/_FUmkjQ7foTw/SRc86UZ2omI/AAAAAAAAANk/PyjHrb4t6f4/s1600-h/prog%5B3%5D.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="242" alt="prog" src="http://lh4.ggpht.com/_FUmkjQ7foTw/SRc8-MDIemI/AAAAAAAAANo/vvcBpTBZEL4/prog_thumb%5B1%5D.jpg?imgmax=800" width="319" border="0" /&gt;&lt;/span&gt;&lt;/a&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;الموضوع بسيط جداً ، في كلاس اسمه Microsoft.Win32 هنضيفه عندنا ، وبعدين نكتب الفنكشن دي :&lt;/span&gt;&lt;/p&gt;&lt;p dir="rtl" align="left"&gt;&lt;table cellspacing="0" cellpadding="2" width="600" border="1"&gt;&lt;tbody dir="ltr"&gt;&lt;tr&gt;&lt;td valign="top" width="598"&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;private void SendMSNMessage(bool enable, string category, string message)&lt;br /&gt;{&lt;br /&gt;    try&lt;br /&gt;    { &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;        string buffer = "\\0" + category + "\\0" + (enable ? "1" : "0") + "\\0{0}\\0" + message + "\\0\\0\\0\\0\0";&lt;br /&gt;        int handle = 0; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;        data.dwData = 0x0547;&lt;br /&gt;        data.lpData = VarPtr(buffer);&lt;br /&gt;        data.cbData = buffer.Length * 2; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;        handle = FindWindowEx(0, handle, "MsnMsgrUIManager", null);&lt;br /&gt;        if (handle &amp;gt; 0)&lt;br /&gt;            SendMessage(handle, WM_COPYDATA, 0, VarPtr(data));&lt;br /&gt;    }&lt;br /&gt;    catch (Exception ex)&lt;br /&gt;    {&lt;br /&gt;        MessageBox.Show(ex.Message);&lt;br /&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;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&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;وبس ، وبعد كده علشان نظهر اي رسالة هنكتب :&lt;/span&gt;&lt;/p&gt;&lt;p dir="rtl" align="left"&gt;&lt;table cellspacing="0" cellpadding="2" width="600" border="1"&gt;&lt;tbody dir="ltr"&gt;&lt;tr&gt;&lt;td valign="top" width="598"&gt;&lt;span style="font-size:130%;"&gt;SendMSNMessage(true, "Office", myString);&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p dir="rtl"&gt;&lt;span style="font-size:130%;"&gt;وعلشان نلغيها نكتب :&lt;/span&gt;&lt;/p&gt;&lt;p dir="rtl" align="left"&gt;&lt;table cellspacing="0" cellpadding="2" width="600" border="1"&gt;&lt;tbody dir="ltr"&gt;&lt;tr&gt;&lt;td valign="top" width="598"&gt;&lt;span style="font-size:130%;"&gt;SendMSNMessage(false, "Office", "");&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p dir="rtl"&gt;&lt;span style="font-size:130%;"&gt;بعد كده برنامج عادي طرحت الوقت الحالي من الوقت اللي اليوزر بيدخله في DateTimePicker ، وصلى الله وبارك ...&lt;/span&gt;&lt;/p&gt;&lt;p dir="rtl"&gt;&lt;span style="font-size:130%;"&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/3119713907497569353-8024701834199402344?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/8024701834199402344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=8024701834199402344' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/8024701834199402344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/8024701834199402344'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/11/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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_FUmkjQ7foTw/SRc8pD7Yp_I/AAAAAAAAANY/70TfAF38a88/s72-c/msn_thumb%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3119713907497569353.post-179164878422040962</id><published>2008-10-20T12:09:00.000-07:00</published><updated>2008-10-20T12:13:20.163-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='Courses'/><title type='text'>دورة ASP.net 3.5</title><content type='html'>&lt;a href="http://img376.imageshack.us/img376/2578/coursexw6.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 711px; CURSOR: hand; HEIGHT: 623px; TEXT-ALIGN: center" height="329" alt="" src="http://img376.imageshack.us/img376/2578/coursexw6.jpg" border="0" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;div align="center"&gt;تفاصيل الدورة هنا&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;a href="http://vb4arab.com/vb/showthread.php?p=136257"&gt;http://vb4arab.com/vb/showthread.php?p=136257&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/3119713907497569353-179164878422040962?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/179164878422040962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=179164878422040962' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/179164878422040962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/179164878422040962'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/10/aspnet-35.html' title='دورة ASP.net 3.5'/><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-3119713907497569353.post-269879622722176178</id><published>2008-08-25T06:37:00.001-07:00</published><updated>2008-08-25T06:37:14.182-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=&amp;quot;1.0&amp;quot;?&amp;gt;                &lt;br /&gt;&amp;lt;!DOCTYPE wml PUBLIC &amp;quot;-//PHONE.COM//DTD WML 1.1//EN&amp;quot;                 &lt;br /&gt;&amp;quot;&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&amp;quot;&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;#160;&amp;#160; &amp;lt;card id=&amp;quot;main&amp;quot; title=&amp;quot;First Card&amp;quot;&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;p mode=&amp;quot;wrap&amp;quot;&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;#160;&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=&amp;quot;First_Name&amp;quot; value=&amp;quot;Ahmed&amp;quot;/&amp;gt;                &lt;br /&gt;&amp;lt;setvar name=&amp;quot;Age&amp;quot; value=&amp;quot;21&amp;quot;/&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=&amp;quot;card1&amp;quot; title=&amp;quot;Tutorial&amp;quot;&amp;gt;                &lt;br /&gt;&amp;lt;do type=&amp;quot;accept&amp;quot; label=&amp;quot;Answer&amp;quot;&amp;gt;                 &lt;br /&gt;&amp;lt;go href=&amp;quot;#card2&amp;quot;/&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=&amp;quot;name&amp;quot;&amp;gt;                 &lt;br /&gt;&amp;lt;option value=&amp;quot;HTML&amp;quot;&amp;gt;HTML Tutorial&amp;lt;/option&amp;gt;                 &lt;br /&gt;&amp;lt;option value=&amp;quot;XML&amp;quot;&amp;gt;XML Tutorial&amp;lt;/option&amp;gt;                 &lt;br /&gt;&amp;lt;option value=&amp;quot;WAP&amp;quot;&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=&amp;quot;card2&amp;quot; title=&amp;quot;Answer&amp;quot;&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=&amp;quot;1.0&amp;quot;?&amp;gt;                &lt;br /&gt;&amp;lt;!DOCTYPE wml PUBLIC &amp;quot;-//PHONE.COM//DTD WML 1.1//EN&amp;quot;                 &lt;br /&gt;&amp;quot;&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&amp;quot;&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;#160;&amp;#160; &amp;lt;card id=&amp;quot;main&amp;quot; title=&amp;quot;First Card&amp;quot;&amp;gt;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;p mode=&amp;quot;wrap&amp;quot;&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;#160;&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=&amp;quot;System.Mobile.UI.MobilePage&amp;quot; Language=&amp;quot;C#&amp;quot; %&amp;gt;                &lt;br /&gt;&amp;lt;%@ Register TagPrefix=&amp;quot;mobile&amp;quot; Namespace=&amp;quot;System.Mobile.UI&amp;quot; %&amp;gt;                 &lt;br /&gt;&amp;lt;mobile:Form runat=&amp;quot;server&amp;quot;&amp;gt;                 &lt;br /&gt;&amp;lt;mobile:Label runat=&amp;quot;server&amp;quot;&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=&amp;quot;System.Mobile.UI.MobilePage&amp;quot; Language=&amp;quot;C#&amp;quot; %&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/3119713907497569353-269879622722176178?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/269879622722176178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=269879622722176178' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/269879622722176178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/269879622722176178'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.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-3119713907497569353.post-4254888249313239164</id><published>2008-08-23T14:52:00.001-07:00</published><updated>2008-08-23T14:52:47.134-07:00</updated><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/3119713907497569353-4254888249313239164?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/4254888249313239164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=4254888249313239164' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/4254888249313239164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/4254888249313239164'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/expression-blend.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-3119713907497569353.post-7284131952252964016</id><published>2008-08-23T14:15:00.001-07:00</published><updated>2008-08-23T15:00:59.981-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/3119713907497569353-7284131952252964016?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/7284131952252964016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=7284131952252964016' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/7284131952252964016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/7284131952252964016'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/pocket-pc-net.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-3119713907497569353.post-6003045341440402842</id><published>2008-08-23T13:47:00.001-07:00</published><updated>2008-08-23T14:55:32.809-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/3119713907497569353-6003045341440402842?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/6003045341440402842/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=6003045341440402842' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/6003045341440402842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/6003045341440402842'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.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-3119713907497569353.post-3967611720899718469</id><published>2008-08-15T05:14:00.001-07:00</published><updated>2008-08-15T05:14:58.925-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'>FileSystemWatcher</title><content type='html'>&lt;div dir="rtl" align="right"&gt;&lt;p&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;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;br /&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;طبعاً بما اننا نتحدث عن events وتغييرات ، سنحتاج فوراً لتعريف دوال يتم تنفيذها مرتبطة بالاحداث ، اي دالة تستخدم لقراءة احداث مثل التعديل والتغيير وخلافه لا بد ان تكون على شكل delegate التالي :&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="fullpost"&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;void MyNotificationHandler(object source, FileSystemEventArgs e)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&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;tr&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;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;span style="font-family:Verdana;font-size:130%;"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;الآن سنقوم بتعريف برنامج عادي ، يقوم بمراقبة حالة الملفات ، طبعاً ولإننا نرغب في ان نرى نتائج البرنامج فلا بد ان نجعل البرنامج يعمل حتى يضغط المستخدم حرف q مثلاً ، لو كنا في windows Forms كان بامكاننا المراقبة مباشرة طبعاً ، في مثالنا هذا سنراقب كافة الملفات النصية في القرص الصلب c:\ لحدثي الاضافة والحذف :&lt;br /&gt;&lt;br /&gt;C#: &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;tr&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;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;vb.net: &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;tr&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;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;كما لاحظت ، عندما يحدث أي حدث فإننا نقوم باستدعاء الدالة OnChanged ، يمكن تخصيص دالة لكل حدث أو كما تحب لكن هذا فقط مثال ، يمكننا كتابة الدالة OnChanged بالشكل التالي مثلاً - عرض الملف والتغيير ووقت التغيير - :&lt;br /&gt;&lt;br /&gt;C#: &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;tr&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;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;vb.net: &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;tr&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;/tr&gt;&lt;/tbody&gt;&lt;/table&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;img alt="" src="http://vb4arab.com/vb/uploaded/3/01212665607.jpg" border="0" /&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/3119713907497569353-3967611720899718469?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/3967611720899718469/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=3967611720899718469' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/3967611720899718469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/3967611720899718469'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/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-3119713907497569353.post-1987501951752860333</id><published>2008-08-15T05:12:00.000-07:00</published><updated>2008-08-15T05:13:41.366-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'>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;span class="fullpost"&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;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3119713907497569353-1987501951752860333?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/1987501951752860333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=1987501951752860333' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/1987501951752860333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/1987501951752860333'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/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-3119713907497569353.post-1426089178859512226</id><published>2008-08-15T04:51:00.000-07:00</published><updated>2008-08-15T04:52:27.519-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Announcements'/><title type='text'>دورة : لنتعلم .net 2008</title><content type='html'>&lt;p dir="rtl" align="right"&gt;&lt;font size="2"&gt;بسم الله الرحمن الرحيم .&lt;/font&gt;&lt;/p&gt; &lt;p align="right"&gt;&lt;font size="2"&gt;على منتدى فيجوال بيسك للعرب ، توجد دورة بعنوان &lt;/font&gt;&lt;/p&gt; &lt;p align="center"&gt;&lt;a href="http://lh5.ggpht.com/hammada2091/SAkbY--M3AI/AAAAAAAAAEQ/oL4oicdUs0w/s1600-h/_net2008%5B2%5D.jpg"&gt;&lt;font size="2"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="144" alt="_net2008" src="http://lh3.ggpht.com/hammada2091/SAkbae-M3BI/AAAAAAAAAEY/9b9NwqUirm4/_net2008_thumb.jpg?imgmax=800" width="222" border="0"&gt; &lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align="right"&gt;&lt;font size="2"&gt;رابط الدورة هنا&lt;/font&gt;&lt;/p&gt; &lt;p align="right"&gt;&lt;a title="http://vb4arab.com/vb/forumdisplay.php?f=101" href="http://vb4arab.com/vb/forumdisplay.php?f=101"&gt;&lt;font size="2"&gt;http://vb4arab.com/vb/forumdisplay.php?f=101&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align="right"&gt;&lt;font size="2"&gt;جدول مواضيع الدورة هنا&lt;/font&gt;&lt;/p&gt; &lt;p align="right"&gt;&lt;a title="http://vb4arab.com/vb/showthread.php?t=9176" href="http://vb4arab.com/vb/showthread.php?t=9176"&gt;&lt;font size="2"&gt;http://vb4arab.com/vb/showthread.php?t=9176&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/3119713907497569353-1426089178859512226?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/1426089178859512226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=1426089178859512226' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/1426089178859512226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/1426089178859512226'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/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://lh3.ggpht.com/hammada2091/SAkbae-M3BI/AAAAAAAAAEY/9b9NwqUirm4/s72-c/_net2008_thumb.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3119713907497569353.post-2834808654020723936</id><published>2008-08-15T04:49:00.001-07:00</published><updated>2008-08-15T04:49:30.672-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;font size="4"&gt;الفارق بسيط جداً ، هو ان ال const يتم تعريف قيمتها وقت ال compile time ، اما قيمة ال static readonly فيتم تعريفها وقت ال run time . &lt;/font&gt; &lt;p&gt;&lt;font size="4"&gt;لهذا سنجد مزية اضافية لل static readonly ، وهو اننا يمكن ان نقوم بتعريفة في ال static constructor بالشكل التالي مثلاً : &lt;/font&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;table cellspacing="0" cellpadding="2" width="600" border="2"&gt; &lt;tbody align=left dir=ltr&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;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static readonly Test test = new Test();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static void Main(string[] args)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; test.Name = "Program";&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;nbsp;&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/3119713907497569353-2834808654020723936?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/2834808654020723936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=2834808654020723936' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/2834808654020723936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/2834808654020723936'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/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-3119713907497569353.post-6005053984940516197</id><published>2008-08-15T04:45:00.000-07:00</published><updated>2008-08-15T04:47:51.347-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;nbsp;&amp;nbsp;&amp;nbsp; public virtual void SomeMethod() &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &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;nbsp;&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;nbsp;&amp;nbsp;&amp;nbsp; Public Overridable Sub SomeMethod() &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 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;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="4"&gt;ومن ثم لعمل override لهذه الدالة في فئة Class آخر نقوم بكتابة الكود التالي : &lt;/font&gt;&lt;/p&gt;&lt;span class="fullpost"&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;nbsp;&amp;nbsp;&amp;nbsp; public override void SomeMethod() &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &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;nbsp;&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;nbsp;&amp;nbsp;&amp;nbsp; Inherits Base &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Overloads Overrides Sub SomeMethod() &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 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;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="4"&gt;في هذه الحالة لو قمنا بتعريف نسخة من الفئة الأولى Base وقمنا بعملها من النوع&amp;nbsp; 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;nbsp;&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;nbsp; 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;nbsp;&amp;nbsp;&amp;nbsp; public virtual void SomeOtherMethod() &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &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;nbsp;&amp;nbsp;&amp;nbsp; public new void SomeOtherMethod() &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &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;nbsp;&amp;nbsp;&amp;nbsp; Public Overridable Sub SomeOtherMethod() &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 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;nbsp;&amp;nbsp;&amp;nbsp; Inherits Base &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Shadows Sub SomeOtherMethod() &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 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;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3119713907497569353-6005053984940516197?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/6005053984940516197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=6005053984940516197' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/6005053984940516197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/6005053984940516197'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/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-3119713907497569353.post-3066202073533115953</id><published>2008-08-15T04:31:00.001-07:00</published><updated>2009-09-16T19:15:05.736-07:00</updated><title type='text'>نظام الرواد لادارة شركات الكومبيوتر</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;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;بسم الله الرحمن الرحيم .          &lt;br /&gt;السلام عليكم ورحمة الله وبركاته .&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/Back.jpg" border="0" /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;اسم المشروع : نظام لإدارة شركات الكومبيوتر (هاردوير)          &lt;br /&gt;وصف المشروع : مشروع مقدم ضمن مادة تحليل النظم System Anaylsis .           &lt;br /&gt;الفرقة الثانية بكلية الحاسبات والمعلومات - جامعة حلوان .           &lt;br /&gt;فريق العمل : Futex Group .&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/ftx.jpg" border="0" /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;1- أحمد جمال خليفة .          &lt;br /&gt;2- أحمد سعيد أنور .           &lt;br /&gt;4- أحمد محمد عيسوي .           &lt;br /&gt;5- حسام الدين محمد صادق .           &lt;br /&gt;6- خالد عادل محمد سلامة .           &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;اسم المشرف :            &lt;br /&gt;&lt;/font&gt;د.سيد عبدالجابر .           &lt;br /&gt;م. هالة أبو الحمايل .           &lt;br /&gt;          &lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;مقدمة :            &lt;br /&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/font&gt;      &lt;br /&gt;&lt;strong&gt;&lt;font size="3"&gt;الهدف من المشروع في مادة ال System Anaylsis هو التعرف على كيفية تحليل متطلبات العميل المختلفة مروراً بمراحل التحليل المختلفة بدءاً من ال DFD مروراً بال Sheets المختلفة وصولاً إلى ال ERD وال Entitty Sheet وانتهاء بال Menu وال low level sheet .          &lt;br /&gt;وقم تم اختيار شركة (الأوائل - الرواد) والمتخصصة في مجال توريد واستيراد وبيع قطع الكومبيوتر المختلفة اضافة إلى عمليات الصيانة وخلافه لتطيبق هذا النظام حيث يعتبر مجال عمل الشركة متشعباً إلى حد ما اضافة لنظم الحسابات الموجودة ضمن الشركة .  &lt;span class="fullpost"&gt;         &lt;br /&gt;المرحلة الأولى كانت في نزول الشركة والبدء في تجميع البيانات عن نظام ادارة وعمل الشركة ، ومن ثم بدأت مراحل التحليل المختلفة وهنا عرض بسيط لبعض صور هذه المرحلة .           &lt;br /&gt;&lt;/font&gt;        &lt;br /&gt;&lt;/strong&gt;&lt;font size="3"&gt;&lt;strong&gt;نموذج من التحليل باستخدام DFD :          &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/dfd.jpg" border="0" /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;نموذج من ال DataStore Sheet :          &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/datastore.jpg" border="0" /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;نموذج من ال Process Sheet :          &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/process.jpg" border="0" /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;نموذج من ال Data Item Sheet :          &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/its.jpg" border="0" /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;نموذج من قاعدة البيانات باستخدام ERD :          &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/serd.jpg" border="0" /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;نموذج من ال ERD Items :          &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/erdi.jpg" border="0" /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;نموذج من ال Entity Sheet :          &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/entity.jpg" border="0" /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;نموذج من ال Context Diagram :          &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/CDI.jpg" border="0" /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;نموذج من ال System Diagram .          &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/SDI.jpg" border="0" /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;نموذج لل menu diagram :          &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/men.jpg" border="0" /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;نموذج لل low level diagram :          &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/low.jpg" border="0" /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font color="#ff0000" size="3"&gt;&lt;strong&gt;أما النظم الداخلية التي تضمنها نظام شركة الرواد فهي :&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;     &lt;br /&gt;&lt;strong&gt;&lt;font size="3"&gt;- نظام إدارة المحاسبات .          &lt;br /&gt;- نظام إدارة المبيعات .           &lt;br /&gt;- نظام إدارة الصيانة .           &lt;br /&gt;- نظام إدارة المخازن .           &lt;br /&gt;- نظام إدارة شؤون الموظفين .&lt;/font&gt;         &lt;br /&gt;&lt;font size="3"&gt;إلى هنا كانت قد انتهت مراحل العمل في المشروع المطلوب في الكلية ، ولكننا قمنا أيضاً اضافة لعمل مهمة تحليل البرنامج بالبدء بالخطوة التالية عن طريق تصميم البرنامج ومن ثم عمل البرنامج أيضاً .&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;عمل البرنامج :            &lt;br /&gt;&lt;/font&gt;تم عمل البرنامج من خلال Visual Basic 6 مع قواعد بيانات من نوع Microsoft Access باستخدام تقنية ADO .           &lt;br /&gt;المهام الأساسية التي يقوم بها البرنامج .           &lt;br /&gt;&lt;font color="#ff0000"&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;صور من تنفيذ البرنامج وخصائصه :            &lt;br /&gt;&lt;/font&gt;1- اختيار العمل على أكثر من قاعدة بيانات والنسخ الإحتياطي والأمان .           &lt;br /&gt;2- عمليات تسجيل الدخول ، اضافة مستخدمين ، وموضوع الصلاحيات الخاص بكل مستخدم .&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/R1.jpg" border="0" /&gt;           &lt;br /&gt;صورة رقم 1&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;3- رسائل تحذيرية ومؤشرات مستمرة بخصوص كميات البضائع ، الفواتير المستحقة ، الشيكات وايصالات الأمانة والتحصيلات - الشاشة الرئيسية للبرنامج .&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/R2.jpg" border="0" /&gt;           &lt;br /&gt;صورة رقم 3 .&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;4- عرض كافة البضائع مع امكانية الطباعة ، التعديل والحذف وخلافه .&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/r3.jpg" border="0" /&gt;           &lt;br /&gt;صورة رقم 4&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;5- عمليات اضافة العملاء والموردين والبحث عنهم والتعديل وخلافه .&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/r4.jpg" border="0" /&gt;           &lt;br /&gt;صورة رقم 5&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;6- مستكشف المخازن وعمليات الجرد اليومي وكميات البضائع .          &lt;br /&gt;7- مستكشف وحدات البضائع بالسيريال الخاص بالقطعة .&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/r5.jpg" border="0" /&gt;           &lt;br /&gt;صورة رقم 7&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;8- نظام تحويلات الفروع وادارة الأسعار .          &lt;br /&gt;9- نظام كامل لادارة الفواتير الصادرة والواردة آجل ونقداً .&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/r6.jpg" border="0" /&gt;           &lt;br /&gt;صورة 9&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;10- نظام لادارة الشيكات وايصالات الأمانة ومواعيد الدفع والاستحقاق .&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/r7.jpg" border="0" /&gt;           &lt;br /&gt;صورة 10&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;11- نظام ادارة الجزاءات والمكآفات والحضور والغياب اليومي للموظفين .          &lt;br /&gt;12- نظام ادارة مدخلات ومخرجات غير تجارية للشركة .           &lt;br /&gt;13- نظام ادارة التحكم بعقود الموظفين ، وتقارير موظفي المبيعات .&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/r8.jpg" border="0" /&gt;           &lt;br /&gt;صورة 13&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;14- نظام تسليم الرواتب الشهرية والمكآفات والحوافز الإضافية .          &lt;br /&gt;15- نظام تسجيل عقود صيانة سنوية أو دائمة للشركة .           &lt;br /&gt;16- نظام ادارة عمليات الصيانة الدورية .&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/r9.jpg" border="0" /&gt;           &lt;br /&gt;صورة 16&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;17- نظام ادارة المرتجعات وصيانة المبيعات :&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/r10.jpg" border="0" /&gt;           &lt;br /&gt;صورة 17&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;18- العمل على الشبكة باستخدام سيرفر مركزي اضافة إلى Clients مع امكانية التواصل بين الموظفين من خلال البرنامج كبديل عن الاتصالات الهاتفية .&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/r11.jpg" border="0" /&gt;           &lt;br /&gt;صورة 18&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;19- خدمات اضافية مثل الآلة الحاسبة ، المفكرة ، المنبه ، التحكم بتنسيق البرنامج والخلفية والألوان ... الخ .&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;img alt="" src="http://hammada2091.googlepages.com/r12.jpg" border="0" /&gt;           &lt;br /&gt;صورة 19&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;في  الختام . البرنامج موجود على هذا الرابط للتحميل بالسورس كود للبرنامج . مع ملف تنفيذي&lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;a href="http://www.4shared.com/file/133226960/37119893/Rowad.html"&gt;&lt;font size="3"&gt;&lt;strong&gt;http://www.4shared.com/file/133226960/37119893/Rowad.html&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;        &lt;br /&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;أتمنى للجميع الاستفادة .          &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="right"&gt;&lt;font size="3"&gt;&lt;strong&gt;والله الموفق ...          &lt;br /&gt;والسلام عليكم ورحمة الله وبركاته .&lt;/strong&gt;&lt;/font&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/3119713907497569353-3066202073533115953?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/3066202073533115953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=3066202073533115953' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/3066202073533115953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/3066202073533115953'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/blog-post_15.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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3119713907497569353.post-4491777802393931767</id><published>2008-08-14T07:06:00.000-07:00</published><updated>2009-09-16T19:44:06.752-07:00</updated><title type='text'>كتاب استخدام DAO لبناء برنامج خطوة بخطوة</title><content type='html'>&lt;div dir=rtl&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;div align="center"&gt;&lt;span style="font-size:130%;"&gt;كيفية بناء برنامج لادراة السوبر ماركت ابتداء بالتحليل وانتهاء بالتوزيع مرورواً بمراحل التصميم والبرمجة المختلفة خطوة بخطوة&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:130%;"&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;div align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:130%;"&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;div align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:130%;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5234375173955975794" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_FUmkjQ7foTw/SKQ8fODE-nI/AAAAAAAAAM8/W2db3SNeYVo/s320/b2.jpg" border="0" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;span style="font-size:130%;"&gt;يمكن مراجعة الدروس والمراحل هنا &lt;/span&gt;&lt;/div&gt;&lt;p align="center"&gt;&lt;br /&gt; &lt;/p&gt;&lt;div align="center"&gt;&lt;a href="http://vb4arab.com/vb/showthread.php?t=757"&gt;&lt;span style="font-size:130%;"&gt;http://vb4arab.com/vb/showthread.php?t=757&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;p align="center"&gt;&lt;br /&gt; &lt;/p&gt;&lt;div align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;p align="center"&gt;&lt;br /&gt; &lt;/p&gt;&lt;div align="center"&gt;&lt;span style="font-size:130%;"&gt;ولتحميل الكتاب والملفات المرفقة&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;a href="http://www.kutub.info/library/open.php?cat=18&amp;book=739"&gt;الكتاب&lt;/a&gt;  &amp;  &lt;a href="http://vb4arab.com/vb/uploaded/3/01202497373.rar"&gt;ملف المشروع&lt;/a&gt;&lt;/span&gt;&lt;/div&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/3119713907497569353-4491777802393931767?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/4491777802393931767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=4491777802393931767' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/4491777802393931767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/4491777802393931767'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/dao.html' title='كتاب استخدام DAO لبناء برنامج خطوة بخطوة'/><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/_FUmkjQ7foTw/SKQ8fODE-nI/AAAAAAAAAM8/W2db3SNeYVo/s72-c/b2.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3119713907497569353.post-5196288606860341268</id><published>2008-08-14T06:57:00.000-07:00</published><updated>2009-09-16T19:45:00.546-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Basic 6.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Books'/><title type='text'>كتاب تعليم الحاسب الآلي للمبتدئين - أساسيات الهاردوير ونظم التشغيل وأوفيس</title><content type='html'>&lt;div dir="rtl"&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;span style="font-size:130%;"&gt;كتاب بسيط في الكومبيوتر للمبتدئين ، شاركت بيه في المسابقة الأولى لتأليف الكتب في منتدى فيجوال بيسك للعرب وفزت بالمركز الأول .&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:130%;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5234373925591860242" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_FUmkjQ7foTw/SKQ7Wjh4RBI/AAAAAAAAAM0/In9cW76IZ9g/s320/b1.jpg" border="0" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;p align="center"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;يحتوي الكتاب على مبادئ الحاسب الآلي ، ويشتمل على شقي الحاسب ، العتاد ، والبرمجيات ، وهو موجه أساساً إلى المبتدئين - يشمل تاريخ الحاسب الآلي - تركيب الحاسب الآلي - اساسيات النظم الثنائية - نظم التشغيل وويندوز XP بتفصيل - التطبيقات المكتبية Microsoft Office&lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;br /&gt;&lt;a href="http://www.kutub.info/library/open.php?cat=10&amp;book=1844"&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/3119713907497569353-5196288606860341268?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/5196288606860341268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=5196288606860341268' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/5196288606860341268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/5196288606860341268'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/blog-post_8627.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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_FUmkjQ7foTw/SKQ7Wjh4RBI/AAAAAAAAAM0/In9cW76IZ9g/s72-c/b1.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3119713907497569353.post-6265880049346733902</id><published>2008-08-14T06:50:00.000-07:00</published><updated>2008-08-14T06:57:32.115-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Magazine'/><title type='text'>العدد الأول من مجلة منتدى فيجوال بيسك للعرب</title><content type='html'>&lt;div dir="rtl"&gt;&lt;strong&gt;العدد الأول من المجلة الشهرية لمنتدى فيجوال بيسك للعرب&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.kutub.info/library/open.php?cat=19&amp;amp;book=1663"&gt;&lt;br /&gt;&lt;/div&gt;&lt;p dir="rtl" align="center"&gt;&lt;img alt="صورة الغلاف" src="http://vb4arab.com/vb/uploaded/59/11210677224.gif" /&gt;&lt;/p&gt;&lt;div dir="rtl"&gt; &lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.kutub.info/library/open.php?cat=19&amp;amp;book=1663"&gt;&lt;strong&gt;للتنزيل اضغط هنا&lt;/strong&gt;&lt;/a&gt; &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;العدد الأول كان باشراف : وليد بوالطمين&lt;br /&gt;ولي عدة مشاركات في المجلة&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3119713907497569353-6265880049346733902?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/6265880049346733902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=6265880049346733902' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/6265880049346733902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/6265880049346733902'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/blog-post_14.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-3119713907497569353.post-4152135548695305423</id><published>2008-08-13T07:32:00.001-07:00</published><updated>2009-09-16T19:46:18.426-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Physical Computing'/><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://www.kutub.info/library/open.php?cat=21&amp;book=1824"&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/3119713907497569353-4152135548695305423?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/4152135548695305423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=4152135548695305423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/4152135548695305423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/4152135548695305423'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/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-3119713907497569353.post-7810888887301353846</id><published>2008-08-13T07:30:00.002-07:00</published><updated>2008-08-13T07:31:18.611-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;span class="fullpost"&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;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3119713907497569353-7810888887301353846?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/7810888887301353846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=7810888887301353846' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/7810888887301353846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/7810888887301353846'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/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-3119713907497569353.post-4788237982549352675</id><published>2008-08-13T07:30:00.001-07:00</published><updated>2009-09-16T19:45:47.941-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://www.kutub.info/library/open.php?cat=51&amp;book=738"&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/3119713907497569353-4788237982549352675?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/4788237982549352675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=4788237982549352675' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/4788237982549352675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/4788237982549352675'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3119713907497569353.post-3850376274885474779</id><published>2008-08-13T07:24:00.000-07:00</published><updated>2008-08-13T07:25:30.402-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><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;span class="fullpost"&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;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3119713907497569353-3850376274885474779?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/3850376274885474779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=3850376274885474779' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/3850376274885474779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/3850376274885474779'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/blog-post_2445.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-3119713907497569353.post-4962543494364213793</id><published>2008-08-13T07:23:00.000-07:00</published><updated>2008-08-15T05:07:52.468-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/3119713907497569353-4962543494364213793?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/4962543494364213793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=4962543494364213793' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/4962543494364213793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/4962543494364213793'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/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-3119713907497569353.post-7445314497126685483</id><published>2008-08-13T07:22:00.001-07:00</published><updated>2008-08-13T07:23:20.731-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;span class="fullpost"&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;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3119713907497569353-7445314497126685483?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/7445314497126685483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=7445314497126685483' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/7445314497126685483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/7445314497126685483'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/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-3119713907497569353.post-5444319350592471254</id><published>2008-08-13T07:21:00.001-07:00</published><updated>2008-08-13T07:21:43.804-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Design Patterns'/><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/3119713907497569353-5444319350592471254?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/5444319350592471254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=5444319350592471254' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/5444319350592471254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/5444319350592471254'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/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-3119713907497569353.post-5969340325499190568</id><published>2008-08-13T07:19:00.000-07:00</published><updated>2009-09-16T19:39:12.341-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://i37.tinypic.com/20gi3h4.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://i35.tinypic.com/23h66uw.jpg" border="0" /&gt; &lt;img alt="" src="http://i33.tinypic.com/s474na.jpg" border="0" /&gt; &lt;img alt="" src="http://i35.tinypic.com/2s16lav.jpg" border="0" /&gt; &lt;img alt="" src="http://i38.tinypic.com/2ugjjtw.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://i37.tinypic.com/wbdrwo.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://i33.tinypic.com/jgtnhs.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://i38.tinypic.com/2mfkvaf.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://i37.tinypic.com/2cerbs0.jpg" border="0" /&gt;&lt;img alt="" src="http://i38.tinypic.com/19o7e1.jpg" border="0" /&gt;&lt;img alt="" src="http://i34.tinypic.com/2icbc61.jpg" border="0" /&gt;&lt;img alt="" src="http://i34.tinypic.com/f2u2o9.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://i36.tinypic.com/2rp62wp.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://i33.tinypic.com/1zwnknr.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://i35.tinypic.com/169pbf4.jpg" border="0" /&gt;&lt;img alt="" src="http://i36.tinypic.com/15ybwxt.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://i34.tinypic.com/2ekj3es.jpg" border="0" /&gt; &lt;img alt="" src="http://i36.tinypic.com/ffaeqb.jpg" border="0" /&gt;&lt;br /&gt;&lt;img alt="" src="http://i33.tinypic.com/auwl5c.jpg" border="0" /&gt; &lt;img alt="" src="http://i37.tinypic.com/2poxr1s.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://i35.tinypic.com/15q2qgm.jpg" border="0" /&gt; &lt;img alt="" src="http://i37.tinypic.com/20sa8g2.jpg" border="0" /&gt; &lt;img alt="" src="http://i33.tinypic.com/29ptao7.jpg" border="0" /&gt;&lt;br /&gt;&lt;img alt="" src="http://i37.tinypic.com/a0ib77.jpg" border="0" /&gt; &lt;img alt="" src="http://i35.tinypic.com/1zwnuz7.jpg" border="0" /&gt; &lt;img alt="" src="http://i36.tinypic.com/2wg80sn.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://www.4shared.com/file/133227955/d4ea58ba/Final_Documentation.html"&gt;&lt;span style="font-size:130%;"&gt;http://www.4shared.com/file/133227955/d4ea58ba/Final_Documentation.html&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/3119713907497569353-5969340325499190568?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/5969340325499190568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=5969340325499190568' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/5969340325499190568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/5969340325499190568'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i37.tinypic.com/20gi3h4_th.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3119713907497569353.post-5666697138098389946</id><published>2008-08-13T07:18:00.001-07:00</published><updated>2008-08-13T07:18:56.935-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/3119713907497569353-5666697138098389946?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/5666697138098389946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=5666697138098389946' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/5666697138098389946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/5666697138098389946'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/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-3119713907497569353.post-1337394465877845830</id><published>2008-08-13T07:17:00.001-07:00</published><updated>2008-08-13T07:17:22.333-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/3119713907497569353-1337394465877845830?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/1337394465877845830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=1337394465877845830' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/1337394465877845830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/1337394465877845830'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/singleton-design-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-3119713907497569353.post-3447248473533178322</id><published>2008-08-13T07:16:00.001-07:00</published><updated>2008-08-13T07:16:31.964-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/3119713907497569353-3447248473533178322?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/3447248473533178322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=3447248473533178322' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/3447248473533178322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/3447248473533178322'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/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-3119713907497569353.post-5475773142404644873</id><published>2008-08-13T07:14:00.001-07:00</published><updated>2008-08-13T07:14:47.571-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MSDN'/><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/3119713907497569353-5475773142404644873?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/5475773142404644873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=5475773142404644873' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/5475773142404644873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/5475773142404644873'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/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-3119713907497569353.post-6300865298260804211</id><published>2008-08-13T06:21:00.001-07:00</published><updated>2008-08-13T06:53:59.072-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/3119713907497569353-6300865298260804211?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/6300865298260804211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=6300865298260804211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/6300865298260804211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/6300865298260804211'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/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-3119713907497569353.post-3136482976491130061</id><published>2008-08-13T06:19:00.000-07:00</published><updated>2008-08-13T06:53:46.922-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/3119713907497569353-3136482976491130061?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/3136482976491130061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=3136482976491130061' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/3136482976491130061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/3136482976491130061'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/blog-post_13.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-3119713907497569353.post-7669135747610462849</id><published>2008-08-11T14:00:00.000-07:00</published><updated>2008-08-13T06:53:22.133-07:00</updated><title type='text'>بداية المدونة .. السلام عليكم</title><content type='html'>&lt;div align="center"&gt;&lt;span style="font-size:130%;color:#006600;"&gt;بسم الله الرحمن الرحيم&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-size:130%;color:#006600;"&gt;السلام عليكم ورحمة الله وبركاته&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-size:130%;color:#006600;"&gt;&lt;/span&gt; &lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-size:130%;"&gt;مجرد مدونة جديدة ، بس مش شخصية مختصة بالتكنكال والمقالات والدروس اللي بكتبها باللغة العربية&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-size:130%;"&gt;أتمنى أن المدونة تكون مفيدة ، وأتمنى لك زيارة ممتعة&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;span style="font-size:130%;"&gt;بلوجي الشخصي&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;a href="http://www.blogger.com/AhmedGamal-Space.blogspot.com"&gt;&lt;span style="font-size:130%;"&gt;AhmedGamal-Space.blogspot.com&lt;/span&gt;&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/3119713907497569353-7669135747610462849?l=ahmedgamal-technical.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ahmedgamal-technical.blogspot.com/feeds/7669135747610462849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3119713907497569353&amp;postID=7669135747610462849' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/7669135747610462849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3119713907497569353/posts/default/7669135747610462849'/><link rel='alternate' type='text/html' href='http://ahmedgamal-technical.blogspot.com/2008/08/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></feed>
