------------ Дoбавленo:
Добавил StrToFind и Index
------------ Дoбавленo:
tsdima писал(а):
поиск с использованием регулярных выраженийА у тебя, случаем, нет простенького парсера регулярных выражений, а то я нашел на 150 кило -- RegExpr называется
------------ Дoбавленo:
Добавил в StrList еще и GetString
Вот какой получился сервер с новым StrList'ом
Add(MainForm,10952570,42,77)
{
Left=20
Top=105
Width=323
Height=210
Caption="DDE_Server"
link(onCreate,14007143:doStart,[])
}
Add(DDEServer,14007143,133,91)
{
ServiceName="DDE_Server"
TopicList=#5:Form1|
Point(doSetError)
Point(onConnect)
Point(onExecute)
link(onGetItem,8634435:doEvent1,[])
link(onPutItem,1330340:doEvent1,[(187,104)(187,146)])
link(onExecute,2584967:doMessage,[(177,118)(177,154)(72,154)(72,174)])
}
Add(Message,2584967,84,168)
{
Type=1
Point(onCANCEL)
link(Caption,14007143:TopicName,[(97,145)(139,145)])
link(onCANCEL,14007143:doSetError,[(124,181)(124,125)])
}
Add(GetIndexData,2907638,434,280)
{
link(Data1,5519043:Text,[])
link(Data2,12515059:Text,[])
}
Add(IndexToChanel,9620357,385,182)
{
Point(Index)
link(onEvent1,5519043:doText,[])
link(onEvent2,12515059:doText,[(426,195)(426,230)])
link(Index,10155259:Index,[])
}
Add(Hub,1330340,203,140)
{
link(onEvent1,14132275:doWork2,[])
link(onEvent2,9620357:doEvent,[(279,153)(279,188)])
}
Add(Edit,5519043,434,182)
{
Left=95
Top=50
Width=135
Height=25
Text="Text1"
link(onChange,14969987:doWork1,[])
}
Add(Edit,12515059,441,224)
{
Left=95
Top=95
Width=135
Height=25
Text="Text2"
link(onChange,14969987:doWork2,[(485,230)(485,195)])
}
Add(StrList,10155259,364,91)
{
@Hint=#10:Item Names|
Strings=#5:Text1|5:Text2|
Point(onGetIndex)
Point(onGetString)
Point(StrToFind)
Point(doGetString)
Point(doGetIndex)
Point(Index)
link(onGetIndex,2907638:doIndex,[(406,104)(406,286)])
link(onGetString,14007143:doSendChanges,[(419,111)(419,63)(103,63)(103,118)])
link(StrToFind,14007143:ItemName,[(384,79)(326,79)(326,170)(153,170)])
}
Add(ChanelToIndex,14969987,497,182)
{
link(onIndex,10155259:doGetString,[(542,188)(542,71)(352,71)(352,139)])
}
Add(DoData,1922078,280,98)
{
link(onEventData,14007143:doReturnItem,[(320,104)(320,79)(110,79)(110,111)])
link(Data,2907638:Var,[(286,88)(270,88)(270,322)(440,322)])
}
Add(Hub,8634435,203,91)
{
link(onEvent1,14132275:doWork1,[(256,97)])
link(onEvent2,1922078:doData,[])
}
Add(HubEx,14132275,252,133)
{
link(onEvent,10155259:doGetIndex,[])
}
В сервер надо бы добавить верхнюю точку -- ReturnItem, а то лишний компонент приходится ставить
------------ Дoбавленo:
Короче, я все, вместе с примерами, добавил на SVN. Так проще будет корректировать.