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 :)
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-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
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.