معلومات

دلفي مترجم إصدار التوجيهات

دلفي مترجم إصدار التوجيهات

إذا كنت تخطط لكتابة شفرة دلفي التي يجب أن تعمل مع عدة إصدارات من برنامج دلفي للمترجمين ، فأنت بحاجة إلى معرفة الإصدارات التي يتم تجميع الشفرة فيها.

افترض أنك تكتب المكون المخصص التجاري الخاص بك. قد يكون لدى مستخدمي المكون الخاص بك إصدارات Delphi مختلفة عما لديك. إذا حاولوا إعادة ترجمة رمز المكون الخاص بك ، فقد يكونون في ورطة! ماذا لو كنت تستخدم المعلمات الافتراضية في وظائفك وكان المستخدم لديه دلفي 3؟

توجيه المترجم: $ IfDef

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

يبدأ توجيه برنامج التحويل البرمجي $ IfDef قسم الترجمة الشرطية.

يشبه بناء الجملة:

{$ IfDef DefName}


{$ عدا}


{$ ENDIF}

ال DefName يقدم ما يسمى الرمز الشرطي. تعرف دلفي العديد من الرموز الشرطية القياسية. في "الرمز" أعلاه ، إذا تم تعريف DefName الرمز أعلاه $ عدا ذلك يحصل على تجميع.

دلفي نسخة الرموز

الاستخدام الشائع لتوجيه $ IfDef هو اختبار إصدار المحول البرمجي Delphi. تشير القائمة التالية إلى الرموز المراد التحقق منها عند التحويل الشرطي لإصدار معين من برنامج التحويل البرمجي Delphi:

  • رمز - نسخة التجميع
  • VER80 - دلفي 1
  • VER90 - دلفي 2
  • VER100 - دلفي 3
  • VER120 - دلفي 4
  • VER130 - دلفي 5
  • VER140 - دلفي 6
  • VER150 - دلفي 7
  • VER160 - دلفي 8
  • VER170 - دلفي 2005
  • VER180 - دلفي 2006
  • VER180 - دلفي 2007
  • VER185 - دلفي 2007
  • VER200 - دلفي 2009
  • VER210 - دلفي 2010
  • VER220 - دلفي XE
  • VER230 - دلفي XE2
  • WIN32 - يشير إلى أن بيئة التشغيل هي Win32 API.
  • LINUX - يشير إلى أن بيئة التشغيل هي Linux
  • MSWINDOWS - يشير إلى أن بيئة التشغيل هي MS Windows / li
  • وحدة التحكم - يشير إلى أنه يتم تصنيف تطبيق كتطبيق وحدة التحكم

من خلال معرفة الرموز أعلاه ، من الممكن كتابة التعليمات البرمجية التي تعمل مع العديد من إصدارات Delphi باستخدام توجيهات برنامج التحويل البرمجي لتجميع التعليمات البرمجية المصدر المناسبة لكل إصدار.

ملاحظة: يتم استخدام الرمز VER185 ، على سبيل المثال ، للإشارة إلى مترجم دلفي 2007 أو إصدار سابق.

باستخدام رموز "VER"

من المعتاد جدًا (ومرغوب فيه) لكل إصدار جديد من دلفي إضافة عدة إجراءات RTL جديدة إلى اللغة.

على سبيل المثال ، تضيف الدالة IncludeTrailingBackslash ، المقدمة في Delphi 5 ، "" إلى نهاية السلسلة إذا لم تكن موجودة بالفعل. في مشروع Delphi MP3 ، استخدمت هذه الوظيفة وشكا العديد من القراء من أنهم لا يستطيعون تجميع المشروع - لديهم بعض إصدارات Delphi قبل Delphi 5.

إحدى الطرق لحل هذه المشكلة هي إنشاء الإصدار الخاص بك من هذا الروتين - وظيفة AddLastBackSlash. إذا كان يجب تجميع المشروع على Delphi 5 ، فسيتم استدعاء IncludeTrailingBackslash. إذا تم استخدام بعض إصدارات دلفي السابقة ، فإننا نحاكي وظيفة IncludeTrailingBackslash.

يمكن أن يبدو شيء مثل:

وظيفة AddLastBackSlash (شارع: خيط) : خيط;

ابدأ{$ IFDEF VER130}

النتيجة: = IncludeTrailingBackslash (str) ؛

{$ ELSE}إذا نسخ (شارع ، طول (شارع) ، 1) = "" ثم

النتيجة: = شارع

 آخر

  النتيجة: = str + ""؛

{$ ENDIF}النهاية;

عند استدعاء وظيفة AddLastBackSlash ، يقوم دلفي بتحديد أي جزء من الوظيفة يجب استخدامه والجزء الآخر يتم تخطيه ببساطة.

دلفي 2008

يستخدم Delphi 2007 VER180 للحفاظ على التوافق غير المتقطع مع Delphi 2006 ثم يضيف VER185 من أجل التطوير الذي يحتاج على وجه التحديد إلى استهداف Delphi 2007 لأي سبب من الأسباب. ملحوظة: في أي وقت تقوم واجهة الوحدة بتغيير الرمز الذي يستخدم هذه الوحدة يجب إعادة تجميعه.

يعد Delphi 2007 إصدارًا غير متقطع وهذا يعني أن ملفات DCU من Delphi 2006 ستعمل كما هي.