التدقيق الإملائي من رمز دلفي باستخدام أتمتة MS Word

click fraud protection

01

من 07

ما هو أتمتة (OLE)؟ ما هو خادم الأتمتة؟ ما هو عميل الأتمتة؟

افترض أنك تقوم بتطوير محرر HTML مثل مجموعة HTML. مثل أي محرر نصي آخر ، يجب أن يحتوي تطبيقك على نوع من نظام التدقيق الإملائي. لماذا تشتري مكونات التدقيق الإملائي أو تكتبها من الصفر بينما يمكنك استخدام MS Word بسهولة؟

أتمتة OLE

يمكن لأحد التطبيقات التحكم في تطبيق آخر

عميل الأتمتة

خادم الأتمتة

الأتمتة (تُعرف أيضًا باسم أتمتة OLE) هي ميزة تستخدمها البرامج لفضح كائناتها لأدوات التطوير ولغات الماكرو والبرامج الأخرى التي تدعم الأتمتة. على سبيل المثال ، قد يعرض برنامج Microsoft Outlook كائنات لإرسال البريد الإلكتروني واستلامه ولجدولة الاتصال وإدارة المهام.

باستخدام Word Automation (الخادم) ، يمكننا استخدام Delphi (العميل) لإنشاء مستند جديد ديناميكيًا ، وإضافة بعض النص الذي نريد التدقيق الإملائي ، ثم جعل Word يقوم بالتدقيق الإملائي. إذا حافظنا على Microsoft Word مصغرًا ، فقد لا يعرف مستخدمونا أبدًا! بفضل واجهة OLE في Microsoft Word ، يمكننا القيام برحلة جانبية من دلفي وإلقاء نظرة على طرق الغش عند تطوير إصدار محرر المفكرة لدينا :)

هناك خلل واحد فقط ؛) يحتاج مستخدمي التطبيق إلى تثبيت Word. لكن لا تدع هذا يوقفك.

instagram viewer

بالطبع ، لإتقان استخدام الأتمتة بشكل كامل في تطبيقاتك ، يجب أن يكون لديك معرفة عملية تفصيلية بالتطبيقات التي تقوم بدمجها - في هذه الحالة MS Word.

لكي تعمل برامج "Office" ، يجب أن يمتلك المستخدم التطبيق الذي يعمل مثل خادم الأتمتة. في حالتنا ، يجب تثبيت MS Word على جهاز المستخدم.

02

من 07

الاتصال بالكلمة: الربط المبكر "Hello Word" مقابل الربط المتأخر

هناك عدة خطوات رئيسية وثلاث طرق رئيسية لأتمتة Word من دلفي.

دلفي> = 5 - مكونات خادم Office XX

تطبيق TWord

وثيقة TWord

دلفي 3،4 - ربط مبكر

اكتب مكتبات

لاستخدام مكتبة الأنواع في Word في دلفي (الإصدار 3 أو 4) حدد Project | قائمة استيراد مكتبة الأنواع… واختر الملف msword8.olb الموجود في دليل "Office" الخاص بـ Microsoft Office. سيؤدي ذلك إلى إنشاء ملف "Word_TLB.pas" وهو عبارة عن ترجمة باسكال الكائن لمكتبة الأنواع. تتضمن Word_TLB في قائمة الاستخدامات لأي وحدة ستصل إلى خصائص Word أو طرقه. يُشار إلى أساليب Word المرجعية باستخدام مكتبة الأنواع ربط مبكر.

دلفي 2 - الربط المتأخر

الربط المتأخر

يجب تجنبه ، إذا كان ذلك ممكنًا ، نظرًا لأنه من الأسهل والأسرع استخدام مكتبات الأنواع - يساعد المترجم من خلال التقاط الأخطاء في المصدر. عند استخدام برنامج الربط المتأخر ، يتم الإعلان عن أنه متغير من نوع متغير. هذا يعني بشكل خاص من استدعاء طرق والوصول إلى خصائص يجب أن تعرف ما هي.

04

من 07

مشروع التدقيق الإملائي - TWordApplication ، TWordDocument

المشروع الإملائي في وقت التصميم
المشروع الإملائي في وقت التصميم.

لبناء مشروع تدقيق إملائي ، سنحتاج إلى نموذجين: أحدهما يستخدم لتحرير النص والآخر لرؤية الاقتراحات الإملائية... ولكن ، دعنا نذهب من البداية.

ابدأ دلفي. إنشاء مشروع جديد بنموذج فارغ (بشكل افتراضي 1). سيكون هذا هو النموذج الرئيسي في التدقيق الإملائي بمشروع MS Word. أضف واحدا TMemo (علامة تبويب قياسية) واثنان الأزرار إلى النموذج. قم بإضافة بعض النص إلى مذكرة تعبئة خاصية الخطوط. بالطبع ، مع بعض الأخطاء المطبعية. حدد علامة التبويب الخوادم وقم بإضافتها تطبيق TWord و وثيقة TWord إلى النموذج. تغيير اسم مكون TWordApplication من WordApplication1 إلى WordApp ، WordDocument1 إلى WordDoc.

TWordApplication ، TWordDocument

الملكية المنشورة ConnectKind يُستخدم للتحكم فيما إذا كنا نتصل بمثيل Word تم تشغيله حديثًا أو بمثيل موجود قيد التشغيل بالفعل. قم بتعيين ConnectKind على ckRunningInstance.

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

05

من 07

مشروع التدقيق الإملائي - التدقيق الإملائي / الاستبدال

GetSpellingSuggestions في وقت التصميم
GetSpellingSuggestions في وقت التصميم.

والفكرة هي تكرار النص في المذكرة وتوزيعه على كلمات محددة بمسافات. لكل كلمة ، نطلق عليها MS Word للتدقيق الإملائي. يحتوي نموذج الأتمتة في Word على طريقة SpellingErrors التي تسمح لك بالتدقيق الإملائي للنص الموجود في بعض النطاقات.

تم تعريف النطاق ليحتوي فقط على الكلمة التي تم تحليلها للتو. تُرجع طريقة SpellingErrors مجموعة من الكلمات التي بها أخطاء إملائية. إذا كانت هذه المجموعة تحتوي على أكثر من صفر كلمات ننتقل إليها. يؤدي استدعاء أسلوب GetSpellingSuggestions ، بتمرير الكلمة المكتوبة بشكل غير صحيح ، إلى تعبئة مجموعة SpellingSuggestions من الكلمات البديلة المقترحة.

نقوم بتمرير هذه المجموعة إلى نموذج SpellCheck. هذا هو الشكل الثاني في مشروعنا.

لإضافة نموذج جديد إلى مشروع استخدم File | صيغة جديدة. دعها تحمل اسم "frSpellCheck". أضف ثلاثة مكونات TBitBtn في هذا النموذج. جهازي EditBox-es و ListBox. لاحظ التسميات الثلاثة الأخرى. التصنيف "ليس في القاموس" مرتبط بمربع تحرير edNID. يعرض edNID ببساطة الكلمة التي بها أخطاء إملائية. يسرد مربع قائمة lbSuggestions العناصر الموجودة في مجموعة SpellingSuggestions. يتم وضع اقتراح التدقيق الإملائي المحدد في مربع التحرير edReplaceWith.

يتم استخدام BitButtons الثلاثة لإلغاء التدقيق الإملائي ، وتجاهل الكلمة الحالية ولتغيير الكلمة التي بها خطأ إملائي مع الكلمة الموجودة في مربع التحرير edReplaceWith. يتم استخدام خاصية ModBResult لمكونات BitBtn عند الإشارة إلى ما نقر عليه المستخدم. يحتوي الزر "تجاهل" على خاصية ModalResult التي تم تعيينها على mrIgnore و "تغيير" إلى mrOk و "إلغاء" إلى mrAbort.

يحتوي frSpellCheck على متغير سلسلة عمومية واحدة تسمى sReplacedWord. يعيد هذا المتغير النص الموجود في edReplaceWith عندما يضغط المستخدم على الزر "تغيير".

07

من 07

القاموس الموسوعي للمفردات؟ القاموس الموسوعي للمفردات!

كمكافأة ، لدى المشروع رمز لاستخدامه مكنز الكلمات. استخدام المكنز أسهل بكثير. لا نقوم بتحليل النص ، للكلمة المحددة تسمى طريقة CheckSynonyms. تعرض هذه الطريقة مربع حوار التحديد الخاص بها. بمجرد تحديد كلمة جديدة ، يتم استخدام محتويات نطاق مستندات Word لاستبدال الكلمة الأصلية.

instagram story viewer