Вверх ↑
Ответов: 8930
Рейтинг: 823
#1: 2018-03-03 14:17:42 ЛС | профиль | цитата
miver, так Project1, я его и не хранил
Вот, сделал по новой по картинке:
Project1


Add(MainForm,2953706,588,301)
{
}
Add(ListBox,1966354,301,91)
{
Left=5
Top=30
Width=85
Height=120
Strings=#9:1Кстр.txt|10:20Кстр.txt|10:50Кстр.txt|11:100Кстр.txt|11:200Кстр.txt|11:500Кстр.txt|9:1Мстр.txt|9:2Мстр.txt|9:4Мстр.txt|
DataType=1
link(onClick,15682436:doStrCat,[])
}
Add(StrCat,15682436,350,98)
{
Str1="C:\Users\LA\Documents\"
link(onStrCat,6545833:doValue,[])
}
Add(MemFifo,6545833,392,98)
{
link(onData,15391033:doString,[])
}
Add(FormatStr,15391033,448,98)
{
link(onFString,16460589:doText,[])
link(Str1,1438867:Var3,[(454,89)(440,89)(440,145)])
link(Str2,8885844:Var1,[(461,82)(433,82)])
}
Add(Edit,16460589,497,98)
{
Left=5
Top=5
Width=380
}
Add(Button,9617827,231,203)
{
Left=105
Top=60
link(onClick,14083436:doEvent1,[])
}
Add(ProgressBar,13857139,441,322)
{
Left=100
Top=100
Width=280
Height=15
Color=32768
ProgressColor=65280
}
Add(StrList,7122459,371,161)
{
link(FileName,1438867:Var1,[(384,145)])
}
Add(StrList,12071239,420,161)
{
link(FileName,8885844:Var2,[])
}
Add(GetDataEx,1438867,392,140)
{
link(Data,6545833:Value1,[])
}
Add(GetDataEx,8885844,427,133)
{
Angle=3
link(Data,6545833:Value2,[(405,138)])
}
Add(Hub,14083436,280,203)
{
OutCount=5
link(onEvent1,7122459:doLoad,[(305,209)(305,195)])
link(onEvent2,12071239:doLoad,[(410,216)(410,195)])
link(onEvent3,8589913:doReset,[(530,223)(530,258)])
link(onEvent4,8693979:doStart,[(305,230)(305,300)])
link(onEvent5,3833996:doEnum,[(375,237)(375,244)])
}
Add(ArrayEnum,3833996,385,238)
{
link(onItem,9463392:doEnum,[])
link(onEndEnum,8693979:doStop,[(424,251)(424,307)])
link(Array,7122459:Array,[])
}
Add(ArrayEnum,9463392,434,238)
{
link(onItem,6556294:doCompare,[])
link(onEndEnum,1857111:doCalc,[(473,251)(473,293)(375,293)(375,328)])
link(Array,12071239:Array,[])
}
Add(If_else,6556294,490,238)
{
link(onTrue,8589913:doNext,[])
link(Op1,3833996:Item,[(496,229)(482,229)(482,278)(391,278)])
}
Add(Counter,8589913,539,238)
{
Max=999999999
}
Add(TimeCounter,8693979,490,294)
{
link(onStop,15678087:doString,[])
}
Add(MathParse,1857111,385,322)
{
MathStr="%2/%1*100"
link(onResult,13857139:doPosition,[])
link(X1,7122459:Count,[(391,285)(384,285)])
link(X2,3833996:Index,[])
}
Add(FormatStr,15678087,539,301)
{
Mask="Найдено %1 совпадений за %2 мсек"
link(onFString,2953706:doCaption,[])
link(Str1,8589913:Count,[])
}

А это хранимый генератор случайного текста (количество строк до 4000000 устанавливается) для пробы:
Случ. текст


Add(MainForm,2953706,77,112)
{
Width=544
link(onCreate,11085202:doWork1,[(116,132)(116,118)])
}
Add(Memo,9328239,175,98)
{
Left=5
Top=30
Width=520
Height=230
Align=5
ScrollBars=2
}
Add(ChildPanel,11085202,126,112)
{
link(onEvent1,2953706:doCaption,[(165,118)(165,104)(67,104)(67,118)])
link(onEvent2,9328239:doText,[])
}
BEGIN_SDK
Add(EditMulti,7878121,21,21)
{
EventCount=2
WorkCount=1
Width=440
Height=270
link(doWork1,12297484:doEvent1,[(46,27)(46,97)])
}
Add(Panel,13137533,56,35)
{
Width=530
Height=30
Align=2
}
Add(Button,294400,42,126)
{
Left=15
Top=5
Caption="New"
link(onClick,12836985:doEvent1,[])
}
Add(Button,16443704,42,189)
{
Left=460
Top=5
Caption="Save"
link(onClick,15140639: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,238,175)
{
Left=370
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(onEvent3,3789266:doWork1,[(116,111)])
link(onEvent4,14611930:doWork2,[])
}
Add(MultiElement,3210884,217,98)
{
link(onEvent1,2339098:doAdd,[])
link(onEvent2,343437:doEvent1,[])
link(Data1,13711752:Var2,[])
}
BEGIN_SDK
Add(EditMulti,90280,28,21)
{
EventCount=2
WorkCount=2
DataCount=1
Width=440
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,140)(455,140)(455,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,9486001:Random,[(167,40)(146,40)(146,89)(111,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|
VarPoints=#
DataPoints=#
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,90280:onEvent1,[(445,104)(445,34)])
}
Add(Trim,16600547,357,98)
{
Char=" "
Mode=4
link(onTrim,14266070:doModify,[])
}
END_SDK
Add(Hub,12836985,91,126)
{
OutCount=3
link(onEvent1,3301899:doWork3,[(123,132)])
link(onEvent2,3789266:doWork2,[])
link(onEvent3,14611930:doWork3,[(130,146)])
}
Add(HubEx,3301899,119,77)
{
link(onEvent,16463242:doEvent1,[])
}
Add(StrList,2339098,301,98)
{
}
Add(DoData,1896552,301,175)
{
link(onEventData,7878121:onEvent2,[(360,181)(360,34)])
link(Data,633127:Var2,[])
}
Add(SDialog,3850500,217,133)
{
Filter="TXT|*.txt"
Point(doFileName)
link(onExecute,2339098:doSave,[])
}
Add(TimeCounter,526452,350,217)
{
link(onStop,10660108:doString,[])
}
Add(Length,4653976,294,224)
{
link(onLength,526452:doStop,[])
link(Str,633127:Var1,[(300,166)])
}
Add(FormatStr,10660108,399,224)
{
DataCount=3
Mask="Сгенерировано %1 символов в %3 строках за %2 мсек"
link(onFString,7878121:onEvent1,[(443,230)(443,27)])
link(Str1,4653976:Result,[(405,215)(391,215)(391,264)(300,264)])
link(Str3,2339098:Count,[(419,159)(314,159)])
}
Add(GetDataEx,633127,301,161)
{
link(Data,2339098:Text,[])
}
Add(HubEx,3789266,112,133)
{
Angle=1
link(onEvent,526452:doStart,[(116,223)])
}
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(Hub,343437,259,105)
{
link(onEvent1,11063149:doOff,[(284,111)(284,62)])
link(onEvent2,4653976:doLength,[(284,118)(284,230)])
}
Add(Thread,3646847,161,105)
{
Delay=20
FastStop=0
link(onExec,3210884:doWork2,[])
}
Add(Hub,15140639,91,189)
{
link(onEvent1,7492483:doOperation,[])
link(onEvent2,3850500:doExecute,[(123,202)(123,181)(200,181)(200,139)])
}
Add(Math,7492483,133,189)
{
OpType=3
Op2=1000
ResultType=0
link(onResult,3543045:doStrCat,[])
link(Op1,13711752:Var1,[(139,75)])
}
Add(GetDataEx,13711752,217,70)
{
link(Data,10340021:Text,[])
}
Add(StrCat,3543045,175,189)
{
Str2="Кстр.txt"
link(onStrCat,3850500:doFileName,[(214,195)(214,181)(207,181)(207,146)])
}
END_SDK

карма: 19

0