دلفي (لغة برمجة)
دلفي ، أو CodeGear Delphi سابقا أو Embarcadero Delphi حاليا هي لغة برمجة كانت من إنتاج شركة بورلاند سابقا و تطورها الآن شركة امباركاديرو تكنولوجيز. هذه اللغة مبنية على لغة باسكال الكائنية حيث تعتبر تطويراً للغة باسكال القديمة، تعتبر دلفي لغة شائعة ومنتشرة حالياُ، وهي دلفي لغة مرئية و من اللغات العالية الإنتاجية. وتعتبر في مصاف اللغات القوية والسهلة معا.
تستخدم دلفي لتطوير البرامج والتطبيقات بشكل سريع ولذلك يشار إليها بأنها ذات صفة بيئة تطوير متكاملة R.A.D وهذه الصفة تعني تطوير البرامج بسرعة أي Rapid Application Development وذلك يتحقق باستخدام مكونات وأدوات جاهزة تنسق بالشكل المطلوب ويتم برمجتها بكتابة عدة برامج مرتبطة بأحداث معينة خاصة بهذه المكونات أو العناصر ويشار إلي هذا النوع من البرمجة بالبرمجة بالأحداث.
البرمجة بالأحداث هي برمجة تتوقف على حدوث حدث ما لعنصر ما يوجد في التطبيق بمعنى عند حدوث حدث معين مثل النقر على زر أو إغلاق إطار ، يتم تطبيق برنامج معين سبق كتابته في التطبيق ويفهم من ذلك أن لكل كائن أو عنصر Object حدث أو أكثر يمكن ربط أي منها بإجراء معين.
يطلق في علم البرمجة المرئية على العنصر اسم Object وهو نفسه الكائن أو المكون Component والعناصر هي عبارة عن أي شئ تم استخدامه في البرنامج مثل الإطار (Form) أو الزر (Button) أو مربع النص (Edit) أو القائمة (Menu) ... الخ.
لكل عنصر Object أحداث معينة مرتبطة به أو بمعنى آخر أحداث تحدث له في وقت معين ، فمثلاً تستخدم الأزرار كي يتم النقر عليها غالباً وعملية النقر هذه يشار إليها في علم البرمجة المرئية على أنها حدث النقر ، فعند النقر على زر ما تقوم لغة البرمجة المرئية Delphi بتطبيق الإجراء المرتبط بهذه الحدث والذي سبق وأن تمت برمجته من قبل المبرمج. أيضاً الكتابة داخل مربع النص تعتبر حدث والدخول أو الخروج من مربع النص يعتبر حدث آخر وتمرير مؤشر الماوس على أحد العناصر يعتبر أيضا حدث يمكن ربطه بإجراء (برنامج) معين... وهكذا.
تسمح لغة البرمجة Delphi للمبرمج بتصميم التطبيق المطلوب باستخدام عدة عناصر Objects توضع على إطار Form واحد أو أكثر حسب الشكل الذي يحتاجه التطبيق ومن ثم يتم كتابة البرامج أو الإجراءات Procedures لكل حدث event من الأحداث المراد برمجتها بمعنى أنه لو تم استخدام زر Button في التطبيق فإنه من الطبيعي أن يتم كتابة إجراء لحدث النقر على هذا الزر . وهكذا يتم كتابة كل الإجراءات اللازمة للتطبيق.
نستنتج من ذلك أن عملية تطوير التطبيقات باستخدام لغة البرمجة المرئية Delphi تمر بمرحلتين :
هي تصميم التطبيق وفي هذه المرحلة يتم وضع وتنسيق العناصر التي يتكون منها التطبيق ويتخلل هذه المرحلة تحديد خصائص Properties كل عنصر وخصائص العنصر هي عبارة عن مواصفاته مثل الأبعاد والموقع والاسم واللون وغير ذلك ويلاحظ هنا أن لكل عنصر خصائصه وإن اشتركت بعض العناصر في بعض الخصائص.
هي مرحلة كتابة الإجراءات المرتبطة بالأحداث وهي مرحلة البرمجة حيث يتم كتابة برامج صغيرة كانت أو كبيرة على هيئة إجراءات Procedures خاصة بأحداث معينة للعناصر المستخدمة في التطبيق.
يطلق على العناصر Objects المستخدمة في تطبيقات Delphi اسم مكونات Components وأحياناً تسمى المكونات الرسومية أي Visual Components ولغة Delphi غنية بهذه المكونات وتسمى مكتبة المكونات الرسومية VCL أو Visual Component Library بحيث يمكن لمطوري التطبيقات استخدامها لإنشاء وتصميم أي تطبيق. كما أن لغة Delphi تسمح بإنشاء مكونات رسومية خاصة بمطوري التطبيقات يمكن إضافتها إلى مكتبة المكونات الرسومية VCL الخاصة بلغة Delphi لكي يمكن استخدامها في أي وقت لاحقاً.
الإجراء هو مجموعة أسطر برمجية تبدأ بعنوان للإجراء وتهدف إلى إنجاز عمل ما داخل التطبيق ويتم تنفيذ هذا الإجراء باستدعائه بواسطة عنوانه أي يكتب العنوان كسطر من أسطر البرمجة.
في لغة Delphi لكل حدث إجراء يتم تنفيذه عند حدوث ذلك الحدث كما يمكن تنفيذ نفس الإجراء بكتابة عنوانه في إحدى الأحداث الأخرى.
كما يمكن في لغة Delphi كتابة إجراءات عامة يمكن لجميع الأحداث استدعاءها وتنفيذها عند اللزوم وتأخذ كافة الإجراءات في لغة Delphi الشكل الآتي :
الوظيفة تشبه الإجراء تماما إلا أنها ترجع قيمة واحدة أي أن اسم الوظيفة يعمل كمتغير يحمل قيمة الوظيفة النهائية بمعنى أنه يمكن استخدام اسم الوظيفة ضمن أي سطر من أسطر البرمجة للتعبير عن القيمة التي تحملها الوظيفة.
هي تجميع لعدة إجراءات ووظائف في ملف واحد يدعى Unit وذلك كي يمكن استخدام ملف الوحدة في أي تطبيق يحتاج إجراءات أو وظائف هذه الوحدة.
Delphi’s Integrated Development Environment (IDE) :
يقصد بها بيئة Delphi المستخدمة لتطوير البرامج والتطبيقات وهي بيئة تحتوي على كافة الأدوات اللازمة لتصميم
وبرمجة وتشغيل وتجربة التطبيقات وسميت مدمجة لأن كل الأدوات اللازمة للتطوير تعمل مدمجة مع بعض لإتاحة كل ما يحتاجه المبرمجون لإنهاء عملهم وتتكون بيئة التطوير المدمجة للغة Delphi من الآتي :
من المعروف أن دلفي كانت منتج بورلاند حاليا أومباركاديرو الأكثر مبيعاً للتطوير السريع للتطبيقات RAD)Rapid Application Development) والمستخدم لكتابة تطبيقات ويندوز ، و بالإمكان استخدام الدلفي لإنشاء تطبيقات ويندوز بسرعة أكبر وبسهولة أكثر من أي وقت مضى.
هذا يعني أنه من المستطاع إنشاء واجهة المستخدم ( يقصد بواجهة المستخدم القوائم ومربعات الحوار والإطار الرئيسي .) لأي برنامج باستخدام تقنيات السحب والإفلات لمطور تطبيقات سريع ، يمكنك أيضاً وضع تحكمات أكتيف إكس Active X على نماذجك لإنشاء برامج متخصصة مثل برامج استعراض الويب في دقائق، سيكون ذلك ممتعاً ولكن حتى تصبح مبرمج تطبيقات ويندوز قدير يتطلب منك عملاً مضنياً.
تقوم دلفي بعمل جيد وذلك بإخفاء بعض التفصيلات التي تشكل أحشاء برنامج الويندوز ولكن ليس بإمكانها كتابة البرامج من أجلك ، لذلك يجب في النهاية أن تكون مبرمجا ، ويمكن لهذه العملية أن تكون طويلة ، والخبر الجيد أن دلفي تجعل رحلتك غير متعبة وحتى أنها تجعلها ممتعة .
Anders Hejlsberg عمل اولا على مكتبة فئة Visual J + + لغة، ثم على المشروع(NET.)وهو أيضا مخترع C #.
وبعد رحيل العديد من ألاعضاء الذي تزامن مع انخفاض عام في جودة المنتج باعتباره استثمارا التسويق من قبل بورلاند،فضلا عن الافتقار إلى الاستثمار في التسويق من جانب بورلاند.
ومع ذلك، في أوائل عام 2000، ضلت بورلاند هي واحدة من القليلين الناشرين (على الورق) لتطوير نفس مجموعة أدوات التطبيقات الأصلية, التطبيقاتNET. فضلا عن التطبيقات التي تعمل على لينكس مع Kylix .
تجمع دلفي بين سهولة لغة فيجوال بيسك وقوة لغة سي++.
في الحقيقة هي أسهل من الفيجوال بيسك ، لأنها تعتمد على لغة الباسكال المعروفة بوضوحها الشديد والتي تدرس في السنوات الأولى لسهولتها وسرعة استيعاب الطلاب لها فهي لغة عالية المستوى أي أنها لغة قريبة من لغة الإنسان ورموزها واضحة تفهم من النظرة الأولى.
هناك نسختان من هذه اللغة، النسخة الأولى خاصة بنظام التشغيل مايكروسوفت ويندوز وهي دلفي، والثانية خاصة بنظام التشغيل لينكس تم إنشاؤها سنة 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 المكون الأكثر استخداماً والرئيسي لتحسين دلفي، يعمل الآن بشكل صحيح. وأخيراً، الوثائق الرسمية ليست كاملة مثل دلفي بورلاند ي ولكن توجد مواقع كثيرة جداً لعلاج هذا العيب.
دلفي مكتبة ممتازة للمكونات البصرية والبصرية، Visual Component Library ل(VCL)، والمفهوم مماثل MFC في Visual Studio. يسمح VCL بين أمور أخرى الرسم بسرعة تطبيقات رسومية، وإخفاء المكالمات إلى مجمعات Windows API. منذ دلفي 1، VCL تتحسن بواسطة بورلاند في كل نسخة جديدة من دلفي مع صنع التوافق الكامل (تقريبا) في واجهة المكتبة، والذي يسمح لترحيل المشاريع عن طريق الحد من إعادة كتابة التعليمات البرمجية.
C+ + منشئ يستخدم نفس المكتبة المكونات ويملك "مترجم" باسكال إلى c + +، بينما يقل c + + التي تحتوي على ملحقات محددة إلى بورلاند مفهومة من شقيق "c + + دلفي". وهكذا، يمكن أن تعمل كافة التعليمات البرمجية دلفي مع منشئ + + C.
للخروج 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. وتعرف أيضا مكونات أخرى مثل الطبقات التي يتم تخزينها في ملفات الكتابة أثناء استخدام وحدة رمز المصدر:
مثال لبرنامج يظهر رسالة أهلا بالعالم:
program Project1;
uses Windows;
begin
end.
مثال لدالة برمجية احترافية من برمجة المبرمج (Al simo siimox) تقوم بتحويل الأعداد من النظام العشري إلى الثنائي:
function DecToBin(I: Int64): String;
begin
end;
ومع ذلك، هذا هو كل ما يخلق دلفي (ما عدا العناصر البرمجية وضعت عن طريق EDI). 
إذا حذر مبرمج من إنشاء فئات بفعالية لأفضل تصميم وهيكل البيانات الخاصة بهم، بورلاند يوفر الأدوات الأخرى على أساس UML ModelMaker من ModelMakerTools أنه يسمح لتوليد كل رمز واجهة لفئة معينة كما يسمح بتطبيق قالب التصميم (علم الحاسب) بسهولة أ ،المنتوج بورلاند الناتج عن اقتناء TogetherSoft.
دلفي XE 3: ينبغي أن يؤدي هذا المشروع إلى إنشاء منصة ترجمة باسكال للويندوز، ماك، لينكس، وiOS وأندرويد.
وكل هذه المنصات لمقررة لعام 2013.