Вверх ↑
Этот топик читают: Гость
Ответов: 537
Рейтинг: 14
#1: 2021-07-23 10:40:11 ЛС | профиль | цитата
Есть 2 Memo, их нужно сделать общими, т.е. при изменении текста в первом Memo, текст меняется и во втором и наоборот
Add(MainForm,13984563,175,154)
{
Width=323
Height=325
Caption=""
}
Add(ChildPanelEx,15776592,238,280)
{
link(onEventData,7962655:doText,[(282,286)(282,221)(153,221)(153,258)])
}
BEGIN_SDK
Add(EditMultiEx,1126477,21,21)
{
WorkCount=#6:doText|
EventCount=#11:onEventData|
link(doText,10657659:doText,[(63,27)(63,132)])
}
Add(Panel,10062909,28,182)
{
Left=150
Top=20
Width=153
Height=265
}
Add(Memo,10657659,105,105)
{
Left=10
Top=5
Width=135
Height=255
Name="ListBox2"
ScrollBars=2
link(onChange,12461845:doSynchronize,[(145,111)(145,143)(93,143)(93,160)])
}
Add(Synchronize,12461845,105,154)
{
link(onSync,1126477:onEventData,[(229,160)(229,27)])
link(Data,10657659:Text,[])
}
END_SDK
Add(DoData,15776750,175,350)
{
}
Add(Memo,7962655,175,231)
{
Left=10
Top=20
Width=135
Height=255
Name="ListBox1"
ScrollBars=2
link(onChange,16609804:doSynchronize,[(219,237)(219,270)(163,270)(163,286)])
}
Add(Synchronize,16609804,175,280)
{
link(onSync,15776592:doText,[])
link(Data,7962655:Text,[])
}


Так не работает, ошибку выдает сразу же при изменении текста, оно и понятно, зацикливается.
Эти Memo будут в программе расположены в разных вкладках TabControl и в принципе на одном месте

Редактировалось 1 раз(а), последний 2021-07-23 10:43:46
карма: 4

0
vip
#1.1контекстная реклама от партнеров
Ответов: 67
Рейтинг: 1
#2: 2021-07-23 11:24:13 ЛС | профиль | цитата
Можно так.
Add(MainForm,13984563,658,182)
{
Width=993
Height=793
Caption=""
}
Add(Case,2228452,819,287)
{
link(onNextCase,11255697:doSynchronize,[(876,293)(876,390)(744,390)(744,349)])
}
Add(Memo,4397706,525,287)
{
Left=195
Top=55
Width=135
Height=255
Name="ListBox1"
ScrollBars=2
link(onChange,6099678:doCase,[])
}
Add(Synchronize,855507,525,343)
{
link(onSync,12684101:doText,[(705,349)(705,314)])
link(Data,4397706:Text,[])
}
Add(Memo,12684101,756,287)
{
Left=365
Top=55
Width=135
Height=255
Name="ListBox1"
ScrollBars=2
link(onChange,2228452:doCase,[])
}
Add(Synchronize,11255697,756,343)
{
link(onSync,4397706:doText,[(800,349)(800,331)(520,331)(520,314)])
link(Data,12684101:Text,[])
}
Add(Case,6099678,609,287)
{
link(onNextCase,855507:doSynchronize,[(653,293)(653,270)(488,270)(488,349)])
}


Редактировалось 1 раз(а), последний 2021-07-23 11:30:03
карма: 1

0
Ответов: 537
Рейтинг: 14
#3: 2021-07-23 12:07:09 ЛС | профиль | цитата
Не работает так в программе, постоянно курсор сбивается. Думал может как то объединить их по Name. Не знаю как
карма: 4

0
Ответов: 67
Рейтинг: 1
#4: 2021-07-23 13:15:57 ЛС | профиль | цитата
Разве не так ты хотел ?
bMQWiJG6SH.gif

Редактировалось 2 раз(а), последний 2021-07-23 13:20:37
карма: 1

0
Ответов: 8887
Рейтинг: 823
#5: 2021-07-23 13:25:44 ЛС | профиль | цитата
Sersey,
А так?


Add(MainForm,13984563,217,91)
{
Width=323
Height=325
Caption=""
}
Add(Memo,7962655,217,175)
{
Left=10
Top=20
Width=135
Height=255
Name="ListBox1"
Strings=#30:одрплдопдлопи орпдлопд лололо|
ScrollBars=2
Point(onMouseUp)
Point(onKeyUp)
link(onMouseUp,8589361:doWork1,[(256,188)])
link(onKeyUp,8589361:doWork2,[])
}
Add(Memo,10872156,329,175)
{
Left=160
Top=20
Width=135
Height=255
Name="ListBox1"
ScrollBars=2
Point(onMouseUp)
Point(onKeyUp)
link(onMouseUp,375553:doWork1,[(368,188)])
link(onKeyUp,375553:doWork2,[])
}
Add(DoData,8368669,273,189)
{
link(onEventData,10872156:doText,[(319,195)(319,202)])
link(Data,7962655:Text,[(279,180)(265,180)(265,229)(223,229)])
}
Add(DoData,15132584,385,189)
{
link(onEventData,7962655:doText,[(431,195)(431,160)(207,160)(207,202)])
link(Data,10872156:Text,[(391,180)(377,180)(377,229)(335,229)])
}
Add(HubEx,8589361,252,189)
{
link(onEvent,8368669:doData,[])
}
Add(HubEx,375553,364,189)
{
link(onEvent,15132584:doData,[])
}

карма: 19

0
Ответов: 537
Рейтинг: 14
#6: 2021-07-23 13:56:36 ЛС | профиль | цитата
Леонид писал(а):
А так?

Да, так работает хорошо, спасибо
карма: 4

0
Ответов: 263
Рейтинг: 18
#7: 2021-07-24 06:51:19 ЛС | профиль | цитата
Еще можно с помощью компонента AdjustControls сделать.


Add(MainForm,2953706,56,140)
{
Width=366
}
Add(Memo,9084648,133,140)
{
Left=20
Top=15
Width=145
Height=230
Name="memo1"
link(onChange,15842067:doReplace,[])
}
Add(Memo,14901193,357,140)
{
Left=175
Top=15
Width=145
Height=230
Name="memo2"
link(onChange,14754077:doReplace,[])
}
Add(AdjustControls,2445747,287,140)
{
}
Add(FormatStr,15118499,238,140)
{
DataCount=1
Mask="memo2=Strings=%1"
link(onFString,2445747:doSet,[])
}
Add(Replace,15842067,189,140)
{
SubStr="\r\n"
DestStr="|"
link(onReplace,15118499:doString,[])
link(Str,9084648:Text,[(195,128)(178,128)(178,184)(139,184)])
}
Add(AdjustControls,4123740,511,140)
{
}
Add(FormatStr,3137065,462,140)
{
DataCount=1
Mask="memo1=Strings=%1"
link(onFString,4123740:doSet,[])
}
Add(Replace,14754077,413,140)
{
SubStr="\r\n"
DestStr="|"
link(onReplace,3137065:doString,[])
link(Str,14901193:Text,[(419,128)(399,128)(399,183)(363,183)])
}


карма: 3

1
Голосовали:sla8a
Ответов: 2193
Рейтинг: 673
#8: 2021-07-25 10:56:54 ЛС | профиль | цитата
Вот была точно такая же тема, найти не могу. Видно еще на старом форуме.
Sersey, если габариты Memo одинаковые, то вот такой вариант будет лучше всего:

Add(MainForm,13984563,252,77)
{
Width=315
Height=295
Caption=""
Position=1
}
Add(ScreenShort,1650212,259,266)
{
link(onCapture,3879700:doLoad,[])
link(Handle,7962655:Handle,[])
}
Add(Timer,5531673,217,266)
{
Interval=50
link(onTimer,1650212:doCapture,[])
}
Add(MT_AddData,14589985,371,329)
{
Count=4
link(onAdd,10566455:doEvent1,[(417,335)(417,369)(176,369)(176,237)])
link(Data1,3879700:Left,[])
link(Data2,3879700:Top,[])
link(Data3,3879700:Width,[])
link(Data4,3879700:Height,[])
}
Add(MT_AddData,12234571,266,231)
{
Count=4
link(onAdd,337059:doSeparateMT,[(306,237)(306,286)])
link(Data1,7962655:Left,[])
link(Data2,7962655:Top,[])
link(Data3,7962655:Width,[])
link(Data4,7962655:Height,[])
}
Add(Image,3879700,364,266)
{
Left=165
Top=5
Width=135
Height=255
Point(onMouseDown)
Point(doLeft)
Point(doTop)
Point(doWidth)
Point(doHeight)
Point(Left)
Point(Top)
Point(Width)
Point(Height)
link(onMouseDown,14589985:doAdd,[(411,279)(411,316)(359,316)(359,335)])
}
Add(MT_MultiData,15939130,196,189)
{
Count=4
link(onData1,7962655:doLeft,[])
link(onData2,7962655:doTop,[])
link(onData3,7962655:doWidth,[])
link(onData4,7962655:doHeight,[])
}
Add(MT_MultiData,337059,315,280)
{
Count=4
link(onData1,3879700:doLeft,[])
link(onData2,3879700:doTop,[])
link(onData3,3879700:doWidth,[])
link(onData4,3879700:doHeight,[])
}
Add(Hub,10566455,210,231)
{
link(onEvent1,12234571:doAdd,[])
link(onEvent2,15939130:doSeparateMT,[(236,244)(236,229)(193,229)(193,195)])
}
Add(Memo,7962655,238,161)
{
Left=10
Top=5
Width=135
Height=255
Name="ListBox1"
Strings=#30:одрплдопдлопи орпдлопд лололо|
ScrollBars=2
Point(Handle)
Point(doLeft)
Point(doTop)
Point(doWidth)
Point(doHeight)
Point(Left)
Point(Top)
Point(Width)
Point(Height)
}
Сложно догадаться где настоящий Memo, а где муляж ) При чем поддерживается полная синхронизация, включая выделения текста, позицию скроллбара и прочее.
карма: 10

1
Голосовали:fox-video
8
Сообщение
...
Прикрепленные файлы
(файлы не залиты)