١١‏/١‏/١٤٢٨ هـ

X المهندس المخضرم و

موضوع قديم قرائته في احدى المجلات.

يحكى أن في سنوات الاربعينيات قامت شركة GE لصناعة مولادات الكهربائية بأنشاء محطة جديدة تعتمد على احد مولداتها المتطورة التى قام مهندسوها بتطويرها مؤخرا. وبعد تركيبها في احد مقاطعات الولاية. لم تفك من المشاكل. وعدم العمل باستقرار.
وبعد ان حاولوا مهندسوا الشركه بحل المشكلة. عجزوا عن الوصول الى حل . واستسلموا لشتائم المدراء لدى الشركه. فلم تجد الشركة الا باستعانة باحد مهندسينها اللذين تقاعدوا مؤخراً. وهو يعتبر من ابرع الخبراء في الشركة عندما كان يعمل فيها. وبعد التقاعد ذهب الى احد الولايات واستقر فيها, ويقوم الان بالقاء المحاضرات في الجامعة هناك. فقاموا بارسال برقية تشرح فيها المشكلة واذا كان في وسعه القدوم والمشاركة بالحل. او الاقل بتقديم المشورة . وان تكاليف السفر والاتعاب الاخرى مدفوعه له. فقام المهندس المخضرم بالسفر الى مقر عمله القديم وبعد الالتقاء بمسئولينه القدماء . اخذ جولة مع مهندسين الشركة الى المشروع لاطلاع عليه وبعد ان اخذ المخططات وبداء بدراستها وبعد مرور يومين . وقف على احد المولدات وبيده طباشيرة وفتح صندوق التوصيلات. قام بوضع علامة (أكس) X (اي بتحديد المشكلة) وبداء بكتابة ان السلك الفلاني يصل الى النقطة الفلانية والسلك رقم كذا يصل الى النقطة الفلانية. ونزل من المولد .
وقال اعملوا ماهو مكتوب . وبعد ان عملوا المكتوب قاموا بالتشغيل فاشتغل المولد بلا مشاكل, فقام بالسلام على الموجودين ورجع الى مدينتة وبعد اسبوع وصلت برقية من الشركة تسئله عن الاتعاب التى يريدها فكتب لهم:
قيمه الطباشيرة نصف دولار.
قيمه مكان اكس 999.5 دولار.
الخلاصة:
جميع مهندسين الشركة يستطيعون ان يضعوا اكس؟ ولكن السؤال اين يضعوه.

١٠‏/١‏/١٤٢٨ هـ

برنامج لمقارنة نسخ النصوص

قبل فترة كنت ابحث عن برنامج يقارن الملفات(النصوص) في غوغل، وكل اللي اقدر احصل عليه هو شيروير shareware او برامج لبيع.وتناسيت الموضوع .
ثم احتجت برنامج اخر يبحث عن الملفات المرادفة، او المتشابة. وحصلت على برنامج مجاني اسمة winmerge ويالعجب؟ تستطيع ان تستعملة في مقارنة النصوص ويبينها لك بشكل واضح .
أذا كنت مبرمج وتريد ان تقارن بعض نسخ الملفات النصية فهذا البرنامج يفيدك جداً.
وله مواصفات كثيرة .
أدعكم مع البرنامج : موقع البرنامج


٨‏/١‏/١٤٢٨ هـ

Rich Visual Editor Doesn't Appear فقدان المحرر المرئي


امس كنت اكتب في مدونتى (ليس هنا ) ، فقدت المحرر المرئي...لا اعلم لماذا؟
كنت استخدم Avant browser وشكيت ان المشكلة في البراوسرbrowser نفسه فأستخدمت Internet Explorer ولكن نفس المشكلة؟.
لكني تذكرت ان الافانت براوسر يعتمد كلياً على الانترنت برواسر لذالك هذا لا يوضح شيء؟
فقمت بتنزيل الفاير فوكس FireFox. ويالعجب لقد ظهر المحرر المرئي Rich Visual Editor . أذا المشكلة بالبراوسر نفسه؟ لذالك قمت بتنظيف Internet temporary files
وحاولت مرة اخرى ولكن لم انجح.
فقمت بتنظيف الملفات المؤقتة يدوياً بالذهاب الى

\Local Settings\Temporary Internet Files

ثم اختيار جميع الملفات وحذفها. واااااااااااااو ........ لقد اشتغل.


To fix disappearing of Visual Editor in your blog page do the following
go to
Internet temporary files
" \Local Settings\Temporary Internet Files"
Select all files then delete all
Note: Deleting files from Internet Explorer dose not fix this
thanks

Xlogix

What is the relation between .NET & JAVA ماهي العلاقة بين دوت نت والجافا


طبعا انا من الكارهين لشيء اسمه دوت نت.لست انا الوحيد ولكن الكثيرين من مستخدمين البرمجيات يحاولون تجنب الدوت نت.وكمبرمج ومستخدم . اكرها لعدة اسباب. هي لا تقدم شيء جديد انما تكنلوجيا يريدونك ان تستخدمها. هم يقولون تطور؟ وانا أقول تسويق! نعم انها عملية تسويق واتفاق بين المصنع (Hardware) و مَصنع البرمجيات (Software).سوف يقول قائل كيف هذا؟.
قبل ان اكمل....السؤال المطروح ما هي دوت نت (Net.) بالاساس؟ تعريف ماكروسوفت هو :

Software that connects information, people, systems, and devices

هذا هو التعريف المذكور "برمجيات التى توصل بين المعلومات ،الناس، انظمة والاجهزة "
طبع اذا فهمت شي تعال قولي!!!.

وهذا يذكرني عندما كنت ادرس SAP ولغة ABAP .وعندما عرضوا علينا تعريف الساب قالوا:
System And People

طبعا التعريف اللذي ذكر لا يعرفها بشكل كامل. اذا اردت التعريف تستطيع ان تطلع عليه في هذا الموقع
نرجع لموضوع الدوت نت والتسويق.
عندما تركب Dot Net Frame ماذا تلاحظ؟ انها كبيره الحجم؟ صحيح . وليس هذا فقط ولكن تستهلك موارد الجهاز؟. بالمقابل ماذا تقدم لي كمستخدم؟ لاشيء جديد؟ يعني ركبتها او لم تركبها انت تستطيع ان تعمل بدونها.
وما قصة التسويق؟ نعم سوف اشرح لك القصة، عندما تركب دوت نت على جهازك وجهازك لنقول سرعته متوسطه وموارده متوسطة. انا اتكلم عندما أشتريت جهازك كانت المواصفات هى القمة. يعني قبل سنتين لنفرض كانت مواصافات جهازك هي top of art والان بعد انقضاء السنتين بالطبع نزلت بالسوق مواصفات اعلى. ولكن .......هل انت مجبر على شراء جهاز جديد. أذا ركبت نظام وندوز جديد ربما تحتاج ان تشتري مواصفات جديدة. او ركبت دوت نت فريم سوف تلاحظ بطىء بالجهاز. يعني لو لم تغير البرمجيات التى تستخدمها ربما تستطيع ان تستعمل جهازك لمدة اربع سنوات قادمه او اكثر.أذاً هي عملية تسويق كما هو واضح.يعني لنفرض اني مستخدم على قد حالي. يعني لست بخبير . يعني مستخدم يقرا ايميله. يكتب رسالة؟ يستخدم الاوفس . هل يخدمه windows98 واوفس 97نعم بكل تاكيد .
وهذه البرمجيات تعمل بكفائة عالية على اي جهاز سرعتة لنقول 800MZ و120MB
واذا كان جهازك اسرع سوف تحس ان جهازك طيارة.
ولكن السؤال هل هذا هو السبب الرئيسي لدوت نت(التسويق)؟ لا هناك اسباب اخرى لنرى..........أقولكم القصة الثانيه أو السبب الثاني؟ وهو مهم (طبعا وجهة نظر ربما اكون خاطىء ).
ماكروسوف اكتشفت ان أفكار منافسينها هي الصح؟ مثل ماذا؟ مثل فكرة ال Java ، الجافا تستطيع ان تعمل على اي منصة؟ وهي تستخدم نظام الInterpretation لكود. يعني عندما تعمل على منصه وندوز NT فهي تقوم بترجمه البرنامج الى هذه المنصة في وقت التشغيل. هي سيئة لانها تاخذ وقت بالترجمه. أي تحويل من كود الى كود. وهذا يعرف بال Portability
أذا تريد ان تقول دوت نت شبية بفكرة الجافا؟ نعم هذا صحيح. ماكروسوفت تريد ان تضع نظام داخل نظام التشغيل؟ يعني عندما تشتغل تحت دوت نت، البرمجيات المبرمجة بالدوت نت تقوم اول بالتحدث الى الدوت نت فريم ومن ثم يقوم الدوت نت فريم بالتحدث الى نظام الوندوز؟ أليس هذا تشبيه بما يحدث بالجافا؟ انظر الى

The “Framework” operates between business applications and the ًWindows operating system انظر لموضوع

مع ان البرمجيات التى تعمل بدون دوت نت فريم تتحدث مباشرة الى نظام الوندوز. لماذا احتاج ان اتكلم مع نظام ثم ينقلني الى النظام الاخر؟ مع ان التحدث مباشرة اسرع.
ولكن هم يقدمون شي جديد أيضاً .....

The framework also takes advantage of the latest programming techniques (object oriented development) which have been in use by other programming languages such as Java

أهااااا ..... أذا هم سوف يعتمدون بالبرمجه على OOP او ما يعرف ب "البرمجه بغرضيةالتوجية" والتى سبقتهم جافا و بورلاند منذ زمن بعيد.
الفكره الثانية. هي ان ماكروسوف تمشكلت بالDLL يعني برنامج قمت ببرمجتة في VB6 فرضا، انت تحتاج مكتبة VBRUN ليعمل.لو نلاحظ ان بورلاند Delphi ،عندما تقوم ببرمجة برنامج بالدلفي ،انت لا تحتاج اي مكتبة ليعمل برنامجك. كل شي داخل البرنامج.
أليس هذا تفوق لدلفي على vb.أذا مستقبلا عندما تعمل تحت الدوت نت (كمبرمج) لا تحتاج الا ان يكون دوت نت فريم ورك متواجد على جهاز الزبون ليعمل برنامجك.كل المكتبات سوف تكون متواجدة هناك. يعني احتجت لها او لم تحتاج لها كل شي موجود.
طبعا........مستقبلا......سوف تكون الدوت نت فريم ورك متضمن داخل نظام الوندوز. عجبك او لم يعجبك.


ولنا لقاء اخر.........مع السلامة
Xlogic

Delphinized Idea 1 أفكار دلفينية


كيف توقف قائمه النظام في النموذج Form's System menu

كنت افحص احد برامجي التي تعمل تحت multithreading حيث كان هناك عدة نماذج وفي احد النماذج يقوم thread بعرض بعض النتائج وحالة عمل لthread عن طريق دالة التزامن synchronize......كل شي يعمل كما صمم ...جميل ان ترى كل شي يعمل مثل الساعة, تك تك تك


وفجأة عندما ضغطتُ على اسم النموذج عن طريق الفارة يمين وظهرت قائمة النظام. يبداء تأثير أنعكاسي على الthread ويبدا بالتاخر بعرض النتائج وربما يتوقف بالكامل.


وهذا بسبب ان دالة التزامن synchronize تعتمد على عملها بمبداء (الرسائل) messages،وبما ان النموذج في حالة عرض قائمة النظام system menu اذا لوب الرسائل متوقف.


انها مشكلة لم انتبه لها الا من خلال الفحص.

أّذاً ما الحل؟

ربما احد سوف يقول بسيطة...... اوقف عرض القائمة عن طريق []=:borderIconsصحيح ...ولكني انا استعمل bsToolwindow مع زر أغلاق. اي اني اريد النموذج هكذا:

bsToolWindow
Close Button
وبدون biSystemMenu

التجميع او التركيبه هذه لا تعمل مع بعضها . اي لا تستطيع ان تعملها.

الحل الوحيد اللذي استطعت الوصول له هو اني استعمل winproc واعترض الرسالة التى ترسل عندما تضغط على اسم النموذج بزر الفارة يمين. وهي WM_MCRBUTTONDOWN

ومن ثم أقوم بتجاهل هذه الرسالة. حل جميل أليس كذالك؟

بس هناك مشكلة بسيطة؟.....أن جميع الرسائل ترسل الى هذا الروتين ومن ثم تذهب الى الروتين الاصلي اذا كانت الرسالة غير موجودة في winproc (ألاف الرسائل التى ترسلها الوندوز الى البرنامج مثل حركه الفارة على النموذج والضغط على الفارة و و و.............)

أذاً هذا الحل يعمل بس أنا في تصاميمي ابحث عن الاداء ايضاُ؟

ولكن بعد التفكير وجدت حل اخر اسهل . نعم الدلفي بأستطاعتة ان يرسل لك رسالة معينه انت تختارها. مثل WM_NCRBUTTONDOWN


Code








procedure TLogFrm.WMNCRBUTTONDOWN(var message:Tmessage);
begin
with message do
case Msg of
WM_NCRBUTTONDOWN:{Do Nothing};
end;
end;
end;







 
procedure TLogFrm.WMNCRBUTTONDOWN(var message:Tmessage);
begin
{keep this remark}
end;












procedure WMNCRBUTTONDOWN(var message:Tmessage); message WM_NCRBUTTONDOWN;