Вверх ↑
Этот топик читают: Гость
Ответов: 80
Рейтинг: 4
#46: 2013-04-04 00:30:11 ЛС | профиль | цитата
mestnyi писал(а):
R2D2, Убери ";" в первом machparsere.

Спасибо! И все равно не работает...

Add(ChildScrollBox,12794136,560,294)
{
}
BEGIN_SDK
Add(EditMulti,14850086,49,14)
{
EventCount=1
WorkCount=2
DataCount=1
Width=979
Height=571
link(doWork1,15264964:doRefresh,[(143,20)(143,300)(143,300)])
}
Add(PointHint,14615261,287,126)
{
Info=#11:Вычислитель|
Transparent=0
VAlign=0
Width=540
Height=403
}
Add(PointHint,16771857,301,154)
{
Info=#6:Кольца|
Transparent=0
VAlign=0
Width=71
Height=74
}
Add(ScrollBox,12331734,203,49)
{
Width=475
Height=460
Color=-16777210
}
Add(Img_Polygon,9946245,756,336)
{
PointsArray=[]
Color=15793151
BgColor=-16777214
Style=1
Point(BgColor)
link(onDraw,11110144:doClear,[(796,342)(817,342)(819,342)(819,304)(819,221)(758,221)(758,251)])
link(Bitmap,15264964:Bitmap,[(762,327)(745,327)(745,374)(849,374)(849,554)(216,554)])
link(PointsArray,10228762:Item,[(769,324)(776,324)])
}
Add(PaintBox,15264964,210,294)
{
Width=470
Height=455
Color=-16777215
link(onBeforeDraw,2861903:doFor,[(272,300)(272,489)])
}
Add(MathParse,4860275,315,273)
{
DataCount=1
MathStr="34*((2*(%1/3))+1)"
ResultType=0
link(onResult,4205715:doCalc,[(359,279)(359,331)(303,331)(303,384)])
link(X1,3511678:Var2,[])
}
Add(MathParse,2126812,448,273)
{
DataCount=1
MathStr="22*(1+%1)"
ResultType=0
link(onResult,2266312:doCalc,[(485,279)(485,317)(436,317)(436,384)])
link(X1,3511678:Var3,[(454,236)])
}
Add(MathParse,14067007,315,175)
{
DataCount=1
MathStr="(-0.5)+0.5*sqrt((1+(%1/3)*4))"
ResultType=0
Default=6
link(onResult,808268:doEvent1,[])
}
Add(PointHint,3654229,301,252)
{
Info=#14:Максимальный X|
Transparent=0
VAlign=0
Width=120
Height=60
}
Add(PointHint,5352218,434,252)
{
Info=#14:Максимальный Y|
Transparent=0
VAlign=0
Width=127
Height=60
}
Add(GetDataEx,3511678,315,231)
{
link(Data,14067007:Result,[])
}
Add(PointHint,970221,301,364)
{
Info=#9:X вершины|
Transparent=0
VAlign=0
Width=120
Height=53
}
Add(PointHint,1583871,434,364)
{
Info=#9:Y вершины|
Transparent=0
VAlign=0
Width=127
Height=53
}
Add(MathParse,4205715,315,378)
{
MathStr="round((%2*0.5+%1*(sqrt(3)/2)))+15"
ResultType=0
link(onResult,7148350:doWork3,[(423,384)])
link(X1,15831179:Var2,[])
link(X2,8616436:Var2,[])
}
Add(MathParse,2266312,448,378)
{
MathStr="round(((-1)*%2*(sqrt(3)/2))+%1*0.5)+9"
ResultType=0
link(onResult,7148350:doWork1,[(492,384)(492,356)])
link(X1,15831179:Var3,[(454,348)])
link(X2,8616436:Var3,[(461,334)])
}
Add(PointHint,15689830,595,147)
{
Info=#1:1|
Transparent=0
VAlign=0
Height=53
}
Add(PointHint,10886586,595,210)
{
Info=#1:2|
Transparent=0
VAlign=0
Height=53
}
Add(PointHint,4259795,595,273)
{
Info=#1:3|
Transparent=0
VAlign=0
Height=53
}
Add(PointHint,3010453,595,336)
{
Info=#1:4|
Transparent=0
VAlign=0
Height=53
}
Add(PointHint,2508979,595,399)
{
Info=#1:5|
Transparent=0
VAlign=0
Height=53
}
Add(PointHint,2730476,595,462)
{
Info=#1:6|
Transparent=0
VAlign=0
Height=53
}
Add(MathParse,9130556,602,476)
{
DataCount=4
MathStr="(((%2+%4)-14)*65536)+((%1+%3)-7)"
ResultType=0
link(onResult,7230330:doEvent6,[(666,482)(666,344)])
link(X1,6186974:Var2,[(580,476)])
link(X2,11022653:Var2,[(603,470)(587,470)])
link(X3,4758241:Var3,[(595,460)])
link(X4,8574464:Var3,[(593,454)])
}
Add(MathParse,13252307,602,413)
{
DataCount=4
MathStr="(((%2+%4)-14)*65536)+((%1+%3)-23)"
ResultType=0
link(onResult,7230330:doEvent5,[(661,419)(661,339)])
link(X1,6186974:Var3,[(608,411)])
link(X2,11022653:Var3,[(615,404)])
link(X3,4355604:Var3,[(622,397)])
link(X4,3548144:Var3,[(629,390)])
}
Add(MathParse,12829915,602,350)
{
DataCount=4
MathStr="((%2+%4)*65536)+((%1+%3)-30)"
ResultType=0
link(onResult,7230330:doEvent4,[(653,356)(653,307)])
link(X1,2242800:Var3,[(608,348)])
link(X2,13602065:Var3,[(615,341)])
link(X3,5292024:Var3,[(622,334)])
link(X4,9875890:Var3,[(629,327)])
}
Add(MathParse,15027814,602,287)
{
DataCount=4
MathStr="(((%2+%4)-13)*65536)+((%1+%3)-23)"
ResultType=0
link(onResult,7230330:doEvent3,[(646,300)])
link(X1,2574356:Var3,[(608,285)])
link(X2,7355430:Var3,[(615,278)])
link(X3,8943556:Var3,[(622,271)])
link(X4,16060455:Var3,[(629,264)])
}
Add(MathParse,11886351,602,224)
{
DataCount=4
MathStr="(((%2+%4)-13)*65536)+((%1+%3)-7)"
ResultType=0
link(onResult,7230330:doEvent2,[(650,230)(650,288)])
link(X1,4460384:Var3,[(608,222)])
link(X2,584530:Var3,[(615,215)])
link(X3,11021908:Var3,[(622,208)])
link(X4,8608912:Var3,[(629,201)])
}
Add(MathParse,2975520,602,161)
{
DataCount=4
MathStr="((%2+%4)*65536)+(%1+%3)"
ResultType=0
link(onResult,7230330:doEvent1,[(656,167)(656,286)])
link(X1,15217891:Var3,[(608,149)])
link(X2,13779188:Var3,[(615,154)])
link(X3,11021908:Var2,[(622,141)(573,141)])
link(X4,8608912:Var2,[(629,158)(566,158)])
}
Add(GetDataEx,15217891,574,144)
{
Angle=3
link(Data,4860275:Result,[(426,149)(426,313)(321,313)])
}
Add(GetDataEx,4460384,574,217)
{
link(Data,15217891:Var2,[])
}
Add(GetDataEx,2574356,574,280)
{
link(Data,4460384:Var2,[])
}
Add(GetDataEx,2242800,574,343)
{
link(Data,2574356:Var2,[])
}
Add(GetDataEx,6186974,574,406)
{
link(Data,2242800:Var2,[])
}
Add(GetDataEx,13779188,581,149)
{
Angle=3
link(Data,2126812:Result,[(429,154)(429,313)(454,313)])
}
Add(GetDataEx,11022653,581,399)
{
link(Data,13602065:Var2,[])
}
Add(GetDataEx,13602065,581,336)
{
link(Data,7355430:Var2,[])
}
Add(GetDataEx,7355430,581,273)
{
link(Data,584530:Var2,[])
}
Add(GetDataEx,584530,581,210)
{
link(Data,13779188:Var2,[])
}
Add(GetDataEx,4758241,567,455)
{
Angle=3
link(Data,4205715:Result,[(321,460)])
}
Add(GetDataEx,11021908,567,203)
{
Angle=2
link(Data,8943556:Var2,[])
}
Add(GetDataEx,8943556,567,266)
{
Angle=2
link(Data,5292024:Var2,[])
}
Add(GetDataEx,5292024,567,329)
{
Angle=2
link(Data,4355604:Var2,[])
}
Add(GetDataEx,4355604,567,392)
{
Angle=2
link(Data,4758241:Var1,[])
}
Add(GetDataEx,8574464,560,449)
{
Angle=3
link(Data,2266312:Result,[(454,454)])
}
Add(GetDataEx,8608912,560,196)
{
Angle=2
link(Data,16060455:Var2,[])
}
Add(GetDataEx,16060455,560,259)
{
Angle=2
link(Data,9875890:Var2,[])
}
Add(GetDataEx,3548144,560,385)
{
Angle=2
link(Data,8574464:Var1,[])
}
Add(GetDataEx,9875890,560,322)
{
Angle=2
link(Data,3548144:Var2,[])
}
Add(IntegerArray,11110144,770,231)
{
IntArray=[]
}
Add(ArrayRW,10228762,770,280)
{
Index=Real(0)
link(Array,11110144:Array,[])
link(Value,15637078:GetData,[(790,268)(752,268)(752,310)(713,310)])
}
Add(IntegerArray,6467292,406,56)
{
IntArray=['0'=17,'1'=35,'2'=18,'3'=-17,'4'=-35,'5'=-18]
}
Add(IntegerArray,170987,357,56)
{
IntArray=['0'=35,'1'=18,'2'=-17,'3'=-35,'4'=-18,'5'=17]
}
Add(For,11735681,455,182)
{
Start=1
End=6
link(onEvent,5269114:doEvent,[])
link(onStop,9946245:doDraw,[(547,247)(547,341)])
}
Add(For,2861903,301,483)
{
End=5
link(onEvent,10797799:doEvent1,[])
}
Add(PointHint,5139616,294,469)
{
Info=#16:Генератор Систем|
Transparent=0
VAlign=0
Width=113
Height=53
}
Add(Hub,808268,357,175)
{
link(onEvent1,2126812:doCalc,[(409,181)(409,279)])
link(onEvent2,4860275:doCalc,[(383,188)(383,234)(303,234)(303,279)])
}
Add(IndexToChanel,5269114,511,182)
{
Count=6
Data=Integer(0)
link(onEvent1,2975520:doCalc,[(573,188)(573,167)])
link(onEvent2,11886351:doCalc,[(573,195)(573,230)])
link(onEvent3,15027814:doCalc,[(570,202)(570,293)])
link(onEvent4,12829915:doCalc,[(565,209)(565,356)])
link(onEvent5,13252307:doCalc,[(562,216)(562,419)])
link(onEvent6,9130556:doCalc,[(556,223)(556,482)])
}
Add(PointHint,16266998,434,161)
{
Info=#20:Внутренний генератор|
Transparent=0
VAlign=0
Width=127
Height=67
}
Add(EventFromData,15637078,707,273)
{
link(onEvent,10228762:doAdd,[(744,300)])
}
Add(Hub,7230330,672,280)
{
InCount=6
OutCount=1
link(onEvent1,15637078:doData,[(696,286)(696,279)])
}
Add(ArrayRW,3877581,357,105)
{
Index=Integer(0)
link(Array,170987:Array,[])
link(Index,2394769:Var2,[(370,101)(384,101)])
}
Add(ArrayRW,14988645,406,105)
{
Index=Integer(0)
link(Array,6467292:Array,[])
link(Index,2394769:Var3,[(419,94)])
}
Add(Hub,10797799,343,483)
{
link(onEvent1,16037419:doFor,[(369,489)(369,297)(219,297)(219,196)(219,104)])
link(onEvent2,14067007:doCalc,[(369,496)(369,338)(303,338)(303,181)])
}
Add(EventFromData,8724752,280,56)
{
link(onEvent,10120291:doEvent1,[(317,62)(317,90)])
}
Add(GetDataEx,2394769,378,89)
{
Angle=3
link(Data,8724752:GetData,[(286,94)])
}
Add(Hub,10120291,322,84)
{
link(onEvent1,14988645:doRead,[(398,90)(398,111)])
link(onEvent2,3877581:doRead,[(346,97)(346,111)])
}
Add(For,16037419,231,98)
{
End=5
link(onEvent,8724752:doData,[(271,104)(271,62)])
}
Add(GetDataEx,15831179,315,343)
{
link(Data,3877581:Item,[(321,258)(363,258)])
}
Add(PointHint,10078547,693,196)
{
Info=#6:Массив|
Transparent=0
VAlign=0
Width=120
Height=123
}
Add(HubEx,7148350,419,350)
{
Angle=3
link(onEvent,11735681:doFor,[(423,188)])
}
Add(GetDataEx,8616436,322,329)
{
link(Data,14988645:Item,[(328,258)(412,258)])
}
END_SDK

карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#47: 2013-04-04 01:50:55 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2021-05-21 08:40:56
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#48: 2013-04-04 02:47:04 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2021-05-21 08:40:56
карма: 0

0
Ответов: 80
Рейтинг: 4
#49: 2013-04-04 09:42:06 ЛС | профиль | цитата
37.45.180.205 писал(а):
1. Удалить все EventFromData они вообще так не должны использоваться, для хранения данных пользуйтесь Memory . Но в вашей схеме можно просто удалить. В двух ArrayRW в свойстве Index поставьте NULL, данные будут браться из потока. А при добавлении (doAdd) данные тоже будут браться из потока.
2. IndexToChanel имеет у вас 6 событий, 1 событие имеет 0 индекс (выделите элемент и нажмите F1), а у вас в свойствах For выставлено start=1 finish=6 (надо 0 и 5 соответственно).
3.Почему у вас Img_Polygon подключен к ArrayRW , а не к IntegerArray (он там ничего не получит).
4. Обратите внимание на второй For , он у вас в "холостую" перебирает два массива. Данные с массивов получают последние всегда.
5. Со своими MathParse разбирайтесь сами.
Вот вам ваше "художество" с поправками (математику вашу не трогал), любуйтесь что рисует: code_30748.txt

Это приходит с опытом, по правде сказать, я и сам думал, как упростить все. Я не знаю тонкостей HiAsm'a. RW был нужен для... записи и чтения. Кроме того у меня дата-связи не хотели соединяться, хотя вроде все правильно нарисовано. В общем, нехорошо. Буду разбираться.
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#50: 2013-04-04 10:00:26 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2021-05-21 08:40:56
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#51: 2013-04-04 11:01:04 ЛС | профиль | цитата
37.45.180.205 писал(а):
code_30748.txt
Советы - дело хорошее. Главное, что он (совет) советующему ничего не стоит.
R2D2 писал(а):
Это приходит с опытом, по правде сказать, я и сам думал, как упростить все.

Упростить ? Запросто.
code_30750.txt
На формулы тоже не смотрел.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_30750.txt [4.1KB] [379]
Ответов: 80
Рейтинг: 4
#52: 2013-04-04 13:30:27 ЛС | профиль | цитата
37.45.52.96 писал(а):
R2D2, прочитайте справку (F1), посмотрите примеры (ПомощьПримеры), это не займет у вас много времени. Вот посмотрите как вариант, нужно только подавать данные X,Y,Цвет,Название
code_30749.txt
Не поверите, читаю) Но все равно туго доходит. Вариант хороший, думаю как сделать. Формулы перепроверяю, вероятнее всего где то напортачил.

Tad писал(а):
Упростить ? Запросто.
code_30750.txt
На формулы тоже не смотрел.


Сейчас посмотрю.
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#53: 2013-04-04 19:25:44 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2021-05-21 08:40:56
карма: 0

0
Ответов: 495
Рейтинг: 163
#54: 2013-04-04 20:47:05 ЛС | профиль | цитата
R2D2, посмотрел схемку от sla8a code_30749.txt немного поигрался с ней . Немного извратил (как обычно). Вдруг и подтолкнёт на мыслишку какую...
code_30753.txt
карма: 4

1
файлы: 1code_30753.txt [5.1KB] [569]
Голосовали:Tad
Гость
Ответов: 17029
Рейтинг: 0
#55: 2013-04-04 21:58:45 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2021-05-21 08:40:56
карма: 0

0
Ответов: 80
Рейтинг: 4
#56: 2013-04-05 19:24:52 ЛС | профиль | цитата
вы так и не ответили: что делать с integer?

За кольца отдельное спасибо! Супер! Классно!
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#57: 2013-04-05 19:36:51 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2021-05-21 08:40:56
карма: 0

0
Ответов: 80
Рейтинг: 4
#58: 2013-04-05 19:42:12 ЛС | профиль | цитата
37.45.8.209 писал(а):
Только учтите что это набросок, там компонент "слой" можно выкинуть (он там лишний) и в MathParse-ах порядки нужно навести, да и проверить все.

Я в качестве примера возьму) Все равно сам буду писать)
Вопрос касался координат и мат. парсера, который воспринимает только integer но данного типа, по идее, должно не хватить.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#59: 2013-04-05 19:43:49 ЛС | профиль | цитата
37.45.44.76 писал(а):
вот вам кольца
Кто компилировал дельфями ?
Почему-то компилируется только FPC.
Под Delphi клинит намертво.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Гость
Ответов: 17029
Рейтинг: 0
#60: 2013-04-05 19:45:39 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2021-05-21 08:40:57
карма: 0

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