HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Szinonima meghatározása saját alkalmazásban a Word segítségével


Példaprogram letöltése

6308 bájt

A MS Word-ben rendelkezésünkre áll egy szinonimaszótár. Ebben a cikkben annak járunk utána, hogy miként használhatjuk fel ezt a szinonimaszótárt saját alkalmazásunkban úgy, hogy a Word ez idő alatt rejtve maradjon a felhasználó előtt, aki így csak saját alkalmazásunkat látja.

Új alkalmazásunkhoz ne felejtsük el hozzáadni egy referenciát a Word-höz, mivel csak így érhetjük el annak szolgáltatásait (Project - Add reference - COM - Microsoft Word).
Miután felvettük a kapcsolatot a Word alkalmazással, létrehozunk egy üres dokumentumot, mivel csak így tudjuk használni a szinonima szótárt.
  Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button1.Click
    listBox1.Items.Clear()
    Dim wa As New Word.Application()
    wa.Documents.Add(m, m, m, m)
A Word program objektumától lekérjük a szinonima információt a get_SynonymInfo függvény segítségével. Első paraméterként a kérdéses szót adjuk át, másodikként a magyar nyelv kódját, feltételezve, hogy a beírt szó is magyar, és ennek szinonimáit keressük.
    Dim lang As Object = Word.WdLanguageID.wdHungarian
    Dim si As Word.SynonymInfo = wa.SynonymInfo(textBox1.Text, lang)
Ha a SynonymInfo által visszaadott objektum Found property-je igaz, akkor van szinonima találat.
    If si.Found Then
Ha van találat, akkor egy kettős for ciklusra lesz szükségünk, hogy az összes szinonimát kiolvashassuk. Az első ciklus 1-től a talált jelentések számáig megy, amit a MeanigCount property árul el. Mivel egy szónak több jelentése is lehet, ezért van szükség a kettős ciklusra: először végigmegyünk az összes jelentésen, majd minden jelentésnél kiolvassuk a szinonimákat.
      Dim ml As Array = CType(si.MeaningList, Array)
      Dim i As Integer
      For i = 1 To si.MeaningCount - 1
A második ciklus előtt lekérjük a SynonymInfo objektum adott csoportjának tömbjét, melynek minden egyes eleme egy-egy szinonimát tárol szövegként.
        Dim o As Object = i
        Dim sl As Array = CType(si.SynonymList(o), Array)
Most jöhet a második ciklus, mely végigmegy az adott szó adott jelentéséhez tartozó szinonimákon.
        listBox1.Items.Add((i.ToString() + ". jelentése: " + ml.GetValue(i) + "; szinonimái:"))
        Dim j As Integer
        For j = 1 To sl.Length - 1
          listBox1.Items.Add((ControlChars.Tab + sl.GetValue(j)))
        Next j
      Next i
    End If
  End Sub 'button1_Click

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |