Add(MainForm,9382258,189,119)
{
Width=945
Height=607
}
Add(StyleXP,2891614,189,77)
{
}
Add(Edit,11641370,399,112)
{
Left=140
Top=15
Width=235
ColorSp=-16777215
Text="c:UsersSashaoliDocuments"
ReadOnly=0
}
Add(Button,15167945,245,112)
{
Left=10
Top=15
Width=125
Caption="Папка для анализа"
link(onClick,5279826:doBrowse,[])
}
Add(Browse,5279826,287,112)
{
Title="Select Pack Folder"
NewStyle=0
NewDirButton=1
link(onBrowse,429033:doEvent1,[])
}
Add(FileSearch,12643089,392,161)
{
@Hint=#35:Количество файлов в выбранной папке|
TimeType=1
link(onSearch,6293613:doAdd,[])
link(onEndSearch,5351113:doWork1,[(431,174)(431,202)(368,202)])
link(Dir,11641370:Text,[])
AddHint(-250,6,186,26,@Hint)
}
Add(Hub,429033,336,112)
{
OutCount=3
link(onEvent1,11641370:doText,[])
link(onEvent2,6293613:doClear,[(389,125)(389,153)(438,153)(438,174)])
link(onEvent3,12643089:doSearch,[(382,132)(382,167)])
}
Add(StrList,6293613,588,161)
{
}
Add(Label,8815368,455,252)
{
Left=175
Top=45
}
Add(UpDown,6202415,273,245)
{
Left=150
Top=40
Max=15
Min=1
Position=1
link(onPosition,12850526:doText,[])
}
Add(Edit,12850526,322,245)
{
Left=115
Top=40
Width=35
Text="1"
link(onChange,5351113:doWork2,[])
}
Add(MathParse,6828647,385,245)
{
MathStr="trunc(%2/%1)-1"
ResultType=0
link(onResult,8996694:doEvent1,[])
link(X1,6202415:Position,[(391,236)(377,236)(377,285)(279,285)])
link(X2,12643089:Count,[])
}
Add(Hub,8996694,427,245)
{
link(onEvent1,1684788:doWork1,[])
link(onEvent2,8815368:doText,[])
}
Add(Label,7620334,196,245)
{
Left=15
Top=45
Width=90
Height=17
Caption="Number of threads"
}
Add(InfoTip,2424062,168,217)
{
Info=#33:Расчет количества файлов на поток|
VAlign=2
Width=372
Height=88
}
Add(HubEx,5351113,364,245)
{
link(onEvent,6828647:doCalc,[])
}
Add(ChildScrollBox,1684788,602,245)
{
link(Data1,6293613:Array,[])
}
BEGIN_SDK
Add(EditMulti,15474243,21,21)
{
WorkCount=2
DataCount=1
Width=426
Height=305
link(doWork1,13066821:In,[])
link(doWork2,1037681:doEvent1,[(67,34)(67,118)])
}
Add(ScrollBox,498925,28,175)
{
Left=5
Top=75
Width=924
Height=484
}
Add(ChildPanelEx,11868505,343,196)
{
Mode=1
link(onTimer,14877139:doDeferredEvent,[(382,202)(382,237)(333,237)(333,258)])
link(Data,9729527:Text,[])
}
BEGIN_SDK
Add(EditMultiEx,5075166,21,21)
{
WorkCount=#5:##add|8:##delete|7:##clear|
EventCount=#7:onTimer|
VarCount=#12:##eventIndex|
DataCount=#4:Data|
Width=531
Height=284
Point(##add)
Point(##delete)
Point(##eventIndex)
Point(##clear)
link(##add,9479358:doEvent1,[(32,27)(32,76)])
}
Add(Panel,2732250,133,70)
{
Top=90
Width=897
Height=37
Layout="parent.00"
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
}
Add(Random,8194906,91,77)
{
Min=255
Max=10000000
link(onRandom,2732250:doColor,[])
}
Add(Hub,9479358,49,70)
{
OutCount=4
link(onEvent1,7043982:doText,[(81,76)(81,69)])
link(onEvent2,8194906:doRandom,[])
link(onEvent3,1383539:doData,[(81,90)(81,125)])
link(onEvent4,1984961:doWork2,[(74,97)(74,167)])
}
Add(ProgressBar,1465385,392,112)
{
Left=15
Top=4
Width=860
Height=15
Point(doMax)
}
Add(If_else,2186113,420,175)
{
link(onTrue,5075166:onTimer,[(501,181)(501,27)])
link(onFalse,1984961:doWork3,[(500,188)(500,272)(144,272)])
link(Op2,5358354:Var3,[(433,103)])
}
Add(StrList,7043982,203,42)
{
link(Str,5075166:Data,[(209,33)(27,33)])
}
Add(DoData,1383539,210,119)
{
link(onEventData,1465385:doMax,[])
link(Data,5358354:Var2,[])
}
Add(Math,5249674,315,161)
{
Op2=1
ResultType=0
link(onResult,7293476:doEvent1,[])
link(Op1,15543232:Count,[(321,145)(258,145)(258,201)(174,201)])
}
Add(ArrayRW,129709,217,161)
{
link(onRead,6926706:doTimer,[])
link(Array,7043982:Array,[])
}
Add(CounterEx,15543232,168,161)
{
Max=100000
Default=-1
link(onNext,129709:doRead,[])
}
Add(GetDataEx,5358354,210,98)
{
link(Data,7043982:Count,[])
}
Add(Timer,6926706,273,161)
{
Interval=1
Enable=1
AutoStop=2
link(onTimer,5249674:doOperation,[])
}
Add(Hub,7293476,357,161)
{
OutCount=3
link(onEvent1,1465385:doPosition,[(382,167)(382,118)])
link(onEvent2,11201673:doText,[(382,174)(382,223)])
link(onEvent3,2186113:doCompare,[])
}
Add(HubEx,1984961,140,161)
{
link(onEvent,15543232:doNext,[])
}
Add(Label,11201673,392,217)
{
Left=15
Top=21
Transparent=0
link(Text,129709:Item,[(398,208)(223,208)])
}
END_SDK
Add(ToolBarLayout,7168670,245,203)
{
Name="00"
}
Add(DeferredEvent,14877139,343,252)
{
InData=0
Point(Data)
link(onDeferredEvent,14186833:doEvent1,[(393,258)(393,186)(287,186)(287,209)])
link(Data,11868505:##eventIndex,[])
}
Add(Hub,14186833,301,203)
{
link(onEvent1,11868505:##delete,[])
link(onEvent2,12216332:doWork3,[(324,216)(324,243)(228,243)])
}
Add(HubEx,12216332,224,203)
{
link(onEvent,7168670:doResize,[])
}
Add(Hub,12328967,189,119)
{
link(onEvent1,9729527:doAdd,[])
link(onEvent2,12603281:doNext,[])
}
Add(CounterEx,12603281,238,126)
{
@Hint=#48:Счетчик максимального количества файлов в потоке|
Max=500
Default=-1
Point(onThroughMax)
Point(doReset)
Point(doMax)
link(onThroughMax,1033079:doEvent1,[])
AddHint(-88,-83,200,26,@Hint)
}
Add(Hub,1033079,280,133)
{
OutCount=3
link(onEvent1,11868505:##add,[(319,139)(319,202)])
link(onEvent2,9729527:doClear,[(313,146)(313,132)])
link(onEvent3,12603281:doReset,[(309,153)(309,167)(231,167)(231,139)])
}
Add(StrList,9729527,343,119)
{
@Hint=#31:Список файлов для одного потока|19:Для каждого - новый|
AddHint(41,-85,190,26,@Hint)
}
Add(LineBreak,3830947,189,140)
{
@Color=65535
link(Out,12603281:doMax,[])
Primary=[13066821,-105,-119]
}
Add(ArrayEnum,14774319,133,119)
{
link(onItem,12328967:doEvent1,[])
link(onEndEnum,12216332:doWork2,[(179,132)(179,209)])
link(Array,15474243:Data1,[(139,96)(27,96)])
}
Add(Hub,1037681,98,112)
{
link(onEvent1,11868505:##clear,[(333,118)(333,216)])
link(onEvent2,14774319:doEnum,[])
}
END_SDK
Add(Button,10243423,553,252)
{
Left=245
Top=40
Width=130
Caption="Псевдокопировать"
link(onClick,1684788:doWork2,[])
}
Ответов: 1536
Рейтинг: 176
|
|||
sashaoli, вот схема иллюстрирующая многопоточность (так мне думается).
|
|||
карма: 1 |
|