دلفي

مقالات في لغة البرمجة دلفي

بناء حزمة تثبيت محمية برقم تسلسلي باستخدام VSI, Orca, C++ or Delphi


Read the English version of this article in codeproject.


نشرت النسخة الانكليزية لهذا المقال في موقع codeproject.

مقدمة

تستطيع من خلال فيجوال ستوديو بناء حزم تثبيت لبرامجك باستخدام Visual Studio Installer او أختصاراً VSI وتستطيع من خلال هذه الأداة أيضاً أن تضيف مربع حوار إلى حزمة التثبيت لتسجيل بيانات المستخدم: الاسم، الشركة، والرقم التسلسلي (السريال). يقدم VSI إمكانيات محدودة لعملية التحقق من الرقم التسلسلي مما سيجبرك على استخدام نماذج أرقام تسلسلية Serial Number Templates سهلة التخمين و ليست بحاجة حتى إلى برامج كراك لكسرها في كثير من الأحيان. الحل الأمثل هنا هو الاستغناء عن خوارزمية التحقق المدمجة في VSI واستخدام خوارزمياتك الخاصة عن طريق مكاتب خارجية dll تستطيع كتابتها بأي لغة أصلية native مثل دلفي أو سي بلس بلس -سأعرض مثالاً باللغتين- وعندها ستكون حدودك هي السماء في بناء نماذج أرقام تسلسلية لحماية برامجك. وجدت مقالات قليلة تشرح هذه الطريقة وبالاضافة إلى قلتها فالبعض منها فيه أخطاء قد تؤدي إلى توجيهك باتجاه خاطئ وإضاعة وقتك الثمين خصوصاً إذا كنت جديداً على هذا المجال. لذلك قررت كتابة هذا المقال بالعربية و الانكليزية أيضاً راجياً أن يكون فيه شيء من الفائدة لمن يهتم بهذا الموضوع.

Articles Categories: 

Native (Delphi) callbacks in .NET (C#) COM assembly


I’ve posted the English version of this article in codeproject.com


نشرت النسخة الانكليزية لهذا المقال في موقع codeproject.com

مقدمة

لنفترض لدينا الحالة التالية:

-    تريد كتابة إجراء في بيئة الدوت نت و تريد أن تجعله متاحاً للغات البرمجة الأصلية (native) مثل دلفي.
-    هذا الاجراء يأخذ تابع منادى (callback) كأحد بارامتراته/التابع في هذه الحالة سيكون مكتوباً بلغة أصلية كدلفي/.
-    تريد استدعاء تابع الدوت نت هذا من برنامج دلفي.

Articles Categories: 

دعم تعدد المنصات في دلفي قريباً

لكل الذين اختاروا دلفي لتكون من بين أدوات تطويرهم، الخبر السار الذي طال انتظاره ... ربما. ;) مجتمع دلفي يثبت من جديد قدرته على التجدد و ابتداع الحلول: دعم تعدد المنصات قريبا عن طريق إضافة جديدة Plugin الاطلاق الرسمي لها متوقع أن يكون هذا الاسبوع. الدعم في البداية سيكون مقتصراً على منصة الـ MAC ثم ستتبعها الـ Linux وصولاً إلى 64 bit Windows و Windows Mobile
للمزيد عن هذا الخبر المفرح

Articles Categories: 

تصحيح TThemedDBGrid

عنصر TThemedDBGrid هو عنصر مفيد جداً حيث يقوم بتغيير مظهر TDBGrid ليتلائم مع مظهر الويندوز xp أو الفيستا الأنيق، و هو عنصر مجاني و مصدر مفتوح من قبل المبرمج Andreas Hausladen حيث هي عبارة عن وحدة جديدة تقوم بإضافتها إلى المشروع و هي ستقوم بتعديل مظهر جميع عناصر الـ TDBGrid الموجودة في المشروع أثناء تشغيل البرنامج، النسخة الموجودة كانت تحوي مشكلة عند تغيير الاتجاه ليصبح من اليمين لليسار أي عند تغيير الـ BiDiMode ليصبح bdRightToLeft كما في الصورة

Articles Categories: 

TDBGrid في دلفي 2007 و دلفي 2009 مشكلة و حل

في الحقيقة برامجي التي أطورها والتي تستخدم قواعد بيانات مازالت على دلفي 2006 ، لكني منذ يومين بدأت مشروعاًَ صغيراً (قواعد بيانات) و اخترت أن أبدأه على دلفي2009 ، وقد تفاجئت بوجود ثغرة واضحة في مكون TDBGrid  هذه الثغرة تظهر مع تغيير خاصية الـ BiDiMode إلى bdRightToLeft لتتلائم مع اللغة العربية في الكتابة من اليمين إلى اليسار:

Articles Categories: 

استخدام اللغة العربية في دلفي


بما أن مطوري دلفي يعيشون هذه الأيام زمن التغيير، و الإنتقال إلى Unicode ، إذ خرج Nick Hodges مدير مشروع دلفي ليفتتح الحديث عن نسخة دلفي الجديدة المسماة Tiburon ، و التي من أهم مميزاتها الجديدة دعمها الكامل للـ Unicode ، وكان هذا الأمر موضع تسائل من أحد الأصدقاء، كما سألني أيضاً عن إمكانية الوصول إلى يوم يكون لدينا فيه لغة برمجة عربية الترميز ، بمعنى أن نكتب النص المصدري للبرنامج كاملاً بللغة العربية!، بالنسبة لهذا الموضوع أعتقد أنه من الطبيعي أن يحب الإنسان لغته الأم، ولكن يجب أن لا يتحول هذا الحب إلى نوع من "التعصب اللغوي" ، فاللغة الإنكليزية تتمتع بمواصفات كثيرة جعلت منها اللغة الرسمية للثورة العلمية الحديثة، وخصوصاً الثورة المعلوماتية، واللجوء إلى أي لغة أخرى لا تتمتع بهذه الميزات لن يكون خياراً مثالياً حتى وإن كانت لغتنا الأم، فإن كانت اللغة العربية هي لغة للشعر و الأدب بامتياز، فلا أعتقد أنها كذلك بالنسبة للبرمجة، هذه وجهة نظري، على أي حال فأن دلفي بدعمها للـ Unicode قدمت خيارات كثيرة للمولعين بـ "أقلمة" كل شيء مثل صديقي هذا، فأنت في CodeGear RAD Studio تستطيع تعريف متحولات وأغراض باللغة العربية فأنت مثلاً تستطيع كتابة الكود التالي:

Articles Categories: 

List Network Neighborhood Computers


تلقيت سؤالاً من أحد الأصدقاء عن كيفية استعراض الحواسب الموجودة في "جوار شبكة الاتصال" وطبعاً بواسطة دلفي و هنا سأعرض لفكرة الحل التي يمكن الاستفادة منها أو تطويرها و البناء عليها للوصول إلى الهدف المنشود.

Articles Categories: