دلفي (لغة برمجة)

نبذه عن دلفي

من المعروف أن دلفي  كانت منتج بورلاند حاليا أومباركاديرو الأكثر مبيعاً للتطوير السريع للتطبيقات RAD)Rapid Application Development) والمستخدم لكتابة تطبيقات ويندوز ، و بالإمكان استخدام الدلفي لإنشاء تطبيقات ويندوز بسرعة أكبر وبسهولة أكثر من أي وقت مضى.
هذا يعني أنه من المستطاع إنشاء واجهة المستخدم ( يقصد بواجهة المستخدم القوائم ومربعات الحوار والإطار الرئيسي .) لأي برنامج باستخدام تقنيات السحب والإفلات لمطور تطبيقات سريع ، يمكنك أيضاً وضع تحكمات أكتيف إكس Active X على نماذجك لإنشاء برامج متخصصة مثل برامج استعراض الويب في دقائق، سيكون ذلك ممتعاً ولكن حتى تصبح مبرمج تطبيقات ويندوز قدير يتطلب منك عملاً مضنياً.
تقوم دلفي بعمل جيد وذلك بإخفاء بعض التفصيلات التي تشكل أحشاء برنامج الويندوز ولكن ليس بإمكانها كتابة البرامج من أجلك ، لذلك يجب في النهاية أن تكون مبرمجا ، ويمكن لهذه العملية أن تكون طويلة ، والخبر الجيد أن دلفي  تجعل رحلتك غير متعبة وحتى أنها تجعلها ممتعة .

خصائصها

تجمع دلفي بين سهولة لغة فيجوال بيسك وقوة لغة سي++.
في الحقيقة هي أسهل من الفيجوال بيسك ، لأنها تعتمد على لغة الباسكال المعروفة بوضوحها الشديد والتي تدرس في السنوات الأولى لسهولتها وسرعة استيعاب الطلاب لها فهي لغة عالية المستوى أي أنها لغة قريبة من لغة الإنسان ورموزها واضحة تفهم من النظرة الأولى.

نسخ دلفي

هناك نسختان من هذه اللغة، النسخة الأولى خاصة بنظام التشغيل مايكروسوفت ويندوز وهي دلفي، والثانية خاصة بنظام التشغيل لينكس تم إنشاؤها سنة 2001 وتحمل الاسم كايليكس وقد تم إصدار دلفي للعمل تحت إطار عمل دوت نت بالنسختين دلفي 8.نت ودلفي 9.نت.
الإصدار الحالي المتوفر في الأسواق هو  delphi XE3 صادر في 2013 ، وهو متوفر منفرداً أو ضمن مجموعة  RAD Studio XE3، وجميعها تدعم العمل تحت إطار عمل دوت نت.

باسكال

دلفي يطبق  إصدار توجيه (POO) للغة باسكال: "باسكال "، قامت بإعادة تسمية  لغة البرمجة دلفي على مدى التغييرات التي تم إجراؤها من قبل بورلاند. باسكال كائن من دلفي يملك  العديد من المزايا التي تعمل على تحسين الإنتاجية للمطور بالمقارنة مع  + +c: النوع القوى، رقابة صارمة على المحول البرمجي لتجنب أخطاء الذاكرة، تجاوز، الإدارة المتكاملة للسلاسل ومن صفائف ديناميكية، إلخ. ويتم التجميع في مسار واحد، ولا يوجد فصل بين التنفيذ والواجهة كما هو الحال في C أو + +c :ولذلك  جيل مشروع دلفي سريع جداً، الذي إخراج  شعبية الأداة المعروفة بالسرعة لوقتها تجميع السجل الخاص به.
على الرغم من أن "باسكال " عرض العديد من المفاهيم المثيرة للاهتمام والمبتكرة (كثير قد استؤنفت مع c#)، فإنه يعاني من نقاط الضعف المعروفة. على سبيل المثال، فإنه لا يملك بعض الميزات الصافية مثل والراثة المتعددة الطبقات أو الاستخدام الغير المتصل إلى واجهات COM وأدخلت بعض الميزات مثل عامل الحمولة الزائدة وجينيريسيتي في وقت متأخر (على التوالي مع دلفي 2005 و 2009 دلفي). وبالإضافة إلى ذلك،  علاقتها مع باسكال تأجيل العديد من المبرمجين الذين اعتادوا في الأكثر على إغلاق أنماط البرمجة Java أو جيم أخيرا، أنها ليست موحدة و لا تديرها لجنة مستقلة: خاصية بورلاند، المحرر وحده يمكنه أن يقرر في المستقبل، وإضافة ميزات لغة جديدة.

فروع أخرى من دلفي أوتتصل بدلفي

Kylix  منتوج  قريب جداً إلى دلفي (المبدأ نفسه، نفس الواجهة) الذي يتم تشغيله على لينكس، ويمكن إنشاء برامج لهذا النظام. و مصدرالبرمجية نفسه  قد تم تطبيقه تحت لينكس وويندوز (على التوالي مع Kylix ودلفي) من خلال استخدام مكتبة CLX  استناداً إلى مكتبة رسومية كيوت اتباع نفس المبدأ كمكتبة VCL. بورلاند قد تخلى عن تطوير Kylix ولكن المكتبة CLX موجودة في الإصدارات الأحدث من دلفي.
لازاروس هو مشروع EDI حر ل"باسكال ". نسخ القطعة ووظائفها الوثيقة  قرب أداة دلفي (باستخدام مثل هذا) والبرمجيات المرتبطة ب " Free Pascal"، يسمحب تصميم ٪99 من  مشاريع  المتوافقة مع دلفي. مع استخدام بعض توجيهات  التحويل البرمجي،   نفس   رمز المنحى (لا تستخدم وظائف واجهة الرسوم البيانية المباشرة)يمكن تضبيقه  تحت دلفي، Kylix والحرة-باسكال. ومن سيئات هذا البرنامج مرتبط بشخصيته الأخيرة: عدم استقرار طفيف (يقابلها إلى حد كبير وظيفة النسخ الاحتياطي التلقائي) ونقص الحاجيات.  TFrame المكون الأكثر استخداماً والرئيسي لتحسين دلفي، يعمل الآن بشكل صحيح. وأخيراً، الوثائق الرسمية ليست كاملة مثل  دلفي بورلاند ي ولكن توجد مواقع كثيرة جداً لعلاج هذا العيب.

مكتبة المكون VCL

دلفي مكتبة ممتازة للمكونات البصرية والبصرية،  Visual Component Library ل(VCL)، والمفهوم مماثل MFC في Visual Studio. يسمح VCL بين أمور أخرى الرسم بسرعة تطبيقات  رسومية، وإخفاء المكالمات إلى مجمعات Windows API. منذ دلفي 1، VCL تتحسن بواسطة بورلاند في كل نسخة جديدة من دلفي مع صنع التوافق الكامل (تقريبا) في واجهة المكتبة، والذي يسمح لترحيل المشاريع عن طريق الحد من إعادة كتابة التعليمات البرمجية.
C+ + منشئ يستخدم  نفس المكتبة المكونات  ويملك "مترجم" باسكال إلى c + +، بينما يقل c + + التي تحتوي على ملحقات محددة إلى بورلاند مفهومة من شقيق "c + + دلفي". وهكذا، يمكن أن تعمل كافة التعليمات البرمجية دلفي مع منشئ + + C.

الانخفاض في دلفي: دلفي 7 إلى دلفي XE

للخروج NETا.Framework من Microsoft، استخدم العديد من مطوري دلفي بسبب قوة لغته والمستوى الممتاز من التجريد الذي عرضته مكتبة المكون الخاص به. مع وصول NET و c#، قامت Microsoft بخطوة عملاقة في إنتاج أداة دمج جميع المفاهيم التي كانت شعبية دلفي: اللغة التي تتكيف مع RAD، تصميم المكونات بالسحب-والإسقاط glisser-déposer، وإطار متماسك framework cohéren، إلخ.
قد تخلى العديد من مطوري دلفي الذي لعب أكثر احقية (منذ بورلاند ثم تركيز نشاطها إلى أدوات إدارة دورة حياة التطبيق) ل مايكروسوفت فيجوال ستوديو و c # (أو VB.NET). وفي الواقع، منذ اقترا حمايكروسوفت  مساواة أرخص من خلال لغات وتوحيدالمجموعات المكونة التي تستثمر  أكثر من بورلاند، أي هناك حقاً سبب لاستخدام دلفي.
وبدا العديد من خيارات التسويق (السيئة) ونقص الموارد التي تخصصها ل"مشروع دلفي" بورلاند انخفاضا من الاستخدام، التي تحتفظ مجتمع حقيقي للبرمجة للمستخدمين. على سبيل المثال، القرار متأخراً جداً بإنشاء المحول البرمجي الأصلي 64 بت و VCL دعم Unicode اعتبر الكثيرون أنه قرار سيء للغاية وكان هناك سبب آخر لبدء عملية الانتقال إلى لغات أخرى مثل c + + أو c#.
بيع فرعIDE من  بورلاند، قررت في فبراير 2006،انه  من المفترض أن تكون وسيلة للحصول على إطار جديد وخاصة الدعم من شركة جديدة مخصصة بالكامل لتطوير البرمجة كما كانت أدوات دلفي أو منشئ C + + . الانخفاض الغير قاتل الذي مكن  بإطلاق منتوج  جديد مبتكر كما فعل  دلفي  قبل أكثر من عشر سنوات. وإلى جانب امباركاديرو تكنولوجيز تعلن عن نمو سنوي بنسبة 15% منذ حيازتها في 2008.
ومع ذلك، يظل دلفي حل فعال لتطوير تطبيقات مختلفة. وبالإضافة إلى ذلك، Microsoft في كثير من الأحيان تغير التكنولوجيا في طريقها لطمأنة بعض الشركات أو المطورين الذين يعرفون أن دلفي تحافظ على استمراريته منذ عام 1991. وعلاوة على ذلك، يظل المجتمع دلفي نشطة جداً ومتماسكة كما هو موضح في النشاط الهام دائماً من مواقع الإنترنت المكرسة للغة.

واجهة تطوير دلفي

واجهة التطوير و بيئة  التنمية  تعتمد على واجهة المستخدم الرسومية  المقترنة ببرمجية المصدر للمحرر . أنه يدين بنجاحه لسهولة استخدامه لوضع الرسومات و/أو ذات الصلة بتطبيقات قواعد البيانات. وكثيراً ما يقرن ال فيجوال بيسك من مايكروسوفت بسهولة الاستخدام والبرمجة . بل يمكن أن نقول أن من متعته هزاز الحركة ، أثرت في بي (توضيح)دلفي الذي يؤثر بدوره علىفي بي (توضيح)ا(أندرس هيلسبرغ  خلال الفترة التي قضاها في Microsoft).
بيئة تطوير الأنظمة البرمجية تسهل عمل المبرمج. أنه يحافظ على المراسلات التلقائية بين عرض التصميم (النافذة أن يبني المبرمج إسقاط مكونات الرسم) ومحرر التعليمات البرمجية (عرض عرض التعليمات البرمجية المصدر التي سيتم إنشاء هذه المكونات لتشغيل). يتم تخزين البيانات الخاصة بالعنصر في ملفات امتداد.DFM ثم أن مصدر التعليمات البرمجية ل"باسكال " يتم حفظها في ملفات ملحق.PAS. في حين يتم توليد التعليمات اللازمة لإنشاء مكونات واجهة لغات أخرى (مثل #c مع ويندوز فورمز) وذلك بحقن مقطع من التعليمات البرمجية المصدر للبرنامج، دلفي يفصل البيانات الثابتة من وصف الواجهة، على طريقة  XAML، ويستند إلىVCL  لاجراءات  القراءة وعرض الواجهة في وقت التشغيل.
واجهة التنمية يسمح بإضافة مكونات طرف ثالث (رسومية أو لا) عن طريق نظام المكونات. والنمطية تتحقق في التصميم ولكن أيضا يمكن أن تعمل في وقت التشغيل عن طريق نظام التحميل الديناميكي لحزم التنفيذ، بورلاند وسعت مفهوم المكتبات المشتركة وتنسيق Windows DLL بإدخال مالكا لنموذج التسجيل بشكل حيوي وتصدير الطبقات بين الوحدات النمطية. سوف تولي نفس نظام مايكروسوفت ضمن فيجوال بيسك مع تنسيق VBX، ومن ثم عبر النظام مع مكونات COM و آكتيف إكس.

الإطار العلوي

يمكن اعتباره الإطار الرئيسي يحتوي على أشرطة الأدوات ولوحة المكونات توصلك أشرطة أدوات دلفي  إلى وظائف كالفتح والتخزين والبناء وتحتوي لوحة المكونات على كثير من مكونات  دلفي التي يمكن وضعها في برامجك (لافتة نصية ، علب تحرير ، مربعات سرد وأزرار وما شابه ذلك ). لتكون أكثر ملائمة فإن المكونات مقسمة إلى مجموعات ، حتى تضع مكون على برنامجك انقر على المكون ومن ثم انقر على المكان حيث تريد وضع المكون على النموذج.

مفتش الكائنات

والذي يتم بواسطته تعديل الخصائص والأحداث للمكون وسوف تستخدمه بشكل دائم خلال عملك مع دلفي وهناك بابين لمفتش الكائنات هما الخصائص Properties والأحداث Events.
مصطلح الخاصة Property يحتوي على خصائص لها قيم تحدد عمل المكون
يتضمن باب الأحداث Events قائمة أحداث المكون . تتشكل الأحداث نتيجة لتفاعل المستخدم مع المكون مثلا عند نقر المكون يتولد حدث يخبرك بأن المكون قد نقر بإمكانك كتابة أوامر تستجيب لهذه الأحداث.
مصطلح الحدث Event هو شيء ما يحصل كنتيجة لتفاعل المكون مع المستخدم أو مع ويندوز.
مصطلح معامل الحدث Event Handler هو مقطع من البرمجة ينفذ استجابة للحدث.

منطقة عمل دلفي

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

مثال  تم إنشاؤه

يظهر رمز التالي التي على أن دلفي يولد عند إنشاء تطبيق فارغ. وتمثل النافذة على الشاشة من قبل فئة (TForm1)، والتي سيتم إنشائها  في وقت التشغيل والذي تم تعيينه  إلى المتغير Form1. وتعرف أيضا مكونات أخرى مثل الطبقات التي يتم تخزينها في ملفات الكتابة أثناء استخدام  وحدة رمز المصدر:
unit Unit1;interfaceuses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs;type
  TForm1 = class(TForm)
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;var
  Form1: TForm1;implementation{$R *.dfm}end.

مثال لبرنامج يظهر رسالة أهلا بالعالم:
1 program Project1;2 3 uses Windows;4 5 begin6   MessageBox(0, 'Hellow world', 'Message', $40);7 end.
مثال لدالة برمجية احترافية من برمجة المبرمج (Al simo siimox) تقوم بتحويل الأعداد من النظام العشري إلى الثنائي:
 1 function DecToBin(I: Int64): String; 2   var R: Real; 3 begin 4   Result := ''; 5   if I <= 0 then Exit; 6   R := 1; 7   while R > 0 do begin 8     R := I / 2; 9     if Trunc(R) < R then Result := '1' + Result else Result := '0' + Result;10     I := Trunc(R);11   end;12 end;
ومع ذلك، هذا هو كل ما يخلق دلفي (ما عدا العناصر البرمجية وضعت عن طريق EDI). 
إذا  حذر مبرمج  من إنشاء فئات بفعالية لأفضل تصميم وهيكل البيانات الخاصة بهم، بورلاند يوفر الأدوات الأخرى على أساس UML ModelMaker من ModelMakerTools أنه يسمح لتوليد كل رمز واجهة لفئة معينة كما يسمح بتطبيق قالب التصميم (علم الحاسب) بسهولة أ ،المنتوج بورلاند الناتج عن اقتناء TogetherSoft.

مستقبل دلفي

دلفي XE 3: ينبغي أن يؤدي هذا المشروع إلى إنشاء منصة ترجمة باسكال للويندوز، ماك، لينكس، وiOS وأندرويد.
وكل هذه المنصات لمقررة لعام 2013.