Вверх ↑
Ответов: 192
Рейтинг: 2
#1: 2020-02-28 23:48:51 ЛС | профиль | цитата
опираясь на схему выше я нарисовал свою версию!

Add(ODialog,10674497,238,147)
{
Title="Выберите первый файл из которого будут браться данные (обычно меньшего размера)"
FileName="Smal File"
Point(FileName)
Point(StartDir)
link(onExecute,2572774:doEvent1,[])
}
Add(Button,3689589,154,147)
{
Left=20
Top=15
Caption="открыть"
Data=Integer(2)
link(onClick,10674497:doExecute,[])
}
Add(FileStream,9688510,623,147)
{
Point(doCopyFromStream)
Point(doPosition)
link(onLoad,14359500:doConvert,[])
}
Add(Hub,2572774,294,147)
{
link(onEvent1,10840077:doOpen,[])
link(onEvent2,14513411:doData,[(320,160)(320,183)(191,183)(191,237)])
}
Add(Memory,11703586,490,147)
{
link(onData,12724113:doExecute,[])
}
Add(StreamConvertor,16504213,441,147)
{
link(onResult,11703586:doValue,[])
}
Add(Str_Enum,13111172,546,203)
{
Delimiter=""
Step=4
OnlyDivGroup=1
Point(doStep)
link(onEnum,11910285:doEvent1,[(611,209)(611,195)])
link(onEndEnum,2051083:doMessage,[(586,216)(586,230)])
link(String,11703586:Value,[(552,197)(496,197)])
}
Add(UpDown,2676460,550,44)
{
Left=25
Top=50
Max=10000
Min=1
Position=2
link(onPosition,3001206:doText,[])
}
Add(Edit,3001206,599,44)
{
Left=55
Top=50
Width=55
Text="2"
DataType=2
link(onChange,5136752:doOperation,[(645,50)(645,48)])
}
Add(Button,16338415,471,42)
{
Left=115
Top=50
Caption="Сброс"
Data=Integer(1)
link(onClick,2676460:doPosition,[(533,48)(533,50)])
}
Add(If_else,14449337,770,280)
{
link(onTrue,7222106:doWork1,[])
link(Op1,1355591:Var3,[(776,258)])
link(Op2,3291717:Var2,[])
}
Add(ODialog,12724113,553,147)
{
Title="Выберите файл в котором будет осуществляться поиск (большего размера)"
FileName="big File"
Point(FileName)
Point(StartDir)
link(onExecute,9688510:doOpen,[])
}
Add(FileStream,10840077,364,147)
{
Point(doCopyFromStream)
Point(doPosition)
link(onLoad,16504213:doConvert,[])
}
Add(StreamConvertor,14359500,700,147)
{
link(onResult,13772072:doValue,[])
}
Add(Memory,13772072,770,147)
{
link(onData,13111172:doEnum,[(1058,153)(1058,453)(417,453)(417,209)])
}
Add(Str_Enum,13010220,770,203)
{
Delimiter=""
Step=4
OnlyDivGroup=1
Point(doStep)
Point(onBreak)
link(onEnum,14449337:doCompare,[(814,209)(814,247)(758,247)(758,286)])
link(onEndEnum,10117152:doSave,[(883,216)(883,314)])
link(String,13772072:Value,[])
}
Add(Hub,3222337,707,42)
{
link(onEvent1,12081085:In,[])
link(onEvent2,7255199:In,[])
}
Add(LineBreak,11634685,700,217)
{
Caption="kolbyte"
link(Out,13010220:doStep,[])
Primary=[12081085,35,-175]
}
Add(LineBreak,2663816,469,217)
{
Caption="kolbyte"
link(Out,13111172:doStep,[])
Primary=[7255199,266,-168]
}
Add(ProgressBar,8086589,336,224)
{
Top=725
Width=1166
Align=4
Color=-16777196
ProgressColor=-16777203
Point(doMax)
Point(doAlign)
}
Add(DoData,14513411,203,231)
{
Data=Integer(0)
link(onEventData,8086589:doMax,[])
link(Data,10840077:Size,[(209,190)(377,190)])
}
Add(Memo,10117152,917,280)
{
Left=5
Top=160
Width=574
Height=563
FileName="result.txt"
Point(doSave)
link(Str,12212569:Var2,[])
}
Add(Math,5136752,651,42)
{
OpType=2
Op2=2
link(onResult,3222337:doEvent1,[])
}
Add(Message,2051083,595,224)
{
Message="нет"
link(Caption,2491382:Var,[(608,217)(629,217)])
}
Add(Edit,6708119,672,280)
{
Left=438
Top=61
link(Str,1355591:Var2,[])
}
Add(GetDataEx,1355591,672,253)
{
Angle=3
link(Data,13111172:Part,[(559,258)])
}
Add(Timer,10829687,623,280)
{
Interval=1
link(onTimer,6708119:doText,[])
}
Add(Edit,16631102,994,217)
{
Left=438
Top=100
link(Str,12212569:Var3,[(1000,205)])
}
Add(GetDataEx,3291717,777,252)
{
link(Data,13010220:Part,[])
}
Add(Timer,2903065,938,217)
{
Interval=1
link(onTimer,16631102:doText,[])
}
Add(GetDataEx,12212569,917,200)
{
Angle=3
link(Data,3291717:Var3,[(893,205)(893,257)])
}
Add(MultiElement,7222106,819,280)
{
link(onEvent1,10117152:doAdd,[])
}
BEGIN_SDK
Add(EditMulti,5322272,21,21)
{
EventCount=1
WorkCount=1
Width=839
Height=480
link(doWork1,13476937:doCase,[(75,27)(75,119)])
}
Add(Case,14145324,168,175)
{
Value=Integer(0)
link(onNextCase,12328190:doCase,[(207,181)(207,182)])
}
Add(Case,4945535,263,172)
{
Value=Integer(0)
link(onNextCase,13669208:doCase,[(299,178)(299,179)])
}
Add(Case,2535646,298,113)
{
Value=String(FFFFFFFFFFFF)
link(onNextCase,14441929:doCase,[(337,119)(337,123)])
}
Add(Case,8809833,393,117)
{
Value=String(FFFFFFFFFFFFFFFF)
link(onNextCase,15540060:doCase,[])
}
Add(Case,8214757,123,176)
{
Value=Integer(0)
link(onNextCase,14145324:doCase,[(161,182)(161,181)])
}
Add(Case,4076065,358,173)
{
Value=Integer(0)
link(onNextCase,9508854:doCase,[])
}
Add(Case,3342197,256,113)
{
Value=String(FFFFFFFFFF)
link(onNextCase,2535646:doCase,[])
}
Add(Case,14441929,344,117)
{
Value=String(FFFFFFFFFFFFFF)
link(onNextCase,8809833:doCase,[])
}
Add(Case,8048628,214,113)
{
Value=String(FFFFFFFF)
link(onNextCase,3342197:doCase,[])
}
Add(Case,15540060,435,117)
{
Value=String(FFFFFFFFFFFFFFFFFF)
link(onNextCase,11655530:doCase,[])
}
Add(Case,2581323,172,113)
{
Value=String(FFFFFF)
link(onNextCase,8048628:doCase,[])
}
Add(Case,11655530,477,117)
{
Value=String(FFFFFFFFFFFFFFFFFFFF)
link(onNextCase,8214757:doCase,[(521,123)(521,161)(111,161)(111,182)])
}
Add(Case,13476937,130,113)
{
Value=String(FFFF)
link(onNextCase,2581323:doCase,[])
}
Add(Case,9508854,428,173)
{
Value=Integer(0)
link(onNextCase,9599004:doCase,[(477,179)(477,185)])
}
Add(Case,12328190,214,176)
{
Value=Integer(0)
link(onNextCase,4945535:doCase,[(258,182)(258,178)])
}
Add(Case,13669208,302,173)
{
Value=Integer(0)
link(onNextCase,4076065:doCase,[])
}
Add(Case,1606944,560,175)
{
Value=Integer(0)
link(onNextCase,5322272:onEvent1,[(726,181)(726,27)])
}
Add(Case,9599004,494,179)
{
Value=Integer(0)
link(onNextCase,1606944:doCase,[(543,185)(543,181)])
}
END_SDK
Add(LineBreak,13240121,602,91)
{
Type=1
link(Data,3001206:Text,[(608,83)(605,83)])
Primary=[2491382,21,105]
}
Add(CounterEx,499113,273,196)
{
link(onNext,8086589:doPosition,[(324,202)(324,230)])
}
Add(Hub,11910285,686,189)
{
link(onEvent1,13010220:doEnum,[(756,195)(756,209)])
link(onEvent2,3412102:In,[])
}
Add(LineBreak,15361016,224,196)
{
Caption="Bar"
link(Out,499113:doNext,[])
Primary=[3412102,490,0]
}


отсюда вопрос как сделать чтобы она в реальном времени показывала ход процесса?
и как ускорить процесс? потому что если работать с мегабайтными файлами требуется действительно приличное время ожидания!
если решите попробовать то подсовывайте файлы для начала не больше 10кб. иначе вы на долго ее повесите!
мне кажется что-то в моей схеме не правильно!
карма: 0

0
Редактировалось 2 раз(а), последний 2020-02-29 00:43:46