Вверх ↑
Этот топик читают: Гость
Ответов: 68
Рейтинг: 1
#1: 2022-09-09 10:06:51 ЛС | профиль | цитата
Всем привет. Помогите решить задачу. Хочу по нажатию кнопки вставлять текст по позиции курсора. Что то у меня ничего не получается. Примеров не нашел. В справке что то нашел но почему то вставка не корректно получается. Вставлять текст нужно блоками без съезжания , съедания других символов и т.д Помогите решить вопрос.Спасибо.

то что имею сейчас
Add(MainForm,6982072,301,357)
{
Left=35
Top=105
Width=780
Height=622
Color=-16777214
Caption="Новый сценарий"
BorderStyle=1
Position=1
Point(doVisible)
}
Add(ComboBox,15919967,483,217)
{
Left=20
Top=35
Width=95
Height=21
Strings=#5:Плюсы|6:Минусы|
Text=""
ReadOnly=0
}
Add(BitBtn,11514603,420,280)
{
Left=25
Top=60
Width=85
Caption="Выбрать"
link(onClick,2906475:doData,[])
}
Add(DoData,2906475,490,280)
{
link(onEventData,2125249:doString,[])
link(Data,15919967:String,[])
}
Add(FormatStr,2125249,546,280)
{
Mask="@%1{\r\n\r\n\r\n\r\n}%1@ "
Point(FString)
link(onFString,660069:doWork2,[])
}
Add(RichEdit,7176448,742,280)
{
Left=140
Top=15
Width=605
Height=555
Point(Position)
}
Add(HubEx,660069,623,280)
{
link(onEvent,2810633:doTrim,[])
}
Add(Insert,2859252,658,371)
{
link(onInsert,644263:doWork2,[])
link(Str,6212187:Var2,[])
link(SubStr,11478668:FString,[(671,359)(622,359)(622,415)(552,415)])
link(Position,15703268:Var2,[])
}
Add(BitBtn,8833659,448,371)
{
Left=30
Top=90
Caption="Вставка 1"
link(onClick,11478668:doString,[])
}
Add(Hub,9505432,742,371)
{
link(onEvent1,7176448:doClear,[(761,377)(761,335)(646,335)(646,293)])
link(onEvent2,660069:doWork3,[(761,384)(761,336)(627,336)])
}
Add(FormatStr,11478668,546,371)
{
Mask="[B start:\r\n\r\nend B] "
Point(FString)
link(onFString,2859252:doInsert,[])
}
Add(Insert,13881618,658,434)
{
link(onInsert,8630847:doWork2,[])
link(Str,11409115:Var2,[])
link(SubStr,12151005:FString,[(671,422)(622,422)(622,478)(552,478)])
link(Position,9190434:Var2,[])
}
Add(BitBtn,5164931,448,434)
{
Left=30
Top=120
Caption="Вставка 2"
link(onClick,12151005:doString,[])
}
Add(FormatStr,12151005,546,434)
{
Mask="[S start:\r\n\r\nend S] "
Point(FString)
link(onFString,13881618:doInsert,[])
}
Add(Insert,1514834,665,497)
{
link(onInsert,11479707:doWork3,[(704,503)])
link(Str,5868082:Var2,[])
link(SubStr,16665780:FString,[(678,485)(629,485)(629,541)(559,541)])
link(Position,1101709:Var2,[])
}
Add(BitBtn,11010079,455,497)
{
Left=30
Top=155
Caption="Вставка 3"
link(onClick,16665780:doString,[])
}
Add(FormatStr,16665780,553,497)
{
Mask="[G start:\r\n\r\nend G] "
Point(FString)
link(onFString,1514834:doInsert,[])
}
Add(Insert,10187905,665,567)
{
link(onInsert,11479707:doWork2,[(699,573)(699,482)])
link(Str,5868082:Var1,[(671,521)(662,521)(662,474)])
link(SubStr,11429778:FString,[(678,555)(629,555)(629,611)(559,611)])
link(Position,1101709:Var1,[(685,521)(676,521)(676,474)])
}
Add(BitBtn,8853497,455,567)
{
Left=30
Top=185
Caption="Вставка 4"
link(onClick,11429778:doString,[])
}
Add(FormatStr,11429778,553,567)
{
Mask="[D start:\r\n\r\nend D] "
Point(FString)
link(onFString,10187905:doInsert,[])
}
Add(GetDataEx,15703268,672,336)
{
Angle=1
link(Data,7176448:Position,[(769,341)])
}
Add(GetDataEx,9190434,672,406)
{
link(Data,15703268:Var1,[(678,388)(669,388)(669,341)])
}
Add(GetDataEx,1101709,679,469)
{
link(Data,9190434:Var3,[(685,411)])
}
Add(HubEx,644263,714,371)
{
link(onEvent,9505432:doEvent1,[])
}
Add(HubEx,8630847,700,434)
{
link(onEvent,644263:doWork3,[(718,440)])
}
Add(HubEx,11479707,700,476)
{
Angle=3
link(onEvent,8630847:doWork3,[])
}
Add(GetDataEx,6212187,658,343)
{
link(Data,7176448:Text,[(664,327)(748,327)])
}
Add(GetDataEx,11409115,658,406)
{
link(Data,6212187:Var1,[(664,391)(655,391)(655,348)])
}
Add(GetDataEx,5868082,665,469)
{
link(Data,11409115:Var3,[(671,411)])
}
Add(Trim,2810633,665,280)
{
Mode=7
link(onTrim,7176448:doAdd,[])
}


Редактировалось 1 раз(а), последний 2022-09-09 11:26:08
карма: 1

0
Ответов: 783
Рейтинг: 168
#2: 2022-09-09 13:10:32 ЛС | профиль | цитата
kir1381 писал(а):
Помогите решить задачу.

Что-то у тебя всё слишком сложно.
Мне кажется, можно проще сделать
Add(MainForm,6982072,343,168)
{
Left=35
Top=105
Width=780
Height=622
Color=-16777214
Caption="Новый сценарий"
BorderStyle=1
Position=1
Point(doVisible)
}
Add(ComboBox,15919967,483,56)
{
Left=20
Top=35
Width=95
Height=21
Strings=#5:Плюсы|6:Минусы|
Text=""
ReadOnly=0
}
Add(BitBtn,11514603,420,119)
{
Left=25
Top=60
Width=85
Caption="Выбрать"
link(onClick,2906475:doData,[])
}
Add(DoData,2906475,490,119)
{
link(onEventData,2125249:doString,[])
link(Data,15919967:String,[])
}
Add(FormatStr,2125249,539,119)
{
Mask="@%1{\r\n\r\n\r\n\r\n}%1@ "
Point(FString)
link(onFString,2810633:doTrim,[])
}
Add(RichEdit,7176448,679,119)
{
Left=140
Top=15
Width=605
Height=555
Point(Position)
Point(doInsertRTF)
Point(RTFText)
Point(doSetSelect)
}
Add(BitBtn,8833659,497,182)
{
Left=30
Top=90
Caption="Вставка 1"
link(onClick,11478668:doString,[])
}
Add(FormatStr,11478668,588,182)
{
Mask="[B start:\r\n\r\nend B] "
Point(FString)
link(onFString,10968710:doWork2,[])
}
Add(BitBtn,5164931,497,245)
{
Left=30
Top=120
Caption="Вставка 2"
link(onClick,12151005:doString,[])
}
Add(FormatStr,12151005,588,245)
{
Mask="[S start:\r\n\r\nend S] "
Point(FString)
link(onFString,2518106:doWork2,[])
}
Add(BitBtn,11010079,497,308)
{
Left=30
Top=155
Caption="Вставка 3"
link(onClick,16665780:doString,[])
}
Add(FormatStr,16665780,588,308)
{
Mask="[G start:\r\n\r\nend G] "
Point(FString)
link(onFString,5048563:doWork2,[])
}
Add(BitBtn,8853497,497,364)
{
Left=30
Top=185
Caption="Вставка 4"
link(onClick,11429778:doString,[])
}
Add(FormatStr,11429778,588,364)
{
Mask="[D start:\r\n\r\nend D] "
Point(FString)
link(onFString,5048563:doWork3,[(655,370)])
}
Add(Trim,2810633,588,119)
{
Mode=7
link(onTrim,7176448:doAdd,[])
}
Add(HubEx,10968710,651,182)
{
Angle=3
link(onEvent,7176448:doSetSelect,[(655,153)])
}
Add(HubEx,2518106,651,245)
{
Angle=3
link(onEvent,10968710:doWork3,[])
}
Add(HubEx,5048563,651,308)
{
Angle=3
link(onEvent,2518106:doWork3,[])
}


Редактировалось 1 раз(а), последний 2022-09-09 13:22:59
карма: 15

0
Ответов: 68
Рейтинг: 1
#3: 2022-09-09 19:28:32 ЛС | профиль | цитата
Спасибо работает как надо!
карма: 1

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