Helyesírás-ellenőrzés a Delphi kódból az MS Word Automation használatával

01

07-én

Mi az (OLE) automatizálás? Mi az Automation Server? Mi az Automation Client?

Tegyük fel, hogy olyan HTML-szerkesztőt fejleszt, mint amilyen HTML készlet. Mint minden szöveges szerkesztő, az alkalmazásnak tartalmaznia kell valamilyen helyesírás-ellenőrző rendszert. Miért vásároljon helyesírás-ellenőrző összetevőket, vagy írja le azokat a semmiből, ha az MS Word könnyen használható?

OLE automatizálás

az egyik alkalmazás vezérelheti a másikot

automatizálási kliens

automatizálási szerver

Az automatizálás (más néven OLE Automation) egy olyan szolgáltatás, amelyet a programok használnak arra, hogy tárgyaikat fejlesztési eszközöknek, makró nyelveknek és más, az automatizálást támogató programoknak tegyék ki. Például a Microsoft Outlook tárgyakat tehet ki e-mailek küldésére és fogadására, ütemezésére, kapcsolattartására és feladatkezelésére.

A Word Automation (szerver) használatával a Delphi (kliens) segítségével dinamikusan létrehozhatunk egy új dokumentumot, hozzáadhatunk egy szöveget, amelyet helyesírás-ellenőrzéshez akarunk, majd a Word ellenőrzi a helyesírást. Ha minimalizáljuk a Microsoft Word programot, akkor a felhasználók soha nem tudhatják meg! A Microsoft Word OLE felületének köszönhetően megtehetünk egy oldalsó utat a Delphitől, és megvizsgálhatjuk, hogyan lehet megcsalni a Notepad szerkesztő verziójának fejlesztésekor :)

instagram viewer

Csak egy hiányosság van;) Az alkalmazás felhasználóinak telepíteni kell a Word-t. De ne hagyd, hogy ez megállítson.

Természetesen ahhoz, hogy teljes mértékben elsajátítsa az automatizálás alkalmazását az alkalmazásokban, részletes ismeretekkel kell rendelkeznie az integrálandó alkalmazásokról - ebben az esetben az MS Word-ről.

Annak érdekében, hogy az "Office" programjai működhessenek, a felhasználónak sajátnak kell lennie az automatizálási kiszolgálóhoz hasonlóan működő alkalmazásnak. Esetünkben az MS Word programot telepíteni kell a felhasználó számítógépére.

02

07-én

Csatlakozás a Wordhez: "Hello Word" korai kötés vs. Késő kötés

Számos fő lépés és három fő módszer létezik a Word automatizálására a Delphi-ből.

Delphi> = 5 - Az Office XX kiszolgáló összetevői

TWordApplication

TWordDocument

Delphi 3,4 - Korai kötés

Írja be a könyvtárakat

A Word típusú könyvtár használatához a Delphi-ben (3. vagy 4. verzió) válassza a Projekt | Az Import Type Library… menü importálása, és válassza az msword8.olb fájlt, amely a Microsoft Office „Office” könyvtárában található. Ez létrehozza a "Word_TLB.pas" fájlt, amely a típus könyvtár objektum paszkális fordítása. tartalmaz Word_TLB azon egységek felhasználási listájában, amelyek hozzáférnek a Word tulajdonságaihoz vagy metódusaihoz. A Word metódusok hivatkozása a type könyvtár használatával korai kötés.

Delphi 2 - Késői kötés

Késő kötés

kerülni kell, ha lehetséges, mivel sokkal könnyebb és gyorsabb a típusú könyvtárak használata - a fordító segíti a forrás hibáinak begyűjtését. Késői kötés használatakor a Word variáns típusú változónak nyilvánul. Ez különösen azt jelenti, hogy nem kell felhívni a módszereket és hozzáférési tulajdonságokat, akkor tudnia kell, hogy mi azok.

04

07-én

Helyesírás-ellenőrző projekt - TWordApplication, TWordDocument

A helyesírás projekt a tervezési időben
A helyesírás projekt a tervezési időben.

A helyesírás-ellenőrző projekt felépítéséhez két űrlapra lesz szükség: az egyik a szöveg szerkesztésére szolgál, a másik pedig a helyesírási javaslatok megtekintésére... de menjünk az elejétől.

Indítsa el Delphit. Hozzon létre egy új projektet egy üres űrlappal (alapértelmezés szerint az űrlap1). Ez lesz a fő forma a helyesírás-ellenőrzéshez az MS Word projekttel. Hozzáadni egyet TMemo (Normál fül) és kettő TButtons az űrlaphoz. Adjon hozzá néhány szöveget a Memóriajegyzethez, amely kitölti a Sorok tulajdonságot. Természetesen, néhány gépelési hibával. Válassza ki a Kiszolgálók fület, és adja hozzá TWordApplication és TWordDocument az űrlaphoz. Változtassa meg a TWordApplication összetevő nevét WordApplication1-ről WordApp-ra, WordDocument1-ről WordDoc-ra.

TWordApplication, TWordDocument

A közzétett tulajdon ConnectKind annak ellenőrzésére szolgál, hogy csatlakozunk-e egy újonnan elindított Word-példányhoz, vagy egy már létező példányhoz. Állítsa a ConnectKind beállítást ckRunningInstance értékre.

Amikor megnyitunk vagy létrehozunk egy fájlt Word-ben, létrehozunk egy Document objektumot. A Word automatizálásánál a leggyakoribb feladat egy terület meghatározása a dokumentumban, majd valami végrehajtása, például szöveg beszúrása és helyesírás-ellenőrzése. Az a tárgy, amely egy dokumentumban szomszédos területet képvisel, tartománynak nevezik.

05

07-én

Helyesírás-ellenőrző projekt - Helyesírás-ellenőrzés / Csere

GetSpellingSuggestions a Design-Time szolgáltatásban
GetSpellingSuggestions a Design-Time szolgáltatásban.

Az ötlet az, hogy áthúzza a szöveget a feljegyzésben, és elemzi azt szóközzel elválasztott szavakba. Minden szót meghívunk MS Word-nek a helyesírás-ellenőrzéshez. A Word automatizációs modellje tartalmazza a SpellingErrors módszert, amely lehetővé teszi bizonyos tartományokban található szöveg helyesírásának ellenőrzését.

A tartomány meghatározása szerint csak az éppen elemzett szót tartalmazza. A SpellingErrors módszer a hibásan írt szavak gyűjteményét adja vissza. Ha ez a gyűjtemény több, mint nulla szót tartalmaz, akkor továbblépünk. A GetSpellingSuggestions metódus felhívása a hibásan írt szót átadva kitölti a javasolt helyettesítő szavak SpellingSuggestions gyűjteményét.

Ezt a gyűjteményt átadjuk a SpellCheck űrlapnak. Ez a második forma projektünkben.

Ha új űrlapot szeretne hozzáadni egy projekthez, használja a Fájl | Új forma. Legyen az 'frSpellCheck' neve. Adjon hozzá három TBitBtn összetevőt ezen az űrlapon. Két EditBox-es és egy ListBox. Vegye figyelembe a további három címkét. A "Nem a szótárban" címke "kapcsolódik" az edNID szerkesztődobozhoz. Az edNID egyszerűen megjeleníti a helytelenül írt szót. Az lbSuggestions listamező felsorolja a SpellingSuggestions gyűjtemény elemeit. A kiválasztott helyesírási javaslat az edReplaceWith szerkesztési mezőbe kerül.

A három Bitgombot a helyesírás-ellenőrzés megszakításához, az aktuális szó figyelmen kívül hagyásához és a helytelenül írt szó megváltoztatásához használja az edReplaceWith szerkesztõmezőben található szóval. A BitBtn összetevők, a ModalResult tulajdonságot akkor kell használni, amikor arra utalnak, hogy mi kattintott a felhasználóra. Az „Ignore” gomb ModalResult tulajdonsága mrIgnore, „Change” mrOk és „Cancel” az mrAbort.

A frSpellChecknek van egy nyilvános karakterlánc-változója, az sReplacedWord néven. Ez a változó adja vissza az edReplaceWith szövegét, amikor a felhasználó megnyomja a „Change” gombot.

07

07-én

Szinonimaszótár? Szinonimaszótár!

Bónuszként a projekt rendelkezik a használni kívánt kóddal A Word szinonimája. A tezaurusz használata meglehetősen könnyebb. Nem elemezzük a szöveget, a kiválasztott szóhoz a CheckSynonyms metódust hívják. Ez a módszer megjeleníti a saját kiválasztási párbeszédpaneljét. Miután kiválasztott egy új szót, a Word Documents Range tartalmát használják az eredeti szó cseréjére.

instagram story viewer