Вверх ↑
Ответов: 327
Рейтинг: 5
#1: 2013-07-22 09:02:41 ЛС | профиль | цитата
г. ость писал(а):
через Memo.Enabled

Я думаю получится более качественно если удалять по 1 символу с самого конца... Тогда еще решится проблема со вставкой текста(в твоей схеме можно до бесконечности догнать символы).


------------ Дoбавленo в 15.12:
г. ость писал(а):
или через SendMessage

за это спасибо, была одна проблема... он перевод строки за 2 символа считает, проблему решил
------------ Дoбавленo в 09.02:
Add(MainForm,2953706,203,126)
{
Width=556
}
Add(Memo,9124675,392,119)
{
@Hint=#15:ScrollBars=Both|
Width=540
Height=217
Align=5
ScrollBars=3
Point(Handle)
Point(EndIdx)
link(onChange,5962814:doEnum,[(432,125)(432,108)(384,108)(384,321)])
AddHint(-28,-41,90,13,@Hint)
}
Add(Memory,15223640,497,252)
{
Default=Integer(0)
}
Add(Length,8277588,448,315)
{
link(onLength,3098489:doOperation,[])
}
Add(ArrayEnum,5962814,406,315)
{
link(onItem,8277588:doLength,[])
link(onEndEnum,13442962:doCalc,[(445,328)(445,363)])
link(Array,9124675:Array,[])
}
Add(Math,3098489,490,315)
{
link(onResult,11057580:doEvent1,[])
link(Op2,11772553:Var2,[])
}
Add(Hub,11057580,532,315)
{
link(onEvent1,15223640:doValue,[(556,321)(556,246)(488,246)(488,258)])
link(onEvent2,15240798:In,[])
}
Add(LineBreak,7046748,665,84)
{
Color=15780518
link(Out,13602058:doEvent1,[])
Primary=[15240798,-112,238]
}
Add(InfoTip,15827174,392,217)
{
Info=#21:Сумма длин всех строк|
Width=197
Height=158
}
Add(Memory,5612995,784,329)
{
Default=Integer(197)
}
Add(SendMessage,2934727,763,371)
{
WParam=255
Point(Message)
link(Handle,14486673:Var,[])
link(WParam,4872939:Result,[(776,359)(748,359)(748,415)(720,415)])
link(Message,5612995:Value,[])
}
Add(Label,4344545,777,84)
{
Top=217
Width=540
Align=4
}
Add(StrCat,14165787,735,84)
{
Str1="Сумма длин всех строк : "
link(onStrCat,4344545:doText,[])
}
Add(MathParse,13442962,602,357)
{
@Hint=#40:Всего символов(с учетом переводов строк)|
MathStr="%1+%2"
link(onResult,11243946:doEvent1,[])
link(X1,11772553:Var3,[(608,299)])
link(X2,5093319:Var2,[])
AddHint(-174,39,148,26,@Hint)
}
Add(GetDataEx,11772553,497,294)
{
link(Data,15223640:Value,[])
}
Add(LineBreak,10434237,413,189)
{
Type=1
Color=255
link(Data,9124675:Handle,[])
Primary=[14486673,350,126]
}
Add(Hub,11243946,651,357)
{
OutCount=3
link(onEvent1,9669736:In,[])
link(onEvent2,15127989:In,[])
link(onEvent3,4872939:doCalc,[])
}
Add(Label,9878536,777,154)
{
Top=232
Width=540
Align=4
}
Add(StrCat,2458090,735,154)
{
Str1="Количество переводов строки : "
link(onStrCat,9878536:doText,[])
link(Str2,14336718:Var,[])
}
Add(GetDataEx,904918,609,177)
{
Angle=3
link(Data,9124675:EndIdx,[(426,182)])
}
Add(Hub,13602058,707,84)
{
link(onEvent1,14165787:doStrCat,[])
link(onEvent2,2458090:doStrCat,[(728,97)(728,160)])
}
Add(Label,1165298,777,238)
{
Top=247
Width=540
Align=4
}
Add(MathParse,4872939,714,371)
{
@Hint=#115:К стандартным 255 прибавляем EndInd(x2) потому что перевод строки это два символа, а нам нужно его считать как один|
DataCount=1
MathStr="255+%1*2"
link(onResult,2934727:doSendMessage,[])
link(X1,5093319:Var3,[(720,334)])
AddHint(-85,61,195,52,@Hint)
}
Add(GetDataEx,5093319,609,329)
{
link(Data,904918:Var2,[])
}
Add(LineBreak,15244326,602,399)
{
Type=1
Color=16711680
link(Data,13442962:Result,[])
Primary=[5971304,133,-182]
}
Add(LineBreak,5027034,616,196)
{
Type=1
Color=8421504
link(Data,904918:Var3,[(622,182)])
Primary=[14336718,126,-63]
}
Add(FormatStr,6255340,735,238)
{
DataCount=1
Mask="Всего символов(с учетом переводов строк) : %1 (Должно быть не больше 255)"
link(onFString,1165298:doText,[])
link(Str1,5971304:Var,[])
}
Add(LineBreak,428937,693,238)
{
Color=12639424
link(Out,6255340:doString,[])
Primary=[9669736,-21,119]
}
Add(LineBreak,712994,462,259)
{
Color=16776960
link(Out,15223640:doClear,[])
Primary=[15127989,210,105]
}
С одной строкой все нормально, но как только их становится больше, начинаются проблемы...
Где косяк? Никак найти не могу.
карма: 0

0