בדיקת איות מקוד דלפי באמצעות אוטומציה של MS Word

01

של 07

מהי (OLE) אוטומציה? מהו שרת אוטומציה? מהו לקוח אוטומציה?

נניח שאתה מפתח עורך HTML כמו ערכת HTML. כמו כל עורך טקסטואלי אחר, היישום שלך צריך להכיל מערכת בדיקת איות מסוג כלשהי. מדוע לקנות רכיבים לבדיקת איות או לכתוב אותם מאפס כאשר אתה יכול להשתמש ב- MS Word בקלות?

אוטומציה של OLE

יישום אחד יכול לשלוט ביישום אחר

לקוח אוטומציה

שרת אוטומציה

אוטומציה (הידועה גם בשם OLE Automation) היא תכונה בה תוכנות משתמשות כדי לחשוף את האובייקטים שלהם לכלי פיתוח, שפות מאקרו ותוכנות אחרות התומכות באוטומציה. לדוגמה, Microsoft Outlook עשויה לחשוף אובייקטים לשליחה וקבלה של דואר אלקטרוני, לתזמון ולניהול אנשי קשר וניהול משימות.

על ידי שימוש באוטומציה של Word (שרת), אנו יכולים להשתמש בדלפי (לקוח) כדי ליצור באופן דינמי מסמך חדש, להוסיף קצת טקסט שברצוננו לבדוק בדיקת איות, ואז לאפשר ל- Word לבדוק את האיות. אם אנו ממזערים את Microsoft Word, ייתכן שהמשתמשים שלנו לעולם לא יידעו! בזכות ממשק ה- OLE של מיקרוסופט וורד, אנו יכולים לצאת לטיול צדדי מדלפי ולבחון דרכים לרמות בעת פיתוח הגרסה שלנו לעורך פנקס הרשימות :)

יש רק תקלה אחת;) משתמשים ביישום צריכים להתקין את Word. אבל אל תיתן לזה לעצור אותך.

instagram viewer

כמובן שכדי לשלוט במלואו על השימוש באוטומציה ביישומים שלך, עליך להיות בעל ידע מפורט על היישומים שאתה משלב - במקרה זה MS Word.

על מנת שתוכניות ה- "Office" שלך יפעלו, על המשתמש להיות בעל היישום הפועל כמו שרת אוטומציה. במקרה שלנו יש להתקין את MS Word במחשב המשתמש.

02

של 07

התחברות למילה: "שלום וורד" כריכה מוקדמת לעומת כריכה מאוחרת

ישנם מספר שלבים עיקריים ושלוש דרכים עיקריות לאוטומציה של Word מדלפי.

דלפי> = 5 - רכיבי שרת Office XX

TWordApplication

TWordDocument

דלפי 3,4 - כריכה מוקדמת

הקלד ספריות

כדי להשתמש בספריה מסוג Word בדלפי (גרסה 3 או 4) בחרו בפרויקט | ייבא את התפריט Type Library... ובחר את הקובץ msword8.olb שנמצא בספריית "Office" של Microsoft Office. פעולה זו תיצור את הקובץ "Word_TLB.pas" המהווה את התרגום הפאסלי של האובייקט של ספריית הסוגים. כלול Word_TLB ברשימת השימושים של כל יחידה שתשיג גישה למאפייני או לשיטות Word. הפניה לשיטות Word באמצעות ספריית הסוגים נקראת כריכה מוקדמת.

דלפי 2 - כריכה מאוחרת

כריכה מאוחרת

יש להימנע, אם אפשר, מכיוון שהרבה יותר קל ומהיר להשתמש בספריות מסוג - המהדר עוזר על ידי תפיסת שגיאות במקור. כשמשתמשים בכריכה מאוחרת מוצהרים כי Word משתנה מסוג וריאנט. משמעות הדבר היא במיוחד מאשר להתקשר לשיטות ולגשת למאפיינים, עליכם לדעת מה הם.

04

של 07

פרויקט בדיקת האיות - TWordApplication, TWordDocument

פרויקט האיות בזמן העיצוב
פרויקט האיות בזמן העיצוב.

כדי לבנות פרויקט בדיקת איות נצטרך שתי טפסים: האחד המשמש לעריכת הטקסט והשני כדי לראות את הצעות האיות... אבל, בוא נלך מההתחלה.

התחל את דלפי. צור פרויקט חדש עם טופס ריק אחד (form1, כברירת מחדל). זו תהיה הצורה העיקרית בפרויקט בדיקת האיות עם פרויקט MS Word. הוסף אחד TMemo (לשונית סטנדרטית) ושניים כפתורים לטופס. הוסף קצת טקסט לתזכיר שממלא את המאפיין קווים. כמובן, עם כמה שגיאות הקלדה. בחר בכרטיסייה שרתים והוסף TWordApplication ו TWordDocument לטופס. שנה את שמו של רכיב TWordApplication מ- WordApplication1 ל- WordApp, WordDocument1 ל- WordDoc.

TWordApplication, TWordDocument

הנכס שפורסם ConnectKind משמש לבקרה אם אנו מתחברים למופע Word שהושק לאחרונה או למופע קיים שכבר פועל. הגדר את ConnectKind למצב ckRunningInstance.

כאשר אנו פותחים או יוצרים קובץ ב- Word, אנו יוצרים אובייקט מסמך. משימה נפוצה בעת שימוש באוטומציה של Word היא לציין אזור במסמך ואז לעשות איתו משהו, כמו להוסיף טקסט ובדיקת איות. אובייקט המייצג אזור רציף במסמך נקרא טווח.

05

של 07

פרויקט בדיקת האיות - בדיקת איות / החלפה

GetSpelling שקעים בזמן עיצוב
GetSpelling שקעים בזמן עיצוב.

הרעיון הוא לעבור את הטקסט בתזכיר ולנתח אותו למילים מופרדות בחלל. עבור כל מילה, אנו קוראים ל- MS Word כדי לבדוק אותה. מודל האוטומציה של Word מכיל את שיטת SpellingErrors המאפשרת לבדוק את איות הטקסט הכלול בטווח מסוים.

הטווח מוגדר להכיל רק את המילה שרק נותחה. שיטת SpellingErrors מחזירה אוסף של מילים שאיות שגויות. אם אוסף זה מכיל יותר מאפס מילים אנו עוברים הלאה. קריאה לשיטת GetSpellingSuggestions, המעבירה את המילה שאויתה בצורה לא נכונה, ממלאת אוסף SpellingSuggestions של מילות החלפה מוצעות.

אנו מעבירים את האוסף הזה לטופס האיות. זו הצורה השנייה בפרויקט שלנו.

כדי להוסיף טופס חדש לפרויקט השתמש ב- File | טופס חדש. תן לזה את השם 'frSpellCheck'. הוסף שלושה רכיבי TBitBtn בטופס זה. שני EditBox- ים ואחד ListBox. שימו לב לשלוש התוויות הנוספות. התווית "לא במילון" מחוברת "מחוברת" לתיבת העריכה edNID. ה- edNID פשוט מציג את המילה עם איות שגוי. תיבת הרשימה lbSuggestions תפרט את הפריטים באוסף SpellingSuggestions. הצעת האיות שנבחרה ממוקמת בתיבת העריכה edReplaceWith.

שלושת כפתורי ה- Bit משמשים לביטול בדיקת האיות, התעלמות מהמילה הנוכחית וכדי לשנות את המילה עם איות שגוי במילה בתיבת העריכה edReplaceWith. משתמשים במאפיין BitBtn של רכיבי ModalResult כאשר הוא מתייחס לדברים שהמשתמש לחץ עליו. כפתור "התעלם" מכיל נכס ModalResult שלו כ- mrIgnore, "Change" ל- mrOk ו- "Cancel" ל- mrAbort.

ל- frSpellCheck יש משתנה מחרוזת ציבורי אחד שנקרא sReplacedWord. משתנה זה מחזיר את הטקסט ב- edReplaceWith כאשר המשתמש לוחץ על כפתור "שנה".

07

של 07

תזאורוס? תזאורוס!

כבונוס לפרויקט יש את הקוד לשימוש תזאורוס של Word. השימוש בתזאורוס די קל יותר. איננו מנתחים את הטקסט, עבור המילה שנבחרה נקראת שיטת CheckSynonyms. שיטה זו מציגה דיאלוג בחירה משלה. לאחר בחירת מילה חדשה, נעשה שימוש בתוכן טווח מסמכי Word כדי להחליף את המילה המקורית.

instagram story viewer