Добавлено два компонента:
Tracerouter - Отслеживает ближайшие связи слова заданного его индексом.
MorphOn - Компонент вычисляет морфологические атрибуты слова и выдаёт их в поток.
Пришлось скорректировать основной компонент Morphology, так что его надо обновить.
Обновил архивы: Morphology.rar http://yadi.sk/d/SbjAz1ySCdjEb и Morphology1.rar
http://forum.hiasm.com/forum_serv.php?q=56&id=3634, в последнем нет словарей и dll.
Всего компонентов четыре.
Кроме основного - Morphology, все компоненты "не тяжелые", т.е. можно применять как хабы.
Примеры:
Make(delphi) ver(4.04 build 185) Add(MainForm,2953706,84,182) { Width=783 Height=299 link(onCreate,9116510:doEvent1,[]) } Add(Morphology,2493666,343,287) { link(Str,8963013:Text,[(349,256)(346,256)]) } Add(Tracerouter,4731542,364,490) { Point(Mode) link(onNumWordConnect,9873066:doNumWord,[]) } Add(Memo,8963013,340,180) { Left=10 Top=10 Width=385 Height=170 Strings=#398:Ему снился белый космос с темными пятнами звезд и черный катафалк, нарезающий круги вокруг Юпитера. Красный глаз Большого Пятна следил за этими маневрами пристально и недобро. При этом глаз пел песенку на мотив какого-то детского мультфильма: «Я ураган и ты ураган. Оба мы с тобою ураганы». Из задней дверцы катафалка высовывался цилиндрический гроб, похожий на вторую ступень ракетного ускорителя.| ScrollBars=2 } Add(Hub,6413747,168,280) { OutCount=3 link(onEvent1,2493666:doSetText,[(262,286)(262,300)]) link(onEvent2,2493666:doNumOffer,[(262,293)(262,314)]) link(onEvent3,8460297:doData,[(301,300)(301,384)]) } Add(Memo,7832675,673,479) { Left=595 Top=10 Width=165 Height=200 } Add(DoData,8460297,420,378) { link(onEventData,1022768:doMax,[(461,384)(461,418)(415,418)(415,447)]) link(Data,2493666:Count_Words,[(426,362)(356,362)]) } Add(TrackBar,1022768,427,427) { Left=10 Top=185 Width=385 Point(doMax) link(onPosition,1788306:doEvent1,[]) } Add(Memo,4657202,676,390) { Left=415 Top=10 Width=165 Height=200 } Add(Hub,1788306,483,427) { OutCount=4 link(onEvent1,4657202:doClear,[(597,433)(597,403)]) link(onEvent2,8090845:doNumWord,[(570,440)(570,349)]) link(onEvent3,7832675:doClear,[(585,447)(585,492)]) link(onEvent4,4731542:doTracertShort,[(509,454)(509,475)(352,475)(352,496)]) } Add(Button,13124768,84,266) { Left=30 Top=225 link(onClick,6717929:doWork2,[]) } Add(Hub,9116510,154,196) { link(onEvent1,2493666:doSetLanguage,[(284,202)(284,293)]) link(onEvent2,6717929:doWork1,[(180,209)(180,247)(156,247)]) } Add(HubEx,6717929,152,266) { Angle=1 link(onEvent,6413747:doEvent1,[(156,286)]) } Add(MorphOn,8090845,581,343) { Point(Mode) link(onAttribWord,4657202:doAdd,[(645,349)(645,396)]) } Add(MorphOn,9873066,504,490) { Point(Mode) link(onAttribWord,7832675:doAdd,[(604,496)(604,485)]) }
Make(delphi) ver(4.04 build 185) Add(MainForm,1650821,84,154) { Width=529 Height=404 link(onCreate,945197:doSetLanguage,[(258,174)(258,202)]) } Add(ListBox,5543210,84,210) { Left=5 Top=10 Width=505 Height=160 Strings=#32:стучит в правом переднем рычаге.|77:Тем более поразительной среди всего этого хаоса казалась тонкая прямая линия.|52:замена правого переднего рычага и левой задней ноги.|43:порван передний левый внешний пыльник шруса|61:Из темноты раздавались странные крики, шорохи и встряхивание.|72:Хливкие шорьки пырялись по наве, и хрюкотали зелюки, как мюмзики в мове.| DataType=1 link(onClick,7948982:doEvent1,[]) } Add(ListBox,8311011,723,417) { Left=245 Top=180 Width=265 Height=185 } Add(Hub,7948982,140,217) { OutCount=4 link(onEvent1,8311011:doClear,[(198,223)(198,181)(473,181)(473,430)]) link(onEvent2,945197:doSetText,[(229,230)(229,209)]) link(onEvent3,945197:doNumOffer,[(245,237)(245,223)]) link(onEvent4,8871095:doFor,[(245,244)(245,342)]) } Add(Morphology,945197,266,196) { link(NumOffer,10125215:Value,[]) } Add(For,8871095,266,336) { link(onEvent,12198169:doCompare,[(324,342)(324,244)]) link(End,945197:Count_Words,[]) } Add(Memory,10125215,273,140) { Default=Integer(0) } Add(ComparisonAttributes,12198169,364,238) { Mode=2 Mask="1" link(onTrue,51809:doEvent1,[]) } Add(Hub,51809,413,245) { OutCount=3 link(onEvent1,15503811:doValue,[(481,251)(481,216)]) link(onEvent2,14334352:doTracertShort,[(439,258)(439,284)(334,284)(334,307)]) link(onEvent3,14114462:doReset,[(501,265)(501,251)]) } Add(ComparisonAttributes,8161119,406,301) { Mode=2 Mask="3" link(onTrue,13918117:doEvent1,[]) } Add(Tracerouter,14334352,343,301) { Mode=2 link(onNumWordConnect,8161119:doCompare,[]) } Add(MorphOn,2271327,511,392) { Mode=1 Point(Mode) link(onAttribWord,6451184:doWork2,[]) } Add(Hub,13918117,483,308) { link(onEvent1,14114462:doNext,[(512,314)(512,237)]) link(onEvent2,13452458:doEvent,[(518,321)(518,300)]) } Add(DoData,11896272,574,322) { link(onEventData,3102348:doEvent1,[]) link(Data,15503811:Value,[]) } Add(Memory,15503811,574,210) { } Add(Counter,14114462,525,231) { } Add(IndexToChanel,13452458,525,294) { Point(Index) link(onEvent2,11896272:doData,[(565,307)(565,328)]) link(Index,14114462:Count,[]) } Add(Hub,3102348,616,322) { link(onEvent1,11363038:doNumWord,[]) link(onEvent2,12266660:doTracertShort,[(642,335)(642,367)(366,367)(366,398)]) } Add(MorphOn,11363038,672,322) { Mode=1 Point(Mode) link(onAttribWord,6451184:doWork1,[(714,328)]) } Add(HubEx,6451184,710,392) { Angle=1 link(onEvent,8311011:doAdd,[(714,423)]) } Add(Tracerouter,12266660,378,392) { Mode=2 link(onNumWordConnect,2154521:doCompare,[]) } Add(ComparisonAttributes,2154521,427,392) { Mode=2 Mask="11" link(onFalse,2271327:doNumWord,[]) }
|