Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / LOCATE / 10 сообщений из 10, страница 1 из 1
15.08.2003, 17:55
    #32237987
новичек
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LOCATE
Можно ли подсветить фрагмент текста, найденный
LOCATE ($-поиск на вхождение) , как например это делается в блокноте
Подскажите как это сделать???
...
Рейтинг: 0 / 0
15.08.2003, 18:10
    #32238005
Анатолий Широков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LOCATE
Ага, в Text или Edit Box-ах:

Код: plaintext
1.
2.
3.
4.
5.
lcSearched =  "вася" 
lnPos = at(m.lcSearched, This.Value)
if lnPos !=  0 
  This.SelStart = m.lnPos
  This.SelLength = len(m.lcSearched)
endif  


А так уточняй, где тебе надо найденный текст "светить":)
...
Рейтинг: 0 / 0
15.08.2003, 18:23
    #32238019
новичек
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LOCATE
Спсибо за ответ
Пока не додумался, что Вы имели в виду
Так вот у меня универсальный контейнер для поиска в гриде
Но как я определю переменную lcSearched
не могу понять
А дальше как в гриде ее подсветить
Уж простите за непонимание, ну новичек, он и есть такой
Кстати Анатолий, Вам мылил письмо с уточнением
предыдущего ответа на shirokov_a@mail.ru, скажите Вы мне ответите???
...
Рейтинг: 0 / 0
15.08.2003, 18:35
    #32238030
Анатолий Широков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LOCATE
Вы набрали текст в text1.

Нажимает на кнопку "поиск":

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
set exact off
lcSearched = alltrim(thisform.text1.value)
thisform.LockScreen  = .t.
select table
locate for m.lcSearched $ field && только учти, что это очень медленно и надежд на оптимизацию нет
if found() && нашли
   * X - номер колонки, которая содержит table.field
   thisform.Grid1.ColumnX.Text1.SetStart = at(m.lcSearched, field)   
   thisform.Grid1.ColumnX.Text1.Setlength = len(m.lcSearched)   
endif
thisform.LockScreen  = .f.
thisform.Grid1.SetFocus()
...
Рейтинг: 0 / 0
15.08.2003, 19:02
    #32238048
Анатолий Широков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LOCATE
Что касается выделение фрагмента в грайде, то, извини, поспешил - не работает мой код - просто выделяется ячейка грайда - выделения внутри Box-а не происходит.
...
Рейтинг: 0 / 0
15.08.2003, 19:06
    #32238049
Анатолий Широков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LOCATE
Да, письмо отправил. Пожалуйста, задавай вопросы здесь или на Visual FoxPro - по почте я больше отвечать не буду.
...
Рейтинг: 0 / 0
15.08.2003, 21:04
    #32238096
новичек
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LOCATE
Да, я тут парю, тоже не получается
может подскажите как бы посветиь ту "ячейку" грида
"на худой конец"
Спасибо
...
Рейтинг: 0 / 0
15.08.2003, 22:53
    #32238120
Анатолий Широков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LOCATE
Код: plaintext
1.
...
thisform.Grid1.ColumnX.SetFocus()
...
Рейтинг: 0 / 0
16.08.2003, 06:41
    #32238150
новичек
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LOCATE
Примерно так
LOCAL lcmmm,lnActivateCel,lnActivateCell,lnActiveRow,lnActiveRoww,lcMyRR
lcmmm=THIS.Gridname
lnActivateCel=[THISFORM.]+lcmmm+[.ActiveColumn]
lnActivateCell=&lnActivateCel && нормально, возвращает

lnActiveRow=[THISFORM.]+lcmmm+[.ActiveRow]
lnActiveRoww=&lnActiveRow && нормально, возвращает
MESSAGEBOX(lnActiveRoww)

Попытки активизацией ячейки не приводят к успеху
lcMyRR = "THISFORM."+this.gridname+'.ActivateCell(lnActiveRoww,lnActivateCell)'
MESSAGEBOX(lcMyRR )
&lcMyRR


попытки установки на активный столбец-не нравиться компилятору
синтаксис
lcMyRR = "THISFORM."+this.gridname+Columns(lnActivateCell)+".SetFocus"
MESSAGEBOX(lcMyRR )
&lcMyRR
И всякие извращения вроде
lcMyRR = "THISFORM."+this.gridname+'Columns(lnActivateCell)'+".SetFocus"
lcMyRR = "THISFORM."+this.gridname+Column(lnActivateCell)+".SetFocus"

тоже не проходят
Подскажите как это сделать???
...
Рейтинг: 0 / 0
16.08.2003, 20:42
    #32238318
Burn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LOCATE
А что мешает стать на нужную запись источника Грида , сделать Refresh гриду и SetFocus на нужный техтбокс в нужном столбце?
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / LOCATE / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]