Oikeinkirjoituksen tarkistus Delphi-koodista MS Word Automation -sovelluksella

click fraud protection

01

klo 07

Mikä on (OLE) automaatio? Mikä on automaatiopalvelin? Mikä on Automation Client?

Oletetaan, että kehität HTML-editoria kuten HTML-paketti. Kuten mikään muu tekstieditori, sovelluksessasi tulisi olla jonkinlainen oikeinkirjoituksen tarkistusjärjestelmä. Miksi ostaa oikeinkirjoituksen komponentteja tai kirjoittaa niitä tyhjästä, kun voit käyttää MS Wordia helposti?

OLE-automaatio

yksi sovellus voi hallita toista

automaatioasiakas

automaatiopalvelin

Automaatio (tunnetaan myös nimellä OLE Automation) on ominaisuus, jota ohjelmat käyttävät altistaakseen objektinsa kehitystyökaluille, makrokieleille ja muille automaatiota tukeville ohjelmille. Esimerkiksi Microsoft Outlook voi paljastaa esineitä sähköpostien lähettämiseen ja vastaanottamiseen, ajoittamiseen sekä yhteystietojen ja tehtävien hallintaan.

Word Automation (server) -sovelluksella voimme Delphin (asiakas) avulla luoda dynaamisesti uuden asiakirjan, lisätä tekstiä, jonka haluamme oikeinkirjoituksen, ja sitten Wordin tarkistaa oikeinkirjoitus. Jos pidämme Microsoft Wordin minimoituna, käyttäjät eivät ehkä koskaan tiedä! Microsoft Wordin OLE-käyttöliittymän ansiosta voimme lähteä sivutielle Delphistä ja etsiä tapoja huijata kehitettäessä Notepad-editorin versiota :)

instagram viewer

On vain yksi häiriö;) Sovelluksen käyttäjillä täytyy olla Word asennettuna. Mutta älä anna tämän estää sinua.

Tietenkin, jotta automatisoida automaation käyttö sovelluksissasi täydellisesti, sinulla on oltava yksityiskohtainen tuntemus integroitavista sovelluksista - tässä tapauksessa MS Wordista.

Jotta Office-ohjelmasi toimisivat, käyttäjän on omistettava sovellus, joka toimii kuten Automation-palvelin. Tapauksessamme MS Word on asennettava käyttäjän koneeseen.

02

klo 07

Yhdistäminen Wordiin: "Hei Word" Varhainen sidonta vs. Myöhäinen sitominen

Wordin automatisoimiseksi Delphistä on useita päävaiheita ja kolme päätapaa.

Delphi> = 5 - Office XX -palvelimen komponentit

TWordApplication

TWordDocument

Delphi 3,4 - Varhainen sidonta

Kirjoita kirjastoja

Jos haluat käyttää Wordin tyyppikirjastoa Delphissä (versio 3 tai 4), valitse projekti | Tuo tyyppikirjasto… -valikko ja valitse tiedosto msword8.olb, joka sijaitsee Microsoft Officen Office-hakemistossa. Tämä luo tiedoston "Word_TLB.pas", joka on tyyppikirjaston objektin pascal-käännös. Sisältää Word_TLB sen yksikön käyttöluettelossa, joka käyttää Wordin ominaisuuksia tai menetelmiä. Viitataan Word-menetelmiin tyyppikirjaston avulla varhainen sidonta.

Delphi 2 - myöhäinen sitominen

Myöhäinen sitominen

tulisi välttää, jos mahdollista, koska tyyppisten kirjastojen käyttö on paljon helpompaa ja nopeampaa - kääntäjä auttaa tarttumalla virheisiin lähteessä. Kun käytetään myöhäistä sitomista, Word julistetaan tyyppimuuttujaksi Variant. Tämä tarkoittaa etenkin kuin soittaa menetelmiä ja käyttää ominaisuuksia, sinun on tiedettävä, mitä ne ovat.

04

klo 07

Oikeinkirjoituksen tarkistusprojekti - TWordApplication, TWordDocument

Oikeinkirjoituksen projekti suunnittelutyöllä
Oikeinkirjoituksen projekti suunnittelutyöllä.

Oikeinkirjoittamisprojektin rakentamiseksi tarvitsemme kaksi muotoa: toista muokattiin tekstiin ja toista nähdäksesi oikeinkirjoituksen ehdotukset... mutta mennään alusta alkaen.

Aloita Delphi. Luo uusi projekti yhdellä tyhjällä lomakkeella (lomake1, oletus). Tämä on MS Word -projektin oikeinkirjoituksen tarkistuksen päämuoto. Lisää yksi TMemo (Vakio-välilehti) ja kaksi TButtons lomakkeeseen. Lisää tekstiä muistioon, joka täyttää Lines-ominaisuuden. Tietenkin, joissakin kirjoitusvirheissä. Valitse Palvelimet-välilehti ja lisää TWordApplication ja TWordDocument lomakkeeseen. Muuta TWordApplication-komponentin nimi WordApplication1: stä WordApp: ksi, WordDocument1: stä WordDoc: ksi.

TWordApplication, TWordDocument

Julkaistut ominaisuudet ConnectKind -sovelluksella ohjataan, muodostammeko yhteyden äskettäin käynnistettyyn Word-ilmentymään vai jo käynnissä olevaan olemassa olevaan ilmentymään. Aseta ConnectKind arvoon ckRunningInstance.

Kun avaamme tai luomme tiedostoa Wordissa, luomme Document-objektin. Yleinen tehtävä Wordin automatisoinnissa on määrittää alue asiakirjassa ja tehdä sitten jotain sen kanssa, kuten lisätä tekstiä ja oikeinkirjoituksen tarkistus. Objektia, joka edustaa dokumentin vierekkäistä aluetta, kutsutaan alueeksi.

05

klo 07

Oikeinkirjoituksen tarkistusprojekti - Oikeinkirjoituksen tarkistus / korvaa

GetSpellingSuggestions Design-Time -palvelussa
GetSpellingSuggestions Design-Time -palvelussa.

Ajatuksena on silmukkaa muistiossa olevan tekstin läpi ja jäsentää se välilyönnillä erotetuiksi sanoiksi. Kustakin sanasta kutsutaan MS Wordia oikeinkirjoituksen tarkistamiseksi. Wordin automaatiomalli sisältää SpellingErrors -menetelmän, jonka avulla voit tarkistaa joidenkin alueiden tekstin oikeinkirjoituksen.

Alue määritellään sisältävän vain juuri puretun sanan. SpellingErrors-menetelmä palauttaa kirjoitettujen sanojen kokoelman. Jos tämä kokoelma sisältää enemmän kuin nolla sanaa, siirrymme eteenpäin. Soita GetSpellingSuggestions-menetelmälle, joka välittää väärin kirjoitetun sanan, täyttää SpellingSuggestions-kokoelman ehdotettuja korvaavia sanoja.

Lähetämme tämän kokoelman SpellCheck-lomakkeelle. Se on projektiimme toinen muoto.

Jos haluat lisätä uuden lomakkeen projektiin, käytä Tiedosto | Uusi muoto. Olkoon sillä 'frSpellCheck' nimi. Lisää tähän lomakkeeseen kolme TBitBtn-komponenttia. Kaksi EditBox-es ja yksi ListBox. Huomaa vielä kolme tarraa. Tunniste "Ei sanakirjassa" on "kytketty" edNID-muokkausruutuun. EdNID näyttää vain väärin kirjoitetun sanan. LbSuggestions-luetteloruudussa luetellaan SpellingSuggestions-kokoelman kohteet. Valittu oikeinkirjoituksen ehdotus sijoitetaan edReplaceWith-muokkausruutuun.

Kolme bittipainiketta käytetään oikoluvun peruuttamiseen, nykyisen sanan ohittamiseen ja väärin kirjoitetun sanan vaihtamiseen edReplaceWith-muokkausruudun sanan kanssa. BitBtn-komponenttien ModalResult-ominaisuutta käytetään viitattaessa siihen, mitä käyttäjä on napsauttanut. "Ignore" -painikkeen ModalResult-ominaisuuden arvoksi on asetettu mrIgnore, "Change" - mrOk ja "Cancel" - mrAbort.

FrSpellCheckillä on yksi julkinen merkkimuuttuja nimeltä sReplacedWord. Tämä muuttuja palauttaa edReplaceWith-tekstin, kun käyttäjä painaa "Muuta" -painiketta.

07

klo 07

Tesaurus? Tesaurus!

Bonuksena projektilla on käytettävä koodi Wordin tesaurus. Tesauruksen käyttö on melko helppoa. Emme jäsentä tekstiä, valitulle sanalle kutsutaan CheckSynonyms-menetelmää. Tämä menetelmä näyttää oman valintaikkunan. Kun uusi sana on valittu, Word-asiakirjat -alueen sisältöä käytetään korvaamaan alkuperäinen sana.

instagram story viewer