Joiner писал(а): Теперь пустые строки заполняются последней строкой Add(MainForm,3063237,140,91) { Width=651 Height=550 link(onCreate,11085202:doWork1,[]) } Add(StrList,4383086,518,98) { Point(EndIdx) Point(doGetString) Point(onGetString) Point(StrToFind) } Add(ChildPanel,11085202,196,105) { link(onEvent2,8443177:doEvent1,[]) } BEGIN_SDK Add(EditMulti,7878121,21,21) { EventCount=2 WorkCount=1 VarCount=1 Width=790 Height=522 link(doWork1,12297484:doEvent1,[(46,27)(46,97)]) } Add(Panel,13137533,56,35) { Width=635 Height=30 Align=2 } Add(Button,294400,42,126) { Left=15 Top=5 Caption="New" link(onClick,12836985:doEvent1,[]) } Add(Edit,10340021,217,35) { Left=185 Top=5 Width=90 Text="20000" DataType=2 } Add(Label,13731098,168,35) { Left=125 Top=7 Width=61 Height=17 Caption="Кол. строк" } Add(Button,11871194,308,357) { Left=290 Top=5 Caption="View" link(onClick,1896552:doData,[]) } Add(LED,11063149,301,49) { Left=80 Top=5 Width=20 Height=20 ColorOff=65280 } Add(Hub,12297484,91,91) { OutCount=4 link(onEvent1,3301899:doWork2,[(116,97)(116,83)]) link(onEvent2,3210884:doWork1,[]) link(onEvent4,14611930:doWork2,[]) } Add(MultiElement,3210884,217,98) { link(onEvent1,2339098:doAdd,[]) link(onEvent2,11063149:doOff,[(284,111)(284,62)]) link(Data1,10340021:Text,[]) } BEGIN_SDK Add(EditMulti,90280,28,21) { EventCount=2 WorkCount=2 DataCount=1 Width=636 Height=158 VOffset=7 HOffset=28 link(doWork1,15240120:doEvent1,[]) link(doWork2,15286128:doFor,[(39,41)(39,55)]) } Add(For,15286128,49,49) { @Hint=#18:Количество абзацев| IncludeEnd=1 link(onEvent,9486001:doRandom,[]) link(onStop,90280:onEvent2,[(88,62)(88,158)(603,158)(603,41)]) link(End,90280:Data1,[]) } Add(For,11842154,154,49) { @Hint=#29:Количество слов в предложении| link(onEvent,5410569:doText,[]) link(onStop,15892992:doEvent1,[(193,62)(193,97)]) link(End,1516465:Var3,[(167,40)(146,40)(146,89)]) } Add(Random,9486001,105,49) { Min=7 Max=15 link(onRandom,11842154:doFor,[]) } Add(InlineCode,5410569,203,42) { WorkPoints=#7:doStart|6:doText| EventPoints=#5:onRes| Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|23: onRes : THI_Event;|5: |52: procedure doStart(var _Data:TData; Index:Word); |50: procedure doText(var _Data:TData; Index:Word);|5: end;|0:|14:implementation|0:|30:procedure THiAsmClass.doStart;|6: begin|12: Randomize;|5: end;|0:|29:procedure THiAsmClass.doText;|15:var sss:string;|16: i,j:integer;|16: _Rnd:double;|5:BEGIN|11: sss:=' ';|24: j:=round(Random*12)+2;|19: for i:=0 to j do|9: begin|18: _Rnd:=Random;|42: if _Rnd<0.0003 then sss:=sss+'ё' else|42: if _Rnd<0.0007 then sss:=sss+'ъ' else|42: if _Rnd<0.0033 then sss:=sss+'ф' else|42: if _Rnd<0.0065 then sss:=sss+'э' else|42: if _Rnd<0.0101 then sss:=sss+'щ' else|42: if _Rnd<0.0149 then sss:=sss+'ц' else|42: if _Rnd<0.0213 then sss:=sss+'ю' else|42: if _Rnd<0.0286 then sss:=sss+'ш' else|41: if _Rnd<0.038 then sss:=sss+'ж' else|42: if _Rnd<0.0477 then sss:=sss+'х' else|42: if _Rnd<0.0598 then sss:=sss+'й' else|42: if _Rnd<0.0742 then sss:=sss+'ч' else|42: if _Rnd<0.0901 then sss:=sss+'б' else|42: if _Rnd<0.1066 then sss:=sss+'з' else|42: if _Rnd<0.1236 then sss:=sss+'г' else|41: if _Rnd<0.141 then sss:=sss+'ь' else|40: if _Rnd<0.16 then sss:=sss+'ы' else|42: if _Rnd<0.1801 then sss:=sss+'я' else|42: if _Rnd<0.2063 then sss:=sss+'у' else|42: if _Rnd<0.2344 then sss:=sss+'п' else|42: if _Rnd<0.2642 then sss:=sss+'д' else|42: if _Rnd<0.2963 then sss:=sss+'м' else|42: if _Rnd<0.3312 then sss:=sss+'к' else|42: if _Rnd<0.3752 then sss:=sss+'л' else|42: if _Rnd<0.4206 then sss:=sss+'в' else|42: if _Rnd<0.4679 then sss:=sss+'р' else|42: if _Rnd<0.5226 then sss:=sss+'с' else|42: if _Rnd<0.5852 then sss:=sss+'т' else|42: if _Rnd<0.6522 then sss:=sss+'н' else|42: if _Rnd<0.7257 then sss:=sss+'и' else|42: if _Rnd<0.8058 then sss:=sss+'а' else|42: if _Rnd<0.8903 then sss:=sss+'е' else|34: if _Rnd<1 then sss:=sss+'о'; |9: end;|25: _hi_onEvent(onRes,sss);|4:END;|0:|0:|4:end.| link(onRes,15879034:doWork2,[]) } Add(StrCat,13455235,308,42) { Point(doClear) link(Str1,7063167:Var3,[(314,33)(328,33)(328,82)]) } Add(Hub,15240120,70,28) { link(onEvent1,5410569:doStart,[(193,34)(193,48)]) link(onEvent2,9486001:doRandomize,[(95,41)(95,62)]) } Add(DoData,7170534,308,98) { link(onEventData,16600547:doTrim,[]) link(Data,7063167:Var2,[]) } Add(GetDataEx,7063167,308,77) { link(Data,13455235:Result,[]) } Add(Hub,15892992,203,91) { OutCount=3 link(onEvent1,7526937:doData,[(242,97)(242,62)]) link(onEvent2,7170534:doData,[]) link(onEvent3,13455235:doClear,[(298,111)(298,55)]) } Add(DoData,7526937,252,56) { Data=String(. ) link(onEventData,15879034:doWork3,[(291,62)]) } Add(HubEx,15879034,287,42) { link(onEvent,13455235:doStrCat,[]) } Add(StrCase,14266070,406,98) { Type=3 link(onModify,131368:doString,[]) } Add(Trim,16600547,357,98) { Char=" " Mode=4 link(onTrim,14266070:doModify,[]) } Add(FormatStr,131368,469,98) { DataCount=3 Mask="%1;%2;%3" link(onFString,90280:onEvent1,[(508,104)(508,34)]) link(Str1,15286128:Position,[(475,89)(461,89)(461,138)(55,138)]) link(Str3,1516465:Var2,[(489,82)(349,82)(349,124)(111,124)]) } Add(GetDataEx,1516465,105,84) { link(Data,9486001:Random,[]) } END_SDK Add(Hub,12836985,91,126) { OutCount=3 link(onEvent1,3301899:doWork3,[(123,132)]) link(onEvent3,14611930:doWork3,[(130,146)]) } Add(HubEx,3301899,119,77) { link(onEvent,16463242:doEvent1,[]) } Add(StrList,2339098,371,98) { Point(doSave) Point(onGetString) Point(doGetString) Point(Index) link(onGetString,9145784:doAdd,[]) } Add(DoData,1896552,371,357) { link(onEventData,11295191:doWork3,[(480,363)]) link(Data,2339098:Text,[]) } Add(HubEx,14611930,126,112) { Angle=3 link(onEvent,3646847:doStart,[(130,111)]) } Add(Hub,16463242,238,77) { link(onEvent1,11063149:doOn,[(291,83)(291,69)]) link(onEvent2,2339098:doClear,[(291,90)(291,111)]) } Add(Thread,3646847,161,105) { Delay=20 FastStop=0 link(onExec,3210884:doWork2,[]) } Add(Edit,12435698,42,189) { Left=475 Top=5 Width=90 Text="Поиск" ClearAfterEnter=1 link(onEnter,9152135:doEvent1,[]) } Add(ArrayFind,2459761,154,203) { Partial=0 link(onFind,3063742:doCompare,[]) link(Array,2339098:Array,[(160,187)(391,187)]) link(Index,5227215:Result,[(167,194)(258,194)(258,257)(307,257)]) link(Value,12435698:Text,[(174,180)(125,180)(125,236)(48,236)]) } Add(StrList,9145784,434,105) { } Add(Hub,11830510,266,203) { link(onEvent1,2339098:doGetString,[(291,209)(291,139)]) link(onEvent2,5227215:doOperation,[]) } Add(Math,5227215,301,210) { Op2=1 ResultType=0 link(onResult,9525593:doWork3,[(361,216)(361,251)(130,251)]) } Add(HubEx,9525593,126,203) { link(onEvent,2459761:doFind,[]) } Add(If_else,3063742,210,203) { Type=5 Op2=Integer(-1) link(onTrue,11830510:doEvent1,[]) link(onFalse,12969291:doData,[(249,216)(249,279)]) } Add(DoData,12969291,434,273) { link(onEventData,11295191:doWork2,[]) link(Data,9145784:Text,[]) } Add(HubEx,11295191,476,273) { Angle=3 link(onEvent,7878121:onEvent2,[(480,34)]) } Add(Hub,9152135,91,196) { link(onEvent1,9145784:doClear,[(116,202)(116,174)(410,174)(410,118)]) link(onEvent2,9525593:doWork2,[]) } END_SDK Add(MST_Virtual,15555683,665,357) { MSTControl="MTStrTbl" Point(doSetVirtIdx) Point(doInitPage) link(VirtualData,8915826:GetData,[]) } Add(MathParse,4883725,413,385) { MathStr="(%2 - sign(%1) * 3) * ((%2 - sign(%1) * 3) >= 0)" ResultType=0 link(onResult,5531226:doCompare,[]) link(X2,15555683:CurVirtIdx,[(426,376)(503,376)(503,411)(671,411)]) } Add(If_else,5531226,462,385) { Type=1 link(onTrue,7810322:doEvent2,[]) link(Op2,3982646:Result,[]) } Add(EventFromData,8915826,665,252) { link(onEvent,9504609:doSeparateMT,[]) } Add(MTStrTbl,7148080,203,357) { Top=30 Width=615 Height=450 Align=5 Name="MTStrTbl" Columns=#4:1=50|5:2=500|4:3=59| VirtualTab=0 Redaction=0 Point(PerPage) Point(onMouseWheel) Point(onResize) link(onMouseWheel,11792436:doWork2,[]) link(onResize,4426873:doEvent1,[]) } Add(ScrollBar,16623256,525,252) { Left=615 Top=30 Width=20 Height=481 Align=3 Kind=1 Point(doMax) Point(doPage) link(onPosition,7810322:doEvent1,[(571,258)(571,384)]) } Add(Hub,7810322,581,378) { InCount=2 link(onEvent1,16623256:doPosition,[(606,384)(606,244)(515,244)(515,258)]) link(onEvent2,15555683:doSetVirtIdx,[]) } Add(Hub,8443177,259,112) { OutCount=6 link(onEvent1,282946:doClear,[(487,118)(487,90)]) link(onEvent2,4383086:doText,[]) link(onEvent3,4841056:doEnum,[(508,132)(508,174)]) link(onEvent4,3982646:doOperation,[(452,139)(452,265)]) link(onEvent5,1849321:doWork1,[(312,146)]) link(onEvent6,11792436:doWork1,[(298,153)]) } Add(MT_String,3044787,588,161) { link(onResult,9566642:doAdd,[]) } Add(MT_Array,11072840,994,245) { } Add(ArrayRW,8474984,994,294) { link(onRead,8915826:doData,[(1033,300)(1033,237)(655,237)(655,258)]) link(Array,11072840:Array,[]) } Add(Hub,2250609,917,252) { link(onEvent1,16286328:doWork2,[]) link(onEvent2,11072840:doLoad,[(949,265)(949,251)]) } Add(MT_MTArray,282946,637,84) { } Add(MT_MTArrayRW,9566642,637,147) { Point(Count) link(Array,8658213:Var2,[]) } Add(ArrayEnum,4841056,532,168) { link(onItem,3044787:doMT,[]) link(Array,4383086:Array,[]) } Add(MT_MTArrayRW,8098985,868,252) { link(onRead,2250609:doEvent1,[]) link(Array,8658213:Var3,[(874,124)]) } Add(GetDataEx,8658213,637,119) { link(Data,282946:Array,[]) } Add(MT_MultiData,9504609,721,252) { Count=3 link(onData1,4168005:doCompare,[]) link(onData3,8474984:doRead,[(767,272)(767,300)]) } Add(HubEx,11792436,294,385) { link(onEvent,4883725:doCalc,[]) } Add(ChangeMon,11255964,385,462) { link(onData,15555683:doInitPage,[(648,468)(648,398)]) link(Data,2394025:Var2,[]) } Add(Math,3982646,469,259) { OpType=1 link(onResult,16623256:doMax,[]) link(Op1,4383086:Count,[(475,159)(531,159)]) link(Op2,10991670:Var3,[(482,250)]) } Add(GetDataEx,2394025,385,420) { Angle=3 link(Data,7148080:PerPage,[(237,425)]) } Add(DoData,1295136,413,266) { link(onEventData,16623256:doPage,[]) link(Data,10991670:Var2,[]) } Add(GetDataEx,10991670,413,245) { Angle=3 link(Data,2394025:Var1,[(391,250)]) } Add(Hub,4426873,266,392) { link(onEvent1,11255964:doData,[(291,398)(291,468)]) link(onEvent2,1849321:doWork3,[(312,405)]) } Add(HubEx,1849321,308,266) { link(onEvent,1295136:doData,[]) } Add(If_else,4168005,784,252) { Type=1 link(onTrue,8098985:doRead,[]) link(onFalse,16286328:doWork3,[(858,265)(858,293)(977,293)]) link(Op2,9566642:Count,[(797,229)(650,229)]) } Add(HubEx,16286328,973,252) { link(onEvent,11072840:doClear,[]) }
Редактировалось 2 раз(а), последний 2020-12-01 17:56:55
|