Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Сравнение строк


Автор: ПЛЗВТЛ 24.1.2006, 06:21
Помогите пожалуйста!

У меня в листбоксе есть много записей, а мне нужно найти записи по маске (например, "*slov?o*"). Может кто подскажет, как это сделать???

___заранее благодарен___

Автор: СВА 24.1.2006, 06:42
Сделай примерно такую функцию для того что бы учитывать "?"

Код

Function Srav(str1 As String, str2 As String) As Boolean
str1 = UCase(str1)
str2 = UCase(str2)
If Len(str1) <> Len(str2) Then Srav = False: Exit Function
For i = 1 To Len(str2)
If Mid(UCase(str2), i, 1) = Mid(str1, i, 1) Or Mid(str2, i, 1) = "?" Then Else Srav = False: Exit Function
Next
Srav = True
End Function


str1 - это с чем сравниваешь
str2 - это что ты сравниваешь вместо неизвестных букв можно использовать "?"
Srav возврашает истину если два слова похожи

Автор: Akina 24.1.2006, 10:31
ПЛЗВТЛ
Откуда они в листбоксе? выбраны из таблицы в БД? перезапроси RowSource, добавив фильтр Where [Field] LIKE "*slov?o*"

Автор: ПЛЗВТЛ 24.1.2006, 12:53
СВА, спасибо! smile


Akina, записи в листбоксе - это имена файлов.
Мне надо только выбрать нужные! smile
А расскажите пожалуйста, что такое "RowSource" и "фильтр Where [Field] LIKE "*slov?o*"" smile

Автор: Akina 24.1.2006, 15:30
Цитата(ПЛЗВТЛ @ 24.1.2006, 13:53 Найти цитируемый пост)

записи в листбоксе - это имена файлов

А откуда они там взялись??? ветром надуло, что ли?

Автор: BorisVorontsov 24.1.2006, 16:51
Код

Private Sub Form_Load()

    Dim i As Long
    
    lstMain.AddItem "program"
    lstMain.AddItem "visual basic"
    lstMain.AddItem "hello world"
    
    For i = 0 To lstMain.ListCount - 1
        If lstMain.List(i) Like "visua*" Then _
            MsgBox "Найдено: " & lstMain.List(i)
    Next i
        
End Sub

Автор: ПЛЗВТЛ 25.1.2006, 07:39
Akina, ХАРЕ ИЗДЕВАТЬСЯ.

Невидишь, я тормаз... smile





Всё гениальное ПРОСТО! smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)