Add(MainForm,160807,168,105){
Width=390
Height=133
Font=[Courier,12,1,0,204]
link(onCreate,9650407:doWork2,[])
}
Add(FileStream,3591058,168,56)
{
link(onLoad,2796801:doCopy,[])
}
Add(Hub,7672151,112,161)
{
OutCount=4
link(onEvent1,3591058:doOpen,[(137,167)(137,62)])
link(onEvent2,3591058:doClose,[(144,174)(144,69)])
link(onEvent3,10431564:doInit,[(137,181)(137,293)])
link(onEvent4,7228710:doFor,[])
}
Add(DropFile,7368331,56,161)
{
link(onDropFile,7672151:doEvent1,[])
}
Add(DataToFileEx,15470337,441,196)
{
DataSize=4
BigEndian=0
Point(Size)
Point(doPosition)
link(Stream,1402459:Var2,[])
}
Add(Hub,15386543,238,182)
{
OutCount=3
link(onEvent1,8850323:doWork1,[(424,188)])
link(onEvent2,5772768:doCompare,[])
link(onEvent3,10431564:doPosition,[(263,202)(263,279)])
}
Add(For,7228710,168,182)
{
IncludeEnd=1
link(onEvent,15386543:doEvent1,[])
link(onStop,10431564:doFinish,[(214,195)(214,286)])
link(End,1272363:Var1,[(181,173)(223,173)(223,250)])
}
Add(ProgressBar,10016673,378,280)
{
Left=26
Top=56
Width=317
Color=15780518
Smooth=1
ProgressColor=-16777203
}
Add(MultiElementEx,10431564,315,273)
{
@Hint=#79:Сервис визуализаци (doPosition) и окончания (doFinish - с сохранением, или без)|
link(onTerminate,3548599:doWork3,[(361,279)])
link(Size,1272363:Var2,[])
link(onPosition,10016673:doPosition,[])
link(onSave,13402507:doAdd,[])
}
BEGIN_SDK
Add(EditMultiEx,5196661,35,63)
{
WorkCount=#44:doPosition=На ходе - текущая позиция в файле|43:doFinish=На входе - позиция окончания цикла|44:doInit=На входе - полное имя входного файла |
EventCount=#56:onTerminate=Преждевременный Close должен остановить цикл|56:onPosition=Установка позиции ProgressBar (по doPosition)|84:onSave=На выходе - полное имя файла для сохранения (если позиция по doFinish < Size)|
DataCount=#17:Size=Размер файла|0:|
Width=370
Height=235
VOffset=35
HOffset=70
link(doPosition,1263160:doOperation,[])
link(doFinish,7671533:doCompare,[(60,111)(60,153)])
link(doInit,15140580:doEvent1,[(53,118)(53,237)])
}
Add(Application,6264518,280,98)
{
Wait=1
Point(onTerminate)
link(onTerminate,5196661:onTerminate,[])
}
Add(Hub,15140580,70,231)
{
OutCount=3
link(onEvent1,16536539:doPart,[])
link(onEvent2,11800802:doPart,[])
link(onEvent3,15798031:doOperation,[])
}
Add(Message,5707167,280,189)
{
Caption="ОК"
Type=2
Icon=3
Point(onYES)
link(onYES,11874295:doExecute,[(326,202)(326,230)])
}
Add(SDialog,11874295,336,224)
{
Point(doFileName)
Point(doStartDir)
link(onExecute,5196661:onSave,[(382,230)(382,118)])
}
Add(FilePartElm,16536539,245,231)
{
link(onPart,11874295:doFileName,[])
}
Add(FilePartElm,11800802,196,238)
{
Mode=0
link(onPart,11874295:doStartDir,[])
}
Add(If_else,7671533,70,147)
{
Type=4
link(onTrue,5887358:doMessage,[])
link(onFalse,3646533:doConvert,[(137,160)(137,188)])
link(Op2,9503147:Var1,[(83,124)])
}
Add(Message,5887358,280,147)
{
Message="Не найдено!"
Caption="Error"
Icon=1
Point(onOK)
link(onOK,6090869:doWork2,[])
}
Add(HubEx,3213293,322,105)
{
link(onEvent,5196661:onPosition,[])
}
Add(ConvertorEx,3646533,147,182)
{
Mode=6
Digits=8
link(onResult,16191573:doStrCatDlm,[])
}
Add(Hub,14634257,245,182)
{
link(onEvent1,6090869:doWork3,[(326,188)])
link(onEvent2,5707167:doMessage,[])
}
Add(HubEx,6090869,322,154)
{
Angle=3
link(onEvent,3213293:doWork3,[])
}
Add(StrCatDelim,16191573,196,182)
{
Str1="Произведена замена по смещению: 0x"
Str2="\r\nСохранить результат ???"
link(onStrCatDlm,14634257:doEvent1,[])
}
Add(Math,1263160,147,98)
{
OpType=3
ResultType=0
link(onResult,3605704:doData,[])
link(Op2,15798031:Result,[(160,89)(125,89)(125,285)(111,285)])
}
Add(GetDataEx,9503147,105,119)
{
link(Data,5196661:Size,[])
}
Add(ChangeMon,3605704,196,98)
{
link(onData,6734111:doEvent1,[])
}
Add(Hub,6734111,245,98)
{
link(onEvent1,6264518:doProcessMessages,[])
link(onEvent2,3213293:doWork2,[])
}
Add(Math,15798031,105,245)
{
OpType=3
Op2=100
link(Op1,9503147:Var2,[])
}
END_SDK
Add(MemoryStream,2796801,441,56)
{
}
Add(Edit,9617539,378,70)
{
Left=245
Top=14
Width=99
Height=30
Font=[Lucida Sans,12,1,0,0]
Hint="Заменить"
Text="000D0AF6"
Alignment=1
DataType=3
ClearAfterEnter=1
AddHint(-21,-38,66,13,Text)
}
Add(If_else,5772768,280,189)
{
link(onTrue,11101815:doEvent1,[])
link(Op1,11534555:Value,[])
link(Op2,15470337:Data,[(293,180)(321,180)(321,243)(447,243)])
}
Add(Hub,11101815,336,189)
{
OutCount=3
link(onEvent1,3548599:doWork2,[])
link(onEvent2,8850323:doWork2,[])
link(onEvent3,8353080:doData,[])
}
Add(DoData,8353080,378,203)
{
link(onEventData,15470337:doPut,[])
link(Data,9617539:Text,[])
}
Add(Memory,11534555,280,119)
{
Point(Data)
link(Data,6642366:Text,[])
}
Add(Edit,6642366,280,70)
{
Left=28
Top=14
Width=99
Height=30
Font=[Lucida Sans,12,1,0,0]
Hint="Найти"
Text="003D0BF6"
Alignment=1
DataType=3
ClearAfterEnter=1
link(onChange,9650407:doWork1,[(326,76)(326,111)(263,111)])
AddHint(-22,-38,66,13,Text)
}
Add(HubEx,9650407,259,119)
{
link(onEvent,11534555:doValue,[])
}
Add(FileStream,10792587,504,273)
{
Mode=1
AutoCopy=0
Point(doCopyFromStream)
}
Add(GetDataEx,1272363,315,245)
{
Angle=1
link(Data,15470337:Size,[(454,250)])
}
Add(MT_Add,13402507,455,287)
{
link(onAdd,10792587:doCopyFromStream,[])
link(Data,1402459:Var3,[(461,180)])
}
Add(GetDataEx,1402459,441,175)
{
link(Data,2796801:Stream,[])
}
Add(HubEx,8850323,420,196)
{
Angle=1
link(onEvent,15470337:doPosition,[(424,216)])
}
Add(HubEx,3548599,357,189)
{
Angle=3
link(onEvent,7228710:doStop,[(361,167)(158,167)(158,195)])
}
Ответов: 287
Рейтинг: 5
|
|||
С поиском и заменой худо бедно разобрался.
|
|||
карма: 0 |
|
Редактировалось 1 раз(а), последний 2021-10-13 12:49:47