поиск в MSFlexGrid

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
НиколайП
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 125
Зарегистрирован: 06.12.2005 (Вт) 22:16

поиск в MSFlexGrid

Сообщение НиколайП » 28.02.2006 (Вт) 9:09

помогите с простым , для Вас , вопросом.
в таблице MSFlexGrid необходимо найти определённое значение которое прописывается в TextBox , при нахождении этого значения в таблице должна выделиться строка с этим значением .
Я делаю так:

Public Sub findname()
Dim v As Integer
Dim findstr As String
Dim findstr1 As String 'значение которое необходимо найти

findstr1 = Text9.Text
'перебераю таблицу в поиске значения
For v = MSFlexGrid1.FixedRows To MSFlexGrid1.Rows - 1

findstr = MSFlexGrid1.TextMatrix(v, 0) 'присваиваю переменной текущее значение, для сравнения с искомым значением
If findstr = findstr1 Then
MSFlexGrid1.TopRow = v
' после нахождения значения найденную строку надо выделить, как это сделать ?
Exit Sub
End If

Next
End Sub


и ещё вопрос , как мне искать строку по шаблону, например что бы при вводе в текст бокс " пример" , в таблице нашлась строка с содержимым "пример поиска "
делать так:
findstr1 = Text9.Text & "*"

такой вариант не проходит ... :(

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 28.02.2006 (Вт) 9:55

как мне искать строку по шаблону, например что бы при вводе в текст бокс " пример" , в таблице нашлась строка с содержимым "пример поиска "

Для поиска по шаблону нужно исать подстроку "пример" во всех других строках. Для этого используй функцию InStr.
А я все практикую лечение травами...

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 28.02.2006 (Вт) 10:10

Для выделения диапазона ячеек используй свойства ColSel и RowSel...
А я все практикую лечение травами...

НиколайП
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 125
Зарегистрирован: 06.12.2005 (Вт) 22:16

Сообщение НиколайП » 28.02.2006 (Вт) 12:08

Для поиска по шаблону нужно исать подстроку "пример" во всех других строках. Для этого используй функцию InStr


в таком случае будут находиться и строки содержащие часть искоиого текста ..., например "примерный" и т.д , а желательно что бы были только те строки которые содержат именно слово "пример" и плюс остальные слова которые идут после этого слова ...
Я вот думаю надо ,наверное, вычеслить длину слова которое ищется и проверять то что найдено ....

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 28.02.2006 (Вт) 12:21

Ищи стороку " пример " (пробел в начале или в конце).
А я все практикую лечение травами...

НиколайП
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 125
Зарегистрирован: 06.12.2005 (Вт) 22:16

Сообщение НиколайП » 28.02.2006 (Вт) 12:21

Я вот думаю надо ,наверное, вычеслить длину слова которое ищется и проверять то что найдено ....

нет , так тоже не получится ..., найденная строка будет другой длины ,потому что там будет искомая фамилия и имя :( , а мне надо найти по фамилии ...

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 28.02.2006 (Вт) 12:24

А я все практикую лечение травами...

НиколайП
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 125
Зарегистрирован: 06.12.2005 (Вт) 22:16

Сообщение НиколайП » 28.02.2006 (Вт) 12:24

Twister писал(а):Ищи стороку " пример " (пробел в начале или в конце).


ок , СПАСИБО !
помогло ! :D

AjaxVS
Постоялец
Постоялец
 
Сообщения: 506
Зарегистрирован: 01.12.2004 (Ср) 13:12
Откуда: Donetsk, Battle.Net

Сообщение AjaxVS » 01.03.2006 (Ср) 1:28

Оно то может и помогло, но это не гуманный метод.
Пользуйся функцией Like:

s_buf = "* " & findstr1 & " *"
if findstr Like s_buf then
'...

Выиграешь по времени.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 01.03.2006 (Ср) 7:36

но это не гуманный метод

Чем же твой код по функциональности отличается от моего метода? Пробелы-то ты все равно указываешь... ИМХО, нет ни какой разницы.
А я все практикую лечение травами...

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 01.03.2006 (Ср) 13:24

Twister писал(а):
но это не гуманный метод

Чем же твой код по функциональности отличается от моего метода? Пробелы-то ты все равно указываешь... ИМХО, нет ни какой разницы.


Ни тот, ни другой не найдут искомое в строке "Хороший пример"
Удачи!

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 01.03.2006 (Ср) 14:18

2 Nicky
Twister писал(а):Ищи стороку " пример " (пробел в начале или в конце).
Читай внимательнее...
А я все практикую лечение травами...

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 01.03.2006 (Ср) 14:24

Twister писал(а):2 Nicky
Twister писал(а):Ищи стороку " пример " (пробел в начале или в конце).
Читай внимательнее...


Тогда не возмется тривиальное "Пример"
Хотя понимаю, что флуд...

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 01.03.2006 (Ср) 14:38

Тогда не возмется тривиальное "Пример"
Забота о таких нюансах ляжет на плечи автора. Так или иначе, эта проблема решается элементарно.
Хотя понимаю, что флуд...
Хорошо что понимаешь...
А я все практикую лечение травами...

AjaxVS
Постоялец
Постоялец
 
Сообщения: 506
Зарегистрирован: 01.12.2004 (Ср) 13:12
Откуда: Donetsk, Battle.Net

Сообщение AjaxVS » 02.03.2006 (Чт) 1:40

Та млин, я для примера написал +_+ для конкретной задачи.

Я имел ввиду, что гораздо лучше юзать Like, чем Instr...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 120

    TopList