My Blog > محمود درويش وداعاً يا زفرة العربي الأخيرة
وطني يا أيها النسر الذي يغمد منقاره اللهب
في عيوني،
أين تاريخ العرب؟
كل ما أملكه في حضرة الموت:
جبين وغضب
وأنا أوصيت أن يزرع قلبي شجرة
و جبيني منزلاً للقبّرة
وطني إنا ولدنا و كبرنا بجراحك
و أكلنا شجر البلوط ..
كي نشهد ميلاد صباحك
بما أن مطوري دلفي يعيشون هذه الأيام زمن التغيير، و الإنتقال إلى Unicode ، إذ خرج Nick Hodges مدير مشروع دلفي عن صمته الطويل ، والذي لم يصرح عن أسبابه ليفتتح الحديث عن نسخة دلفي الجديدة المسماة Tiburon ، و التي من أهم مميزاتها الجديدة دعمها الكامل للـ Unicode ، وكان هذا الأمر موضع تسائل من أحد الأصدقاء، كما سألني أيضاً عن إمكانية الوصول إلى يوم يكون لدينا فيه لغة برمجة عربية الترميز ، بمعنى أن نكتب النص المصدري للبرنامج كاملاً بللغة العربية!، بالنسبة لهذا الموضوع أعتقد أنه من الطبيعي أن يحب الإنسان لغته الأم، ولكن يجب أن لا يتحول هذا الحب إلى نوع من "التعصب اللغوي" ، فاللغة الإنكليزية تتمتع بمواصفات كثيرة جعلت منها اللغة الرسمية للثورة العلمية الحديثة، وخصوصاً الثورة المعلوماتية، واللجوء إلى أي لغة أخرى لا تتمتع بهذه الميزات لن يكون خياراً مثالياً حتى وإن كانت لغتنا الأم، فإن كانت اللغة العربية هي لغة للشعر و الأدب بامتياز، فلا أعتقد أنها كذلك بالنسبة للبرمجة، هذه وجهة نظري، على أي حال فأن دلفي بدعمها للـ Unicode قدمت خيارات كثيرة للمولعين بـ "أقلمة" كل شيء مثل صديقي هذا، فأنت في CodeGear RAD Studio تستطيع تعريف متحولات وأغراض باللغة العربية فأنت مثلاً تستطيع كتابة الكود التالي:
منذ بضعة أشهر تلقيت عدة اتصالات من أحد الرفاق القدامى يدعوني فيها إلى زيارة مكتب في بانياس وأن هناك (بزنس) ما، يريد أن يشركني فيه، و لكني كنت اعتذر في كل مرة بسبب انشغالي الدائم، ولكن في نهاية المطاف و جدت أنه من (العيب) عدم تلبية الدعوى فذهبت إلى ذلك المكتب وكنت بصحبة أصدقاء آخرين حماصنة (نسبةّ إلى حمص)، بعد استقبال دافئ و حميم عرفني ذلك الرفيق إلى "شخص آخر" ، الذي قام بدوره بشرح مضمون (البزنس)، مستعيناً بـ "نوطة" مكتنزة بالصور الملونة و المخططات،و طبعاً كما تتوقعون كان مضمون (البزنس) هو Questnet -سأقوم بشرح مبدأ العمل في مقال لاحق- برغم أسلوبه الشيق و حديثه المنمق و قدرته الهائلة على الأقناع، وبرغم الاثباتات و الشواهد التاريخية التي ذكرها (و التي أعتقد أنها هي أصلاً بحاجة إلى إثبات)، وبرغم الأرقام الفلكية التي ذكرها (بالنسبة لمتوسط الدخل لدينا هي أرقام فلكية)، برغم كل ذلك لم تتحرك أي من غرائزي، (برأيي الشخصي حب المال غريزة)، وكنت كلما نظرت إلى (الحماصنة) ألمح نظرات (خبيثة) تكتم من السخرية ما تكتم! و شفاهٍ ترتجف و هي تحبس ضحكةً مجنونةً لو عرفت طريقها للخروج لملأت المكان بالفوضى، ولخرجنا من المكتب(ليس) "بمثل ما استقبلنا به من حفاوةٍ وتكريمٍ" ...الحمد لله لم يكن يوم أربعاء :))).
هذا هو العنوان الذي راج كثيراً في الأيام الماضية بالنسبة لمدوني و مبرمجي دلفي، أما في المضمون فهناك الكثير من المشاعر التي تفيض عادة في لحظات الوداع أو لحظات التغيير، هذه المشاعر الوجدانية كانت واضحة لدى David I الذي أمضى وقتاً طويلاً مع بورلاند و الذي بات رمزاً في بورلاند و علامة فارقة في تاريخ دلفي على الأقل من ناحية الحضور و رسم خطط التطوير، David I لم يستفض كثيراً بسرد ذكرياته مع بورلاند، على عادة الغرب الذين يفكرون بعقلانية أكثر في مثل هذه المواقف،
العنوان قد يكون تشاؤمياًولكني أعتقد أنه الجانب الآخر للخبر الذي انتشر "كالنار في الهشيم" في الساعات الماضية "بورلاند ستبيع كودغير"، بغض النظر عن الشاري و هو حقيقة شركة رائدة في مجال برامج إدارة و تصميم قواعد البيانات Embarcadero و الواضح أن كبار مبرمجي دلفي رحبو بالخبر بدرجات متفاوتة مع بعض التخوف من أن يكون هناك إيقاف لمنتج ما من كودغير،
تلقيت سؤالاً من أحد الأصدقاء عن كيفية استعراض الحواسب الموجودة في "جوار شبكة الاتصال" وطبعاً بواسطة دلفي و هنا سأعرض لفكرة الحل التي يمكن الاستفادة منها أو تطويرها و البناء عليها للوصول إلى الهدف المنشود.
My Blog >Something wrong with the BDS Readonly command
It happens sometimes that you want to open a unit or a form for just reading or copying blocks of code or components form it to another unit or form, and as you know the IDE gives us a cool command to set a unit or a form as Readonly
بدأت مدونتي الجديدة التي ستكون حول مواضيع البرمجة و بالأخص لغة البرمجة دلفي وسأحاول أن أكون مواظباً على الكتابة فيها قدر الإمكان برغم انشغالي هذه الفترة بعدد من المشاريع البرمجية
شرح كيفية كتابة عنصر قواعد معطيات في دلفي سنستعرض في هذا المثال كيفية بناء عتصر دلفي DB Component عمل هذا العنصر هو عمل بسيط فالغاية هي التدريب ليس إلا. عمل العنصر هو عرض ترتيب السجل الحالي في الـ DataSet من أصل العدد الكلي للسجلات. طبعاً يمكنك تحقيق ذل