Проверка орфографии с использованием слова
Я пишу код в C# для проверки орфографии. Я нашел этот код в сети. Я новичок в C# и не в состоянии понять код.
Я нашел этот код на следующем веб-сайте: http://www.codeproject.com/Articles/4572/Using-Word-s-spellchecker-in-C
Могу ли я просто узнать общее руководство о том, что на самом деле происходит в коде:
using Word;
using System.Reflection;
private void button1_Click(object sender, System.EventArgs e)
{
fSpellCheck(textBox1 , label1 );
}
public void fSpellCheck(TextBox tBox, Label lLbl)
{
int iErrorCount = 0;
Word.Application app = new Word.Application();
if (tBox.Text.Length > 0)
{
app.Visible=false;
// Setting these variables is comparable
// to passing null to the function.
// This is necessary because the C# null
// cannot be passed by reference.
object template=Missing.Value;
object newTemplate=Missing.Value;
object documentType=Missing.Value;
object visible=true;
object optional = Missing.Value;
_Document doc = app.Documents.Add(ref template,
ref newTemplate, ref documentType, ref visible);
doc.Words.First.InsertBefore (tBox.Text );
Word.ProofreadingErrors we = doc.SpellingErrors;
iErrorCount = we.Count;
doc.CheckSpelling( ref optional, ref optional, ref optional,
ref optional, ref optional, ref optional, ref optional,
ref optional, ref optional, ref optional,
ref optional, ref optional);
if (iErrorCount == 0)
lLbl.Text = "Spelling OK. No errors corrected ";
else if (iErrorCount == 1)
lLbl.Text = "Spelling OK. 1 error corrected ";
else
lLbl.Text = "Spelling OK. " + iErrorCount +
" errors corrected ";
object first=0;
object last=doc.Characters.Count -1;
tBox.Text = doc.Range(ref first, ref last).Text;
}
else
lLbl.Text = "Textbox is empty";
object saveChanges = false;
object originalFormat = Missing.Value;
object routeDocument = Missing.Value;
app.Quit(ref saveChanges, ref originalFormat, ref routeDocument);
}
2 ответа
У меня нет большого опыта работы с C#, но я полагаю, что у вас есть приложение с графическим интерфейсом, кнопкой, надписью и текстовым полем.
Метод button1_Click
необходим для назначения действия кнопке, при нажатии которой происходит прослушивание события для кнопки. Когда вы нажимаете на эту кнопку, button1_Click
выполняется, и метод fSpellCheck(textBox1 , label1 );
вызывается.
Метод fSpellCheck(textBox1 , label1 );
реализует алгоритм проверки слова, вставленного в текстовое поле (обратите внимание на ссылку на текстовое поле в аргументах fSpellCheck
). Метод проверяет слово на наличие ошибок, если слово является правильным или неправильным (с ошибками) или если текстовое поле пустое, то метод печатает в метке lLbl
результат слова контроля.
Это в основном то, что делает код выше.
1) Он открывает новый экземпляр Word в скрытом режиме
2) Вставляет текст из вашего текстового поля в первый раздел документа
3) Он вызывает проверку орфографии в текстовом документе
4) Получает счетчик ошибок от проверки орфографии и печатает количество ошибок на вашем ярлыке
5) Он просит Word исправить ошибки в документе.
6) Копирует исправленный текст из текстового документа обратно в текстовое поле
7) Закрывает документ и закрывает скрытый экземпляр Word.
Что нужно сделать в своем проекте:
1. Создайте ярлык (если у вас его еще нет)
2. создать текстовое поле (если у вас его еще нет)
3. Создайте кнопку (если у вас ее еще нет)
Добавьте событие click к вашей кнопке, и в этом коде вызовите fSpellCheck, как это сделано в этом коде, с вашей меткой и вашим текстовым полем в качестве аргументов.