Вверх ↑
Ответов: 9906
Рейтинг: 351
#1: 2014-07-14 13:47:53 ЛС | профиль | цитата
Немного продолжил "шаманство" с базовым элементом. Результат - в том же месте.
На предмет исследования корректности определения ошибок. Без изменений функционирования в штатном режиме.

В связи с этим, добавил еще одну нижнюю точку LenErr (в дополнение к PosErr).
Определял позиции ошибки чуток по другому (упоминал про это ранее). Собственно, как это делал Assasin, в режиме DebugMode -- более разумно.
Тренировался на этой схеме:
Add(MainForm,2953706,154,175)
{
 Width=563
 Height=107
 Position=1
 link(onCreate,13979530:doData,[])
}
Add(Edit,3394492,280,35)
{
 Left=14
 Top=14
 Width=78
 Text="3.1"
 Alignment=1
 DataType=4
}
Add(Edit,10671275,336,35)
{
 Left=98
 Top=14
 Width=78
 Text="2.7"
 Alignment=1
 DataType=4
}
Add(Button,13089638,203,35)
{
 Left=189
 Top=14
 Caption="EXE"
 link(onClick,8213495:doWork1,[(249,41)])
}
Add(Edit,11851198,336,98)
{
 Left=252
 Top=14
 Width=155
 Text="0"
 link(onChange,16637626:doStrCat,[])
}
Add(Edit,12199166,203,105)
{
 Top=50
 Width=555
 Height=23
 Align=4
 Font=[Lucida Console,12,1,0,204]
 Text="min(arccos(1/2^.5), %1+%2, %1-%2, 30, XXX(1), 60)"
 ClearAfterEnter=1
 Point(doPosition)
 Point(doSelectLength)
 Point(doSetFocus)
 link(onChange,10921608:doWork2,[])
 link(onEnter,8213495:doWork3,[(249,118)])
}
Add(MathParse,14138065,280,98)
{
 DataCount=3
 MathStr=""
 AngleMode=1
 ExtNames=3
 Point(doMathStr)
 Point(onError)
 Point(PosErr)
 Point(LenErr)
 link(onResult,11851198:doText,[])
 link(X1,3394492:Text,[])
 link(X2,10671275:Text,[(293,75)(342,75)])
 link(onError,5702810:doEvent1,[(319,111)(319,90)(46,90)(46,125)])
}
Add(DoData,13979530,203,189)
{
 link(onEventData,10921608:doWork3,[(263,195)])
 link(Data,12199166:Text,[])
}
Add(HubEx,10921608,259,105)
{
 link(onEvent,14138065:doMathStr,[])
}
Add(DoData,14850193,91,119)
{
 link(onEventData,12199166:doPosition,[])
 link(Data,14138065:PosErr,[(97,103)(188,103)(188,152)(293,152)])
}
Add(DoData,15048762,140,126)
{
 link(onEventData,12199166:doSelectLength,[])
 link(Data,14138065:LenErr,[(146,117)(181,117)(181,159)(300,159)])
}
Add(Hub,5702810,56,119)
{
 OutCount=4
 link(onEvent1,14850193:doData,[])
 link(onEvent2,15048762:doData,[])
 link(onEvent3,12199166:doSetFocus,[])
 link(onEvent4,4639692:doRead,[(81,146)(81,181)])
}
Add(ArrayRW,4639692,98,175)
{
 link(onRead,16008335:doWork2,[])
 link(Array,14012477:Array,[])
}
Add(StrList,14012477,84,35)
{
 Strings=#21:Синтаксическая ошибка|17:Ошибка вычисления|
}
Add(HubEx,8213495,245,98)
{
 link(onEvent,14138065:doCalc,[])
}
Add(StrCat,16637626,385,98)
{
 Str1="Результат: "
 link(onStrCat,16008335:doWork1,[(424,104)(424,167)(144,167)])
}
Add(HubEx,16008335,140,175)
{
 link(onEvent,2953706:doCaption,[])
}
Чего коллегам и предлагаю
------------ Добавленo в 13.47:
Тешу себя надеждой, что те, кому интересны конкретные изменения -- умеют пользоваться Черепахой.
карма: 9

0