Вверх ↑
Этот топик читают: Гость
Ответов: 21
Рейтинг: 0
#1: 2019-12-17 16:36:38 ЛС | профиль | цитата
Как сделать так, чтобы компонент искал в тексте (Не в файле) цель, и при нахождении объекта останавливался, и выдавал событие1, а по окончании поиска, и отсутствии цели в тексте, выдавал событие2
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 1925
Рейтинг: 172
#2: 2019-12-17 19:35:11 ЛС | профиль | цитата
Сколько раз цель может повторяться в тексте? Что должно быть выдано в событии при нахождении?

Вот пример, который выдаст 0, если цели нет, а если есть, то выдаст вхождение первой цели.

Add(Position,3533098,287,189)
{
ZeroPos=0
ShortSearch=1
link(onSearch,4715769:doMessage,[])
link(Str,16487366:Text,[])
link(Target,5609225:Text,[])
}
Add(Memo,16487366,287,70)
{
Left=55
Top=40
Width=280
Height=180
Strings=#139:Если процесс, воздействующий на некоторый объект, прекращается при достижении цели, то цель называют конечной. Если нет, то промежуточной. |
}
Add(Button,3660054,224,189)
{
Left=55
Top=230
link(onClick,3533098:doSearch,[])
}
Add(Message,4715769,336,189)
{
}
Add(VisualStrings,5609225,294,140)
{
Lines=#4:цель|
Width=46
}
карма: 9
0
Ответов: 1328
Рейтинг: 69
#3: 2019-12-18 17:34:03 ЛС | профиль | цитата
Kotofey, см примеры в "Каталоге проектов", там много полезного


Add(MainForm,16294362,609,175)
{
Width=453
Height=283
Caption="RegExpr"
Position=1
}
Add(RE_Search,7439446,833,287)
{
ModifierR=1
link(onMatch,1604199:doString,[])
link(onNotFound,13300525:doMessage,[(873,300)(873,342)])
link(SourceStr,7306659:Text,[(839,279)(804,279)])
link(Expression,6517404:Text,[])
}
Add(Button,211523,770,287)
{
Top=216
Width=445
Align=4
Caption="Find"
link(onClick,7439446:doExec,[])
}
Add(Button,10146757,770,323)
{
Top=236
Width=445
Align=4
Caption="FindNext"
link(onClick,7439446:doExecNext,[(818,329)(818,300)])
}
Add(Memo,7306659,798,225)
{
Width=290
Height=216
Align=5
Strings=#47:<b>HiAsm</b> - программирование для <i>всех</i>|
ScrollBars=3
}
Add(Memo,6517404,840,225)
{
Left=290
Width=155
Height=216
Align=3
Strings=#5:<.*?>|
ScrollBars=3
}
Add(Message,1976391,931,287)
{
}
Add(FormatStr,1604199,882,287)
{
DataCount=3
Mask="Match:\t%1\r\nPos:\t%2\r\nLen:\t%3"
link(onFString,1976391:doMessage,[])
link(Str1,7439446:Match,[(888,275)(864,275)(864,331)(839,331)])
link(Str2,7439446:MatchPos,[(895,275)(871,275)(871,331)(846,331)])
link(Str3,7439446:MatchLen,[(902,275)(878,275)(878,331)(853,331)])
}
Add(Message,13300525,882,336)
{
Message="Not founded!"
}

карма: 2

0
3
Сообщение
...
Прикрепленные файлы
(файлы не залиты)