دعوة إلى إثراء المحتوى العربي في Wikipedia

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

قال تعالى : “إقرأ باسم ربك الذي خلق * خلق الإنسان من علق * اقرأ وربك الاكرم * الذي علم بالقلم * علم الإنسان ما لم يعلم”

قبل عدة ايام شاهدت لقاءاً مع الدكتور مصطفى محمود , واعجبتني كلمة قالها مع انه الف حوالي 80 كتاب معظمها في الدفاع عن الاسلام وتأملات عقلانية فيه , بالإضافة إلى 400 حلقة من برنامجه الشهير العلم والإيمان , سمعته يقول “ماذا سأقول لله تعالى عندما أقابله بشوية كلام كتبته” , فإذا كان هو يقول هذا فماذا نقول نحن .. ؟!

من منا لا يشارك في المنتديات , ومن منا لا يتعلم أشياء جديدة كل يوم (أسبوع أو شهر ..).. لكن كم منا من لا يعرف أين يبحث ولا كيف يبحث ولا كيف يسأل , وهؤلاء للأسف هم الأغلبية في عالمنا “النامي” , من خلال تجربتي البسيطة اكتشفت ان السعادة تزيد بالمشاركة , وأيضاً العلم يزيد بالمشاركة , بغض النظر عن إجابة السائلين في المنتديات أو غيره , انا اقصد نشر العلم لوجه الله -تعالى- دون انتظار السؤال .

المشكلة ان كثير منا (اتكلم بصيغة الجمع عن المبرمجين والمصممين , والمتعلمين بشكل عام) يكتب مواضيعاً وأجابات في المنتديات او غيره , لكنها للأسف لا تصل إلى عدد كبير من المشاهدين لأنها تكون مقتصرة على رواد المنتدى .

الفكرة باختصار هي كتابة وإثراء المحتوى العلمي في ويكيبيديا العربية , ولدي طريقة ستعجبك لذلك 🙂

كلما قرأت موضوعاً في ويكيبيديا الإنجليزية , حاول ان تكتبه في ويكيبيديا العربية , لا يجب ان تترجمه كله , أو تكتبه كله , بل اكتب فقط ما فهمته , حتى لو كان سطراً واحداً . ولهذا عدة فوائد :

1- الأجر من الله سبحانه وتعالى , فانت سعيت في طلب العلم وسعيت في تعليمه للناس

2- انت قمت بإنجاز عمل عظيم , امتثلت فيه امر الله والرسول صلى الله عليه وسلم , ونيتك خالصة لوجه الله

3- انت تساهم في نفع الأمة كلها , فكم من شخص ليس لديه علم بلغات اجنبية أتحت له الوصول إلى المعلومة باللغة العربية من موقع مشهور مثل ويكيبيديا يرتاده الالاف كل يوم

4- على المستوى الشخصي انت تعلمت شيء جديد

5- عملياً وعلمياً , يعتبر شرح المعلومة سواء بالكلام او الكتابة تثبيتاً لها , وأرسخ لها في الذهن ويزيد من فهمك لها

6- تأكد ان هناك من سيدعوا لك , بطريقة أو بأخرى , عندما يستفيد مما كتبته , حتى لو لم يعرفك

7- من وصلته كتاباتك سيوصلها بإذن الله إلى شخص آخر , ومنه إلى شخص ثالث وهكذا .. تخيل كم يصلك من حسنات وكم شخصاً نفعته

8- كما ستنفع الناس سينفعك الناس , كما ستعلم الناس وتوفر لهم المعلومة التي تصعب عليهم , ستجد بإذن الله من يوفر لك المعلومة التي تصعب عليك

9- ان هذا يعتبر من شكر النعمة , نعمة العلم التي أنعم الله -سبحانه- عليك بها , وهو القائل “وإذ تعهد ربكم لإن شكرتم لأزيدنكم”

10- ان نفعها يستمر لك بعد موتك , قال رسول الله صلى الله عليه وسلم “إذا مات ابن ادم انقطع عمله إلا من ثلاث ..” وذكر منها “علم ينتفع به”

الآن نأتي للسلبيات , واقصد الحجج التي يقنع بها البعض نفسه أو يحاول بثها لغيره :

1- لا يوجد وقت .. الوقت الذي قضيته في قراءة هذا الموضوع مثلاً , أو ستقضيه في كتابة موضوع في منتدى ما يمكنك أن تقضيه في تعلم شيء جديد ثم كتابة بضعة سطور في ويكيبيديا التي يصل إليها عدد أكبر من الزوار وتكون أفدت عدد أكبر من الناس

2- لا اعرف كيف أحرر موضوعاً في ويكيبيديا .. بسيطة , ادخل على هذا الرابط

3- المواضيع التي أقرؤها متخصصة جداً لا أعتقد ان هناك من سيبحث عنها .. وما المانع ؟ اعمل الخير وارميه على الانترنت كما يقال 🙂

4- لا أستطيع الترجمة بشكل دقيق .. ولا يهمك , استعمل مترجم جوجل ثم قم بإعادة صياغة النص بشكل مناسب في بضع دقائق ليصبح جاهزاً للنشر

5- لا أحد سيشكرني على هذا , أنا هكذا اقدم خدمات للناس مجاناً .. لو كل شخص خدم المجتمع خدمة مجاناً ما دفع أي منا مالاً في مقابل مثل هذه الأعمال

6- لماذا لا يتعودون على البحث بأنفسهم , لقد اكتسبت هذه المهارة بعد عناء .. تذكر أن الذي هداك لهذه المنتديات وهذه “المهارات” يحب أن تنفع بها إخوانك المسلمين .

7- لن يجدي مع هذه الشعوب العربية أي خير , أنا أعرفهم جيداً ! .. وما أدراك .. تذكر قوله صلى الله عليه وسلم في اهل الطائف عندما اهانوه وعُرض عليه أن يهلكهم إذا أراد : “لعل الله يخرج من أصلابهم من يقول لا إله إلا الله”

8- لا أدري أي موضوع أختار .. اختر أي موضوع لا تفهم فيه شيئاً ولا تعرف عنه شيئاً , ابحث عنه وتعلمه ثم علمه لغيرك .

9- آه .. أمممم .. أخ .. لا أدري .. لا أستطيع .. اعتقد ….. استعذ بالله من الشيطان الرجيم 🙂 فقد قال الله تعالى “فإذا قرأت القرآن فاستعذ بالله من الشيطان الرجيم * إنه ليس له سلطان على الذين آمنوا وعلى ربهم يتوكلون * إنما سلطانه على الذين يتولونه والذين هم مشركون”

أرجوا أن اكون قد أفدتكم ولو بجملة واحدة , وإذا أعجبك الموضوع أرجوا أن تنشره ليعم النفع (مع ذكر المصدر :)) , وإذا لم يعجبك فلن أمنع أي انتقاد بناء بل سأوافق عليه وأرد عليه إن شاء الله 🙂

وسأبدأ بنفسي فقد قرأت هذا الموضوع قبل فترة , وسأبدأ بترجمته إن شاء الله

المدخل إلى تصميم وبرمجة الألعاب : كيف أبدأ ؟

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

نظرأ لكثرة تردد هذا السؤال , وغيابه عن بعض المبتدئين و ظهور كثير من محركات الالعاب في الوقت الحاضر رأيت مناقشته في المدونة .

هناك العديد من الطرق تصلح لبرمجة وتصميم الألعاب ,إما بغحدى لغات البرمجة واستخدام مكتبات رسوميات مثل OpenGL أو عن طريق برامج جاهزة مثل Flash , لكن المهم هو اختيارك لأي من هذه الطرق لتناسب مستواك واحتياجات اللعبة التي تريد إنشاءها .

أولاً :لماذا قلت تصميم و برمجة , أليسا شيئاً واحداً ؟

لا , هما مصطلحان مختلفان , لكن قد يقوم بمهما شخص واحد .

البرمجة Game Programming : كتابة الكود بإحدى لغات البرمجة , الكود الذي يتحكم مثلاً بالجاذبية ,التعامل مع مكتبة الرسوميات ..

التصميم Game Design : هي -بشكل عام- تصميم طريقة اللعب , المراحل , المهمات , القصة . كل ذلك على بالرسم والكتابة فقط دون أدنى تدخل في عملية البرمجة .

المصمم يحدد وظيفة الكود الذي يقوم المبرمج بكتابته . مثلاً المصمم يحدد ان اللعبة تطلب نوعاً معيناً من القفزات العالية , فيقوم المبرمج بكتابة كود يتعامل مع الجاذبية ومع حركة اللاعب لتحقيق القفزة المطلوبة .

أيهما أسهل ؟ كلاهما صعب ! وكلاهما يحتاج للآخر , المبرمج لا يستطيع كتابة كود بلا تصميم محكم, والمصمم لا يستطيع تحويل أفكاره إلى لعبة بدون مبرمج , وعلى كل منهم العمل في كلا المجالين في فترة ما من حياته المهنية , حتى لو لم تكن طويلة فإنها تساعد على التواصل بين الاثنين وتساعد المصمم على فهم ما سيطلبه من المبرمج وإمكانية تنفيذه , وتساعد المبرمج على فهم ما يطلبه منه المصمم وكيفية تنفيذه.

ثانياً : الفرق بين أساليب تصميم وبرمجة الالعاب حالياً

الطريقة الأولى : البرمجة مباشرة باستخدام لغة برمجة C++ أو #C مع مكتبة رسوميات (OpenGL , DirectX) ومكتبة فيزياء (Newton , PhysX) , وبالطبع ستحتاج معرفة بكيفية بناء محرك لعبة Game Engine Structure , وتمكن جيد من لغة برمجة قوية . في أغلب الأحيان بمجرد إنشائك لمحرك اللعبة يصبح معظم اللعبة قد انتهى . معظم شركات الألعاب تنشئ محركاً واحداً تصنع به ألعابها كلها (يمكنك تصور محرك الألعاب كبرنامج مثل Flash , لكن بإمكانات تناسب الشركة المصنعة) , فمثلاً شركة Valve لديها محرك Source الذي أنشأت به Half-life و Portalبأجزائهما  دون حاجة إلى عمل محرك مستقل لكل لعبة , وأيضاً هو متاح للمطورين لتصميم مراحل خاصة بهم يمكن لعبها في Half-Life و Portal .

هذه الطريقة تصلح -حالياً- للألعاب التي تحتاج دقة عالية جداً في طريقة اللعب والرسوميات بحيث لا تتوفر في أي من محركات الألعاب المتاحة حالياً , أي أنها جيدة للشركات العملاقة التي تريد التميز عن بقية الشركات , أو للألعاب البسيطة التي لا تحتاج محركاتها إلى مجهودات كبيرة -غالباً للألعاب ثنائية الأبعاد- .

ولكن هذه الطريقة تستهلك وقتاً أكبر نسبياً من الطريقة الثانية , وهذا الوقت هو اللازم لبناء محرك اللعبة , ومن وجهة نظري تصلح لمن يريد أن يصبح مبرمج ألعاب لأن عليه التعامل مع محرك اللعبة , أما للمصمم فمعظمها تضييع وقت .

الطريقة الثانية : استخدام محركات الألعاب الجاهزة , تحت شعار لماذا تعيد اختراع العجلة ؟! وهي الاستعانة بمحركات ألعاب عملاقة جاهزة ومتاحة للاستخدام , بالطبع مقابل أجر مادي زهيد بصور تختلف من محرك لآخر , أي انك ستهتم في معظم الاحيان بالتصميم , ولن تشغل رأسك بالأمور البرمجية (إنشاء كاميرات من الصفر , أو التواصل مع مكتبة الرسوميات مباشرة ..) لأن هذه وظيفة المحرك نفسه , مع ملاحظة أنه يمكنك الوصول لكل هذا وتعديل معظمه وهذا يحصل في أحيان قليلة جداً .

هذه الطريقة تتضمن في بعض الأحيان بعض الخبرة البرمجية مع إحدى لغات البرمجة التي يدعمها المحرك , ليكون لديك قوة أكبر , بالتالي توفر الوقت لكلاً من المبرمج والمصمم -وأحياناً لن تحتاج إلى مبرمج بالمرة :)- وتختصر عليك الوقت والجهد .

ثالثاً : الفرق بين محركات الألعاب المشهورة :

GameMaker

وهو محرك ألعاب مصمم ليناسب الألعاب 2D بشكل أساسي , وهو سهل جداً ولا يحتاج معرفة برمجية إلا في حالات متقدمة , لأن الأوامر البرمجية ممثلة بصور تقوم بسحبها وإلقائها في المحرر , لفهم أوضح شاهد هذا الفيديو

المحرك يكلف 39.99$ للنسخة الكاملة , لكن يمكنك استخدام النسخة العادية بدون مشاكل (باستثناء اختفاء بعض الميزات المتقدمة , وعرض رسالة دعاية للمحرك على ألعابك) وهناك نسخة من المحرك تدعم HTML5 قيمتها 99$ .

التعامل مع عناصر اللعبة (أصوات , صور ..) مباشر وسهل , ويأتي مع النسخة العادية مثالان مشروحان يوضحان كيفية التعامل مع أساسيات البرنامج .

Unity

وهو يعتبر أفضل المحركات حالياً للمبتدئين , له مزايا قوية , ويوفر ترقيات -غير مجانية- لأنظمة iOS و Android , ويدعم JavaScript و #C كما أنه يمكن لعب ألعاب Unity من خلال المتصفح مباشرة من خلال إضافة خاصة .

وهو بالطبع مجاني , لكن النسخة المتخصصة Pro لها مزايا متقدمة ولا تعرض رسالة البرنامج عن بداية اللعبة لكنها بقيمة 1500$ , ومن وجهة نظري أن انتشار الهواتف النقالة والذكية حالياً وسهولة وإمكانات المحرك تجعل السعر يهون أمام هذه المميزات . لم أتعامل معه كثيراً حتى الآن , لكن يبدو واعداً .

UDK Unreal Development Kit

هذا المحرك هو الذي تم استعماله لإنشاء Mass Effect 2 , Batman Arkham City , Batman Arkham Asylum , BioShock 2 هذا غير Gears of War و Unreal Tournament أعتقد أن واحدة فقط منهم تكفي لتقتنع أن المحرك قوي جداً 🙂

UDK مجاني , إلا لو قررت بيع ألعابك فيجب دفع 99$ , وعندما يصل صافي ربحك إلى 50000$ سيكون عليك دفع قيمة إضافية , لا تخف تابع معي المثال التالي من موقع المحرك :

  1. يمكنك إنشاء أي لعبة لاستعمالك الشخصي مجانا
  2. إذا أردت بيعها سيكون عليك دفع 99$ ثمناً للرخصة التجارية
  3. بفرض أنك قمت ببيع 15000 نسخة كل منها بقيمة 4.99$ , يكون إجمالي سعر البيع في السوق Retail هو 74850$
  4. لكن السوق (وليس UDK) سوف ياخذ نسبة من هذه المبيعات 30% تقريباً , فيصبح الصافي الذي يصلك هو 52395$
  5. ضع أول 50000$ في جيبك , وادفع 25% من الباقي (لصالح UDK) أي ستدفع 25% من 2395 والذي يساوي 598$ تقريباً
  6. الآن أصبح إجمالي ما قمت بدفعه (خطوة 2 و 5) 697$ تقريباً , والذي يساوي 1% فقط من إجمالي سعر البيع !

المحرك فعلاً يستحق , وهو قوي جداً ولا يحتاج معرفة برمجية -إلا في حالات متقدمة بالطبع – وهو يستعمل طريقة مرئية للبرمجة , أشبه بنظام العلاقات في MsAccess 🙂 لكنه أكثر تطوراً طبعاً ويعطيك تحكماً في كل شيء . ويمكنك من التحكم في حركة الأجسام بطريقة أشبه ببرنامج Flash (لكن بالطبع أكثر تقدماً وقوة) .

CryEngine

الحقيقة لم أتعامل معه .. , لكن يكفي ان من الألعاب المطورة به  Crysis 2 والتي كانت ثورة في مجال الرسوميات وأصبحت الان مقياساً تقاس به قوة أجهزة الألعاب توضح مركز قوة هذا المحرك في مجال الرسوميات . والمحرك لا يقتصر على الألعاب فقط وإنما الأفلام أيضاً , وهو مجاني -للاستعمالات غير التجارية- .

أعتقد انه أكثر المحركات تميزاً , لكن من تجارب بعض المستخدمين ذكروا أنه يتطلب ترخيصاً غالياً بعض الشيء , لكن عليك في كل حال أن تتصل بشركة Crytek وتخبرهم بخطتك وإمكاناتك ليعطوك السعر المناسب . أما بالنسبة للمبرمجين المنفردين فهو يتطلب 20% من مبيعات اللعبة , بشكل مقارب لـUDK

XNA

حقيقة لم أتعامل مع هذا المحرك , لكنه يعتبر IDE يستخدم #C و DirectX لتطوير الألعاب , وبالطبع يحتاج إلى خبرة في #C و OOP . يمكنك عمل ألعاب تجارية على PC أو غير تجارية بالنسبة لمنصة XBox360 . ومن خلال رفع ألعابك فيما يسمى Creators Club يمكنك بيعها بخصم 30% من سعر البيع .

أنصح بقراءة هذه الصفحة عن المحرك لعدم خبرتي به .

أشكال أخرى من المحركات :

Map Editors

هذا النوع من المحركات يكون غالباً مرفق مع الألعاب الاستراتيجية (مثل StarCraft) , وهو يوفر إمكانات تصميم فقط , بمعنى ان جميع تفاصيل اللعب ستكون على محرك اللعبة الأصلي وانت ما عليك إلا تصميم الخريطة التي سيقوم المحرك بعرضها , لكنها تعتبر بداية بسيطة و جيدة جداً قبل الدخول في عالم تصميم الألعاب , وأيضاً للمبرمجين لفهم بعض عناصر عمليات التصميم

العوامل الواجب مراعاتها عند اختيار المحرك :

  1. عليك تحديد وظيفتك مصمم , مبرمج أو كليهما -مؤقتاً- , وتحديد إمكاناتك في كل منهما , إتقانك للبرمجة وقدراتك الفنية عامل مهم لتحديد ذلك .
  2. إمكانيات اللعبة (وهذا يشمل الوقت كعامل أساسي) التي تريد البدء بها , ونصيحة مني إياك البدء بألعاب كبيرة , لأنك حتماً ستفشل , اعرف ان هذا قد يكون محبطاً لكنها الحقيقة , لا تتوقع مثلاً عمل ألعاب مثل GTA أو Skyrim ؛ لأن من يقوم عليها شركات كبرى من مصممين وكتاب ومبرمجين ورسامين ..الخ وتحتاج منهم إلى سنين من العمل , وتحوي أخطاءاً وعيوباً بعد كل ذلك ! , حاول البدء بلعبة بسيطة , سهلة التصميم والتنفيذ ولا تأخذ وقتاً , لهدف واحد هو أن تتعرف على عالم الألعاب جيداً كبداية وتعتاد على المحرك الذي تستخدمه , وكل شيء يحتاج إلى تدرج لا تقلق .
  3. الظروف المالية , هل يتسحق Unity مبلغ 1500$ للإمكانات المتقدمة التي يوفرها , وإزالة نافذته SplashScreen من ألعابك ؟ أم تستخدم UDK ..
  4. قدرتك على إتقان المحرك , من حيث توفر مصادر الشرح والدعم للمحرك , وقدرتك على التعلم الذاتي من خلال التجربة ونظام المساعدة المرفق ..
  5. المصادر الخارجية , مثلاً دقة الصوت والرسومات التي يمكنك توفيرها والتي تريد أن تصل لعبتك إليها

والله الموفق 🙂

التعامل مع الحافظة ClipBoard

بسم الله الرحمن الرحيم

الحافظة في البداية هي  مساحة في الذاكرة , يتم حجزها لوضع البيانات المؤقتة للتطبيقات التي تعمل في الوقت الحالي . وهذه البيانات مثل الكلمات التي تم نسخها من خلال أمر “نسخ” في أي محرر نصوص , أو الصورة التي تلتقطها عندما تضغط زر PrintScreen , فهذه كلها يتم تخزينها غالباً في ذاكرة الجهاز .

يمكنك أن ترى ما تحتويه الحافظة من خلال الخطوات التالية :

  1. الآن , اذهب إلى Start ثم Run
  2. اكتب “clipbrd” بدون علامات اقتباس
  3. ستظهر نافذة الحافظة ClipBoard , وسترى فيها آخر ما قمت بنسخه
  4. قم مثلاً بضغط زر PrintScreen ولاحظ ما يحدث

الحافظة في دلفي .

منطقياً .. لاستعمال الحافظة في دلفي يجب علينا أن نعرفها للبرنامج بإضافة الوحدة Clipbrd

الآن , اكتب كلمة ClipBoard ثم ضع بعدها نقطة , ستظهر لك الآن قائمة بخصائص الكائن Clipboard .

التعامل مع الحافظة :

الخاصية التي تحتوي على محتويات الحافظة هي AsText , فمثلاً لنقل محتويات مربع نص إلى مربع آخر :

Clipboard.AsText := Edit1.Text ;

Edit2.Text := Clipboard.AsText ;

ملاحظة : هذه التدوينة مسودة منذ أكثر من 3 سنوات (منذ 2008 :D)

جائزة نوبل في الفيزياء 2011

بسم الله الرحمن الرحيم

Official Nobel Prize in Physics 2011

السلام عليكم ورحمة الله وبركاته ..

هذا العام .. بالأمس القريب , حصل 3 علماء فيزياء (Saul Perlmutter , Brian P. Schmidt , Adam G. Riess) على جائزة نوبل في الفيزياء , لاكتشافهم أن اتساع الكون في تسارع مستمر , بعد مراقبتهم ودراستهم لمستعر (Supernova) بعيد عن الأرض .

(المستعر العملاق Supernova : هو إنفجار نجمي هائل , يطلق إشعاعات ضوئية تضيء مجرة بأسرها , قبل أن يتلاشى خلال بضعة شهور أو أسابيع , خلال هذه الفترة يطلق هذا الانفجار طاقة تساوي مقدار طاقة الشمس التي تطلقا طوال عمرها , ويتسبب أيضاً في تشتيت مكونات النجم المنفجر , وانطلاقها بسرعة تصل إلى 10% من سرعة الضوء !)

في البداية كان متوقع أن الاتساع الكوني في تباطؤ , لكن في عام 1998 اكتشف العلماء ما يناقض هذه التوقعات , وهو أن التسارع في ازدياد , وأنه قد بدأ منذ قرابة 4.5 مليار سنة -أي تقريباً نفس الوقت الذي تكون فيه نظامنا الشمسي- . يعتقد أيضاً أن السبب وراء ذلك هو ما يسمى Dark Energy وهو شكل غير مرئي من الطاقة يشكل ثلاث أرباع كتلة الطاقة في الكون , ولا يعرف العلماء عنها شيئاً حتى الآن !

بعض النظريات ترى أن الطاقة المظلمة Dark Energy منتشرة في كل الكون , البعض الآخر يرى ان كثافتها تختلف من منطقة إلى أخرى , وأخرى ترى أن لها علاقة بالجاذبية وحقيقة عملها .

و لمحاولة دراسة كل هذه الظواهر العظيمة , سيحتاج العلماء والباحثون وعلماء الفضاء إلى أجهزة متطورة جداً -وغالية جداً !-  يمكنها رصد ومراقبة هذه الظواهر على بعد ملايين الكيومترات من الأرض .

فسبحان الله القائل : “والسماء بنيناها بأيد وإنا لموسعون” (الذاريات 47) 🙂

المصادر :
http://www.sciencenews.org/view/generic/id/334907/title/Cosmic_acceleration_discovery_wins_physics_Nobel
http://en.wikipedia.org/wiki/Supernova

Syntax Error in FROM clause with Access 2010

بسم الله الرحمن الرحيم

كل عام وانتم بخير ..

بعد عناء طويل أنهيت تحميل ملف من الانترنت , حجمه 7 جيجا بايت . المشكلة أنني فوجئت أن الملف لا يعمل , ويظهر رسالة خطأ غربية تقول ان هناك خطأ في الملف (لكن أين ؟!!!)

حاولت بجميع الطرق الممكنة , لعدة ساعات ولكن دون جدوى .

اكتشفت لاحقاً .. ان اسم المجلد الذي يحتوي على هذا الملف يحوي حرفاً روسياً ! قمت بإعادة تسمية المجلد , والحمد لله عمل بنجاح !

قبل عدة أيام .. كنت اعمل على مشروع قاعدة بيانات , وكان من الأيسر لي تسمية اسماء الجداول بأرقام مع الرمز /

قمت بربط البرنامج بقاعدة البيانات بطريقة صحيحة , ومجربة في برامجي الأخرى , ولكن دائماً ما كانت تظهر رسالة Syntax Error in FROM clause

اعتقدت في البداية أن المشكلة في طريقة الربط , لأنها المرة الأولى التي استعمل فيها Access 2010 , وبعد عدة محاولات تركت العمل على هذا البرنامج

(في الربط مع Access 2003 كنت أستعمل Jet 4.0 OLE DB –في خاصية ConnectionString لأداة ADOTable- , لكن اتضح انه مع Access 2010 اللاحقة accdb- يجب استعمال Office 12.0 Access Database Engine OLE DB)

قبل قليل والحمد لله .. اكتشفت ان الخطأ في المشروع كان في قاعدة البيانات نفسها .. وبالأخص في الرمز / , بمجرد إزالته (وتأكيد اسم الجدول الجديد في ADOTable في برنامجي) عمل بنجاح

الغريب أن Access سمح بوجود هذا الرمز في الجدول , و أداة  ADOTable يظهر اسم الجدول (مع وجود الرمز /) في خاصية Table . هذا هو السبب الذي جعلني أتأخر في تحديد الخطأ وأدى لتعطل مشروعي وإضاعة وقت في تأليف حلول إبداعية 🙂

أردت التنويه لهذه المشكلة , فقد تخفى بعض المبرمجين (خاصة عند العمل لوقت متأخر 😉

0x00000116: VIDEO_TDR_ERROR Solution

بسم الله الرحمن الرحيم

 Hi all ..

I have encountered a very annoying BSOD (Blue Screen of Death) every time I play StarCraft II (or few other game) , with my Acer Aspire 5750G .

I was surprised when I knew that was because of my video card , since I was sure my laptop is still new ,my video card is not that bad and I could play StarCraft II on Ultra settings before , for a while .

The true cause of this trouble is Overheat , there are few reasons for this :

1. You are using the laptop on the wrong surface , like a Bed or a Carpet . Try using the laptop on a Desk or a Table .
2. Room temperature is very hot , or the laptop’s fan is closed (or filled) for some reason (Dust in most cases) .
3. Working on the laptop for too many hours  .
The main solution for this problem is a cool CoolingPad for the laptop (or a fan at the side of the PC to cool the inner parts) . But what if you don’t have (or can not afford) a CoolingPad right now ?
I have been trying few things , they helped much , and the number of BSOD’s has reduced .

Lower graphics settings : Instead of Ultra or High settings , try using Medium or Low . In some games , it will recommend a specific graphic level for your machine .

Use the laptop for less hours , on good surface and in good temperature . I am sure you tried all of those , and even when I did , it didn’t help , those are just basic solutions .

nVidia Control Panel (Custom) :

– In the control panel (in my case , I have nVidia graphic card) choose “NVidia Control Panel” , or right-click on your desktop and choose “nVidia Control Panel” .
– From the tree at the left side of nVidia control Panel , choose Manage 3D settings .
– Choose “Program Settings” tab .
– From the list , select the game (or the program) that cause the Overheat and the BSOD to appear . (or click add if it is not in the list)
– From the second list , select another graphic card to run the game , try them all until you find one that works . (many laptops support more than 1 graphic card)
Please note : some games have some problems with some graphic cards ! if that’s so , go to the second solution .

nVidia Control Panel (General) :

I began with the custom solution , since this one will affect all the games and programs on your machine .

– From the same nVidia Control Panel , and from the tree on the left , select “Adjust image settings with preview” .
– Select “Use my preference emphasizing” from the 3 options in the “Adjust image settings with preview” page .
– Move the slide bar under the 3rd option to the left , near the word “Performance” .

Those 2 solution may not work in few cases , since some games don’t run correctly with some graphic cards . But I have tried all of them , and the number of BSOD’s has reduced . give it a try it worth it 🙂

And still , the most efficient solution is to buy a CoolingPad , I am planning to buy one soon , and I hope it works permanently (heared Zalman NC2000 is perfect , I hope to find it in Egypt :))

Decimal to Binary

بسم الله الرحمن الرحيم

عشري إلى ثنائي :

الطريقة الأولى :

1-      كتابة جميع قوى الأساس 2 (بدءاً من 2صفر ) إلى أقرب قوة أقل من الرقم العشري

2-      بما أن الرقم العشري أكبر من القوة الاخيرة , يكتب 1 في ناتج التحويل (بدءاً من اليسار)

3-      طرح القوة من العدد العشري

4-      يقارن ناتج الطرح بالقوة التالية في سلسلة قوى 2 , إن كانت القوة أقل منه يكتب 1 وإلا يكتب 0

5-      تطرح القوة من ناتج الطرح

6-      تكرر العملية حتى الوصول إلى 12

مثال : 143

قوى 2 : 1 , 2 , 4 , 8 , 16 , 32 , 64 , 128 (128 أقرب قوة أقل من 143)

143 – 128 = 15      (الناتج 1)

64 أكبر من 15           (الناتج 0)

32 أكبر من 15           (الناتج 0)

16 أكبر من 15           (الناتج 0)

15 – 8 = 7              (الناتج 1)

7 – 4 = 3                (الناتج 1)

3 – 2 = 1                (الناتج 1)

1 – 1 = 0                (الناتج 1)

يكون الناتج النهائي بالنظام الثنائي : 10001111

الطريقة الثانية :

1-      بتكرار قسمة العدد العشري على 2 , وتسجيل باقي كل عملية

2-      ناتج التحويل هو بترتيب البواقي الناتجة (بدءاً من الأسفل إلى الأعلى)

مثال : 143

143 / 2 = 71           (الباقي 1)

71 / 2 = 35             (الباقي 1)

35 / 2 = 17             (الباقي 1)

17 / 2 = 8               (الباقي 1)

8 / 2 = 4                (الباقي 0)

4 / 2 = 2                (الباقي 0)

2 / 2 = 1                 (الباقي 0)

1 / 2 = 0                (الباقي 1)

إذا يكون ناتج التحويل (بترتيب البواقي بدءاً من الأسفل) : 10001111