Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Как отслеживать вводимые слова, и сравнивать их... Добавлено: 08.05.03 11:31  

Автор вопроса:  *^angel^* | ICQ: 170236481 

Добрый день!

Подскажите, пожалуйста, как решить проблему:

есть список слов, слово сочитаний (ListBox) необходимо следить за вводом текста в документе, и если в списке есть слова начинающиеся на уже введенное сочитание букв в документе, то предложить это слово пользовителю для автоматического ввода. Как же делать эту "слежку"? и постоянно следить нет ли чего похожего в списке?

Ответить

  Ответы Всего ответов: 1  

Номер ответа: 1
Автор ответа:
 hedgehog



ICQ: 175571327 

Вопросов: 15
Ответов: 207
 Web-сайт: ezh.ru
 Профиль | | #1
Добавлено: 09.05.03 00:06

Эта фишка у меня делает аналогичную работу в комбобоксе. Алгоритм поиска дубовый - напишешь более быстрый, поделись - мне лень Просто мои проги юзаются на достаточно быстрых машинах, ну я и не напрягался Комментарии отсутствуют по этой же причине (лень) - и так все просто. В общем вот тебе принцип - затачивай под свои нужды.

Public Sub SetComboListIndex( _
        Combo As ComboBox, _
        Optional ComboText As String)
    Dim i As Integer
    Dim S As String
    Dim Index As Integer
    Dim L As Integer, U As Integer, C As Integer
   
    With Combo
        Index = -1
        If ComboText = "" Then ComboText = .Text
        If ComboText > "" Then
            U = .ListCount - 1
            C = L + (U - L) \ 2
            Do Until C = L Or C = U
                S = .List(C)
                If LCase(Left(S, Len(ComboText))) = LCase(ComboText) Then
                    Index = C
                    Exit Do
                ElseIf LCase(Left(S, Len(ComboText))) < LCase(ComboText) Then
                    L = C
                Else
                    U = C
                End If
                C = L + (U - L) \ 2
            Loop
        End If
        .ListIndex = Index
        .SelStart = Len(ComboText)
        If Len(.Text) >= Len(ComboText) Then .SelLength = Len(.Text) - Len(ComboText)
    End With
End Sub

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам