Вверх ↑
Ответов: 2059
Рейтинг: 132
#1: 2022-05-24 20:30:07 ЛС | профиль | цитата
Со счётчиком не очень хорошо получается:
Add(MainForm,2953706,21,105)
{
Width=443
Height=148
}
Add(ProgressBarRush,3433553,588,315)
{
Left=95
Top=15
Width=325
}
Add(InlineCode,9268460,469,315)
{
WorkPoints=#6:doWork|
EventPoints=#10:onProgress|0:|
DataPoints=#6:Param1|6:Param2|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|8: |10: public|21: Param1: THI_Event;|22: Param2: THI_Event; |23: onProgress: THI_Event;|3: |49: Procedure doWork(var _Data:TData; Index:Word); |0:|5: end;|0:|2: |15: implementation|0:|3: |30:Procedure THiAsmClass.doWork; |5: var |19:Count,LEn: Integer;|0:|5:begin|33:Count:= ToIntegerEvent ( Param1);|31:LEn:= ToIntegerEvent ( Param2);|55: _hi_OnEvent(onProgress,Round((LEn / Count) * 100)); |7: end;|0:|0:|4:end.|
link(Param1,11957403:Var3,[(475,271)])
link(Param2,4980327:Count,[(482,303)(422,303)(422,331)(363,331)])
link(onProgress,7197754:doWork2,[])
}
Add(Button,2012217,98,161)
{
Left=20
Top=15
link(onClick,11843189:doEvent1,[])
}
Add(Browse,2142675,210,189)
{
DefaultFolder="c:\Книги2\"
link(onBrowse,1589198:doSearch,[])
}
Add(Label,16577957,672,301)
{
Left=20
Top=50
Width=65
Height=25
}
Add(FileSearch,1589198,266,189)
{
link(onSearch,2690431:doAdd,[])
link(onEndSearch,5651775:doData,[(310,202)(310,276)(240,276)(240,349)])
}
Add(Hub,11843189,175,161)
{
OutCount=4
link(onEvent1,16260069:doData,[(259,167)(259,111)])
link(onEvent2,2690431:doClear,[(325,174)(325,202)])
link(onEvent3,6338084:doSwitch,[(201,181)(201,213)(177,213)(177,244)])
link(onEvent4,2142675:doBrowse,[(199,188)(199,195)])
}
Add(DoData,16260069,287,105)
{
Data=Integer(0)
link(onEventData,7197754:doWork1,[(543,111)])
}
Add(StrList,2690431,462,189)
{
Point(doGetString)
Point(onGetString)
link(onGetString,15118663:doEvent1,[])
}
Add(Hub,2178543,427,217)
{
OutCount=4
link(onEvent1,2690431:doGetString,[])
link(onEvent2,9268460:doWork,[(455,230)(455,321)])
link(onEvent3,5723051:doCompare,[(462,237)(462,265)])
link(onEvent4,14236080:doEvent,[(453,244)(453,268)(177,268)(177,293)])
}
Add(SearchInFile,11367457,595,196)
{
Text="qwerty"
}
Add(Hub,15118663,511,196)
{
link(onEvent1,11367457:doSearch,[])
link(onEvent2,10603494:doData,[(549,209)(549,251)])
}
Add(DoData,5651775,252,343)
{
link(onEventData,3575035:doEvent1,[])
link(Data,11957403:Var2,[])
}
Add(Hub,3575035,301,343)
{
OutCount=3
link(onEvent1,4980327:doMax,[(332,349)(332,300)])
link(onEvent2,16577957:doText,[(493,356)(493,307)])
link(onEvent3,16260470:doStart,[(327,363)(327,370)(107,370)(107,377)])
}
Add(Thread,16260470,119,371)
{
Delay=0
FastStop=0
link(onExec,7824120:doWork2,[(223,377)(223,293)])
}
Add(GetDataEx,11957403,252,266)
{
link(Data,4023199:Var2,[(258,246)(475,246)])
}
Add(DoData,10603494,574,245)
{
}
Add(HubEx,7824120,294,287)
{
link(onEvent,4980327:doNext,[])
}
Add(HubEx,7197754,539,315)
{
link(onEvent,3433553:doPosition,[])
}
Add(CounterEx,4980327,357,287)
{
Min=-1
Point(doMax)
Point(onThroughMax)
Point(doReset)
link(onNext,2178543:doEvent1,[(408,293)(408,223)])
}
Add(IndexToChanel,14236080,189,287)
{
Point(Index)
link(onEvent1,7824120:doWork1,[(259,293)(259,284)(298,284)])
link(Index,6338084:State,[])
}
Add(Switch,6338084,189,238)
{
DataOn=Integer(0)
Point(State)
}
Add(If_else,5723051,483,259)
{
link(onTrue,6338084:doReset,[(527,265)(527,258)(177,258)(177,251)])
link(Op2,4023199:Var3,[(496,236)])
}
Add(GetDataEx,4023199,469,231)
{
link(Data,2690431:Count,[])
}

Вот так может быть немного лучше:
Add(MainForm,2953706,21,105)
{
Width=443
Height=148
}
Add(ProgressBarRush,3433553,588,315)
{
Left=95
Top=15
Width=325
}
Add(InlineCode,9268460,469,315)
{
WorkPoints=#6:doWork|
EventPoints=#10:onProgress|0:|
DataPoints=#6:Param1|6:Param2|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|8: |10: public|21: Param1: THI_Event;|22: Param2: THI_Event; |23: onProgress: THI_Event;|3: |49: Procedure doWork(var _Data:TData; Index:Word); |0:|5: end;|0:|2: |15: implementation|0:|3: |30:Procedure THiAsmClass.doWork; |5: var |19:Count,LEn: Integer;|0:|5:begin|33:Count:= ToIntegerEvent ( Param1);|31:LEn:= ToIntegerEvent ( Param2);|55: _hi_OnEvent(onProgress,Round((LEn / Count) * 100)); |7: end;|0:|0:|4:end.|
link(Param1,12932162:Var1,[(475,289)(466,289)(466,264)])
link(Param2,16561148:Var1,[(482,303)(377,303)])
link(onProgress,7197754:doWork2,[])
}
Add(Button,2012217,98,161)
{
Left=20
Top=15
link(onClick,11843189:doEvent1,[])
}
Add(Browse,2142675,210,189)
{
DefaultFolder="c:\Книги2\"
link(onBrowse,1589198:doSearch,[])
}
Add(FileSearch,1589198,266,189)
{
link(onSearch,2690431:doAdd,[])
link(onEndSearch,16260470:doStart,[(310,202)(310,296)(191,296)(191,391)])
}
Add(Hub,11843189,175,161)
{
OutCount=4
link(onEvent1,16260069:doData,[(259,167)(259,111)])
link(onEvent2,2690431:doClear,[(325,174)(325,202)])
link(onEvent4,2142675:doBrowse,[(199,188)(199,195)])
}
Add(DoData,16260069,287,105)
{
Data=Integer(0)
link(onEventData,7197754:doWork1,[(543,111)])
}
Add(StrList,2690431,462,189)
{
Point(doGetString)
Point(onGetString)
link(onGetString,15118663:doEvent1,[])
}
Add(Hub,2178543,427,217)
{
OutCount=4
link(onEvent1,2690431:doGetString,[])
link(onEvent2,9268460:doWork,[(455,230)(455,321)])
}
Add(SearchInFile,11367457,595,196)
{
Text="qwerty"
}
Add(Hub,15118663,511,196)
{
link(onEvent1,11367457:doSearch,[])
link(onEvent2,10603494:doData,[(549,209)(549,251)])
}
Add(Thread,16260470,203,385)
{
Delay=0
FastStop=0
link(onExec,8307103:doFor,[])
}
Add(DoData,10603494,574,245)
{
}
Add(HubEx,7197754,539,315)
{
link(onEvent,3433553:doPosition,[])
}
Add(For,8307103,329,385)
{
link(onEvent,3701077:doData,[])
link(End,12932162:Var2,[(342,306)(475,306)])
}
Add(DoData,3701077,385,385)
{
link(onEventData,2178543:doEvent1,[(426,391)(426,223)])
link(Data,16561148:Var3,[(391,373)])
}
Add(GetDataEx,16561148,371,368)
{
Angle=3
link(Data,8307103:Position,[(366,373)(366,429)(335,429)])
}
Add(GetDataEx,12932162,469,259)
{
link(Data,2690431:Count,[])
}


карма: 6

1
Голосовали:Udokanec
Редактировалось 2 раз(а), последний 2022-05-24 20:44:49