Я хочу создать средство проверки орфографии, моя задача - прочитать все слова одно за другим и выполнить поиск в таблице базы данных, если слово уже существует в таблице, ничего не делать, если слова нет в базе данных, выделить его, если оно есть. .
Я сделал эту формулу, но не могу понять, где проблема, так как она не работает идеально.
Dim lenoftxt As Integer
Dim i As Integer
Dim str As String
Dim tillword As String
tillword = ""
str = ""
i = 1
If Not RichTextBox1.Text = "" Then
lenoftxt = RichTextBox1.Text.Length
' MsgBox(lenoftxt)
For i = 1 To lenoftxt
str = Mid(RichTextBox1.Text, i, 1)
' MsgBox(str)
tillword = tillword & str
If str = " " Then
i = i + 1
tillword = Mid(tillword, 1, tillword.Length - 1)
' MsgBox(tillword)
romantranssql = "Select word from approved where word='" & tillword & "'"
MsgBox(romantranssql)
pth = My.Application.Info.DirectoryPath
romantransconn.ConnectionString = "Provider=Microsoft.ace.oledb.12.0; Data Source=" & pth & "\database.mdb; User Id=admin; Password=;"
romantransda = New OleDbDataAdapter(romantranssql, romantransconn)
romantransds = New DataSet
romantransda.Fill(romantransds, "DisplayCenterData")
romantransdt = romantransds.Tables("DisplayCenterData")
romantranscmb = New OleDbCommandBuilder(romantransda)
If Me.BindingContext(romantransdt).Count >= 1 Then
MsgBox("record found - " & tillword)
tillword = ""
End If
If Me.BindingContext(romantransdt).Count <= 0 Then
RichTextBox1.Select(i, tillword.Length)
RichTextBox1.SelectionColor = System.Drawing.Color.Red
tillword = ""
End If
End If
Next
End If
Метод, который я использую, - это добавление символов один за другим в строку tillword
, и если пробел найден, я считаю слово завершенным и ищу его в таблице базы данных. Если найдено, я ничего не делаю, и если не найдено в базе данных, я выделяю его.