Make(delphi) ver(4.04 build 185) Add(MainForm,2953706,112,140) { Width=389 Height=386 Caption="Ņonverter Ņircuits" BorderStyle=3 Position=1 } Add(Button,15506643,105,210) { Left=10 Top=10 Width=70 Caption="SHA>XML" link(onClick,8309808:doEvent1,[]) } Add(Edit,10373039,357,112) { Left=10 Top=35 Width=345 Text="" } Add(Button,137707,168,112) { Left=360 Top=35 Width=20 Caption=".." link(onClick,2362251:doExecute,[]) } Add(ODialog,2362251,259,112) { Filter="SHA|*.sha|XML|*.xml" Title="Open" FileName="" link(onExecute,10373039:doText,[]) } Add(Button,15451119,105,280) { Left=85 Top=10 Width=70 Caption="XML>SHA" link(onClick,10811875:doEvent1,[]) } Add(MultiElement,3567162,357,210) { link(onEvent1,4265706:doWork2,[]) link(Data1,6864051:Var2,[]) } BEGIN_SDK Add(EditMulti,11235126,21,21) { EventCount=1 WorkCount=1 DataCount=1 Width=314 Height=165 link(doWork1,16333446:doOpen,[(35,27)(35,62)]) } Add(FileStream,16333446,49,56) { link(onLoad,3545695:doEvent1,[]) link(FileName,11235126:Data1,[(55,38)(27,38)]) } Add(StreamConvertor,8461827,119,56) { Mode=6 link(onResult,15349499:doSearch,[]) } Add(BlockFind,15349499,161,56) { IncludeBlock=1 StartBlock="Add(" EndBlock="}" link(onSearch,8969604:doValue,[]) } Add(Hub,3545695,91,56) { link(onEvent1,8461827:doConvert,[]) link(onEvent2,16333446:doClose,[(115,69)(115,99)(36,99)(36,69)]) } Add(MultiElementEx,6398708,231,112) { link(onFString,11235126:onEvent1,[(299,118)(299,27)]) link(Str,8969604:Value,[]) } BEGIN_SDK Add(EditMultiEx,10545976,21,21) { WorkCount=#5:##add| EventCount=#9:onFString| DataCount=#3:Str| Width=664 Height=564 Point(##add) link(##add,2746210:doEvent1,[(42,27)(42,111)]) } Add(StrPart,16017345,98,105) { Char=")\r\n{" link(onSplit,9635385:doReplace,[(146,111)(146,97)]) link(onPart,9032935:doSplit,[(146,118)(146,139)]) link(Str,10545976:Str,[(104,63)(27,63)]) } Add(Replace,9635385,161,91) { SubStr="{" link(onReplace,14120593:doEvent1,[]) } Add(MultiStrPart,9032935,161,133) { Char="," Count=4 link(onSplit,9040050:doString,[(205,139)(205,242)(149,242)(149,202)]) } Add(FormatStr,9040050,161,196) { DataCount=4 Mask="<%1.%2>\r\n%3\r\n%4" Point(FString) link(onFString,12351520:doString,[(211,202)(211,289)(100,289)(100,244)]) link(Str1,4073521:Var2,[]) link(Str2,10760013:Var2,[]) link(Str3,9032935:Part3,[]) link(Str4,9032935:Part4,[]) } Add(BlockFind,10249435,231,91) { IncludeBlock=1 StartBlock=" " EndBlock="\r\n" link(onSearch,256023:doSplit,[]) } Add(FormatStr,10047297,280,140) { Mask="<%1>%2" link(onFString,9709465:doAdd,[(345,146)(345,97)]) link(Str1,256023:Part1,[]) link(Str2,256023:Part2,[]) } Add(MultiStrPart,256023,280,91) { Char="=" link(onSplit,10047297:doString,[(326,97)(326,184)(268,184)(268,146)]) } Add(Hub,14120593,203,91) { link(onEvent1,10249435:doSearch,[]) link(onEvent2,8031588:doSearch,[(224,104)(224,195)]) } Add(BlockFind,8031588,231,189) { IncludeBlock=1 StartBlock="link(" EndBlock="]" link(onSearch,7289400:doSplit,[]) } Add(MultiStrPart,7289400,280,189) { Char=":" link(onSplit,16093148:doSplit,[(324,195)(324,230)(247,230)(247,265)]) } Add(MultiStrPart,16093148,259,259) { Char="," link(onSplit,530341:doSplit,[]) link(Str,7289400:Part1,[(265,240)(286,240)]) } Add(MultiStrPart,530341,308,259) { Char=",[" Count=1 link(onSplit,8065915:doValue,[]) link(Str,7289400:Part2,[(314,240)(293,240)]) } Add(FormatStr,7777816,259,371) { DataCount=4 Mask="\r\n%1%2%3%4\r\n" link(onFString,14800386:doReplace,[]) link(Str1,16093148:Part1,[]) link(Str2,16093148:Part2,[]) link(Str3,530341:Part1,[(279,331)(314,331)]) link(Str4,8065915:Value,[(286,336)(370,336)]) } Add(StrList,9709465,378,91) { } Add(FormatStr,144359,161,406) { DataCount=4 Mask="%1\r\n\r\n%2\r\n%3\r\n\r\n%4\r\n" link(onFString,10545976:onFString,[(439,412)(439,27)]) link(Str1,9040050:FString,[]) link(Str2,9709465:Text,[(174,250)(384,250)]) link(Str3,13849772:Text,[(181,394)(225,394)(225,431)(391,431)]) link(Str4,12351520:FString,[(188,338)(118,338)]) } Add(FormatStr,12351520,112,238) { Mask="" Point(FString) link(Str1,4073521:Var1,[(118,173)]) link(Str2,10760013:Var1,[(125,180)]) } Add(GetDataEx,4073521,161,168) { link(Data,9032935:Part1,[]) } Add(GetDataEx,10760013,168,175) { link(Data,9032935:Part2,[]) } Add(StrList,13849772,385,371) { } Add(Hub,2746210,63,105) { link(onEvent1,16017345:doSplit,[]) link(onEvent2,144359:doString,[(90,118)(90,412)]) } Add(Replace,14800386,315,371) { SubStr="[" link(onReplace,13849772:doAdd,[]) } Add(Memory,8065915,364,259) { link(onData,7777816:doString,[(408,265)(408,321)(247,321)(247,377)]) } END_SDK Add(Memory,8969604,231,56) { link(onData,6398708:##add,[(281,62)(281,159)(219,159)(219,118)]) } END_SDK Add(Memo,5552283,476,210) { Left=10 Top=60 Width=370 Height=290 ScrollBars=3 } Add(Label,16518954,476,161) { Left=170 Top=15 } Add(TimeCounter,9109586,231,210) { Precision=1 link(onStart,16425121:doEvent1,[]) link(onStop,3941120:doWork2,[]) } Add(Hub,16425121,315,210) { link(onEvent1,3567162:doWork1,[]) link(onEvent2,9109586:doStop,[(341,223)(341,200)(222,200)(222,223)]) } Add(Hub,8309808,168,210) { link(onEvent1,1288870:doWork2,[(301,216)(301,223)]) link(onEvent2,9109586:doStart,[(196,223)(196,216)]) } Add(Hub,10811875,161,280) { link(onEvent1,1288870:doWork3,[(403,286)]) link(onEvent2,10817633:doStart,[]) } Add(HubEx,1288870,399,217) { link(onEvent,5552283:doClear,[]) } Add(MultiElement,4342803,343,301) { link(onEvent1,4265706:doWork3,[(417,307)]) link(Data1,6864051:Var1,[(349,187)]) } BEGIN_SDK Add(EditMulti,2042823,21,21) { EventCount=1 WorkCount=1 DataCount=1 Width=685 Height=403 link(doWork1,4074177:doOpen,[(45,27)(45,83)]) } Add(FileStream,4074177,70,77) { link(onLoad,6007133:doEvent1,[]) link(FileName,2042823:Data1,[(76,49)(27,49)]) } Add(StreamConvertor,9870893,154,77) { Mode=6 link(onResult,13208533:doEvent1,[]) } Add(Hub,6007133,112,77) { link(onEvent1,9870893:doConvert,[]) link(onEvent2,4074177:doClose,[(136,90)(136,120)(57,120)(57,90)]) } Add(BlockFind,15705587,259,126) { IncludeBlock=1 StartBlock="<" EndBlock=">" link(onSearch,8096025:doSplit,[]) link(Text,14319615:Var2,[]) } Add(Memory,5772900,476,126) { } Add(If_else,13308905,336,217) { Op2=Integer(1) link(onTrue,5772900:doClear,[(448,223)(448,139)]) link(onFalse,11904708:doEvent1,[(412,230)(412,237)]) link(Op1,5772900:Value,[(342,187)(482,187)]) } Add(Hub,11904708,455,231) { OutCount=3 link(onEvent1,13570345:doData,[(476,237)(476,202)]) link(onEvent2,1256622:doStrCatDlm,[(507,244)(507,265)]) link(onEvent3,14365038:##add,[(515,251)(515,314)]) } Add(DoData,13570345,483,196) { Data=Integer(1) link(onEventData,5772900:doValue,[(533,202)(533,111)(464,111)(464,132)]) } Add(MultiElementEx,14365038,546,308) { link(Str1,1256622:Result,[]) link(Text,14319615:Var3,[(559,110)]) link(onFString,2042823:onEvent1,[(642,321)(642,27)]) } BEGIN_SDK Add(EditMultiEx,4192534,21,21) { WorkCount=#5:##add| EventCount=#8:onSearch|9:onFString| DataCount=#4:Str1|4:Text| Width=937 Height=1082 Point(##add) link(##add,1804385:doEvent1,[(31,27)(31,76)]) } Add(FormatStr,3889514,140,133) { DataCount=1 Mask="<%1>" link(onFString,5296604:doStartBlock,[(191,139)(191,181)]) link(Str1,13629973:Var2,[]) } Add(FormatStr,5179408,133,182) { DataCount=1 Mask="" link(onFString,5296604:doEndBlock,[]) link(Str1,3319886:Var2,[(139,171)(132,171)]) } Add(Hub,15447265,70,133) { OutCount=10 link(onEvent1,3889514:doString,[]) link(onEvent2,5179408:doString,[(118,146)(118,188)]) link(onEvent3,5296604:doSearch,[(150,153)(150,174)]) link(onEvent4,12059011:doReplace,[]) link(onEvent5,1032359:doSearch,[(113,167)(113,244)]) link(onEvent6,36062:doSearch,[(103,174)(103,293)]) link(onEvent7,16086084:doString,[(100,181)(100,370)]) link(onEvent8,1955109:doSearch,[(95,188)(95,454)]) link(onEvent9,708454:doSearch,[(91,195)(91,727)]) link(onEvent10,6140963:doString,[(89,202)(89,1063)]) } Add(BlockFind,5296604,217,168) { IncludeBlock=1 Point(doStartBlock) Point(doEndBlock) link(onSearch,6900988:doAdd,[]) link(Text,4192534:Text,[(223,47)(34,47)]) } Add(BlockFind,1032359,280,238) { IncludeBlock=1 StartBlock="" EndBlock="" link(onSearch,11959536:doValue,[]) link(Text,8180876:Var2,[]) } Add(StrList,6900988,280,168) { } Add(BlockFind,36062,322,287) { IncludeBlock=1 StartBlock="" EndBlock="" link(onSearch,12997655:doValue,[]) link(Text,8180876:Var3,[(328,222)]) } Add(GetDataEx,8180876,280,217) { link(Data,6900988:Text,[]) } Add(FormatStr,16086084,427,364) { DataCount=3 Mask="Add(%1,%2,%3)\r\n{" link(onFString,11378093:doValue,[]) link(Str1,6602222:Value,[]) link(Str2,11959536:Value,[(440,277)(370,277)]) link(Str3,12997655:Value,[(447,342)(405,342)]) } Add(Replace,12059011,364,154) { SubStr="." DestStr="," link(onReplace,6602222:doValue,[]) link(Str,13629973:Var3,[(370,117)]) } Add(Memory,11959536,364,238) { } Add(Memory,12997655,399,287) { } Add(Memory,6602222,427,154) { } Add(Memory,6210396,126,70) { Point(Data) link(Data,4192534:Str1,[(132,63)(27,63)]) } Add(Hub,1804385,42,70) { link(onEvent1,6210396:doValue,[]) link(onEvent2,15447265:doEvent1,[(63,83)(63,139)]) } Add(GetDataEx,3319886,126,112) { link(Data,6210396:Value,[]) } Add(GetDataEx,13629973,140,112) { Angle=3 link(Data,3319886:Var3,[]) } Add(Memory,11378093,525,364) { } Add(BlockFind,1955109,133,448) { IncludeBlock=1 StartBlock="" EndBlock="" link(onSearch,13833746:doSearch,[]) link(Text,676636:Var2,[]) } Add(BlockFind,13833746,210,448) { IncludeBlock=1 StartBlock="" link(onSearch,689305:doValue,[]) } Add(Memory,689305,301,448) { link(onData,3870383:doCompare,[(345,454)(345,486)(289,486)(289,517)]) } Add(If_else,3870383,301,511) { Op2=String(Link) link(onFalse,13109867:doCompare,[]) link(Op1,5564516:Var2,[]) } Add(If_else,13109867,364,518) { Op1=String(Event) link(onFalse,5370418:doCompare,[(418,531)(418,524)]) link(Op2,8841722:Var2,[]) } Add(If_else,5370418,441,518) { Op2=String(Object) link(onFalse,7767379:doCompare,[(492,531)(492,524)]) link(Op1,9581655:Var2,[]) } Add(GetDataEx,8841722,371,497) { Angle=3 link(Data,5564516:Var3,[]) } Add(If_else,7767379,511,518) { Op2=String(Action) link(onFalse,1830587:doCompare,[(562,531)(562,524)]) link(Op1,5271379:Var2,[]) } Add(GetDataEx,9581655,441,497) { Angle=3 link(Data,8841722:Var3,[]) } Add(If_else,1830587,581,518) { Op2=String(ARG) link(onFalse,13177701:doEvent1,[]) link(Op1,4771897:Var2,[]) } Add(GetDataEx,5271379,511,497) { Angle=3 link(Data,9581655:Var3,[]) } Add(GetDataEx,5564516,301,497) { link(Data,689305:Value,[]) } Add(FormatStr,7867396,672,525) { DataCount=1 Mask="<%1>" link(onFString,787088:doStartBlock,[(730,531)(730,580)]) link(Str1,5770271:Var2,[]) } Add(Hub,13177701,630,525) { OutCount=3 link(onEvent1,7867396:doString,[]) link(onEvent2,12512784:doString,[(658,538)(658,587)]) link(onEvent3,787088:doSearch,[(650,545)(650,573)]) } Add(FormatStr,12512784,672,581) { DataCount=1 Mask="" link(onFString,787088:doEndBlock,[]) link(Str1,2530089:Var2,[(678,561)(657,561)]) } Add(GetDataEx,4771897,581,497) { Angle=3 link(Data,5271379:Var3,[]) } Add(GetDataEx,2530089,651,497) { Angle=3 link(Data,4771897:Var3,[]) } Add(BlockFind,787088,756,567) { IncludeBlock=1 Point(doStartBlock) Point(doEndBlock) link(onSearch,9092153:doString,[]) link(Text,8989518:Var3,[(762,411)]) } Add(GetDataEx,676636,133,406) { link(Data,8180876:Var1,[(139,335)(265,335)(265,222)]) } Add(FormatStr,9092153,819,567) { Mask=" %1=%2" link(onFString,10142258:doAdd,[]) link(Str1,5770271:Var3,[(825,502)]) } Add(GetDataEx,5770271,672,497) { Angle=3 link(Data,2530089:Var3,[]) } Add(StrList,10142258,889,567) { } Add(BlockFind,708454,133,721) { IncludeBlock=1 StartBlock="" EndBlock="" link(onSearch,15522699:doEvent1,[]) link(Text,8989518:Var2,[(139,568)(188,568)]) } Add(Hub,15522699,203,721) { OutCount=5 link(onEvent1,2792184:doSearch,[]) link(onEvent2,8762782:doSearch,[(245,734)(245,769)]) link(onEvent3,6626930:doSearch,[(242,741)(242,811)]) link(onEvent4,3271798:doSearch,[(237,748)(237,853)]) link(onEvent5,12827465:doString,[(231,755)(231,902)]) } Add(BlockFind,2792184,273,721) { IncludeBlock=1 StartBlock="" EndBlock="" link(onSearch,8014850:doValue,[]) } Add(BlockFind,8762782,273,763) { IncludeBlock=1 StartBlock="" EndBlock="" link(onSearch,899329:doValue,[]) } Add(BlockFind,6626930,273,805) { IncludeBlock=1 StartBlock="" EndBlock="" link(onSearch,12432973:doValue,[]) } Add(BlockFind,3271798,273,847) { IncludeBlock=1 StartBlock="" EndBlock="" link(onSearch,7554670:doValue,[]) } Add(Memory,8014850,364,721) { } Add(Memory,899329,406,763) { } Add(Memory,12432973,448,805) { } Add(Memory,7554670,490,847) { } Add(FormatStr,12827465,364,896) { DataCount=4 Mask=" link(%1,%2:%3,[%4])" link(onFString,7866517:doAdd,[]) link(Str1,8014850:Value,[]) link(Str2,899329:Value,[(377,846)(412,846)]) link(Str3,12432973:Value,[(384,866)(454,866)]) link(Str4,7554670:Value,[(391,888)(496,888)]) } Add(StrList,7866517,588,896) { } Add(FormatStr,6140963,385,1057) { DataCount=3 Mask="%1\r\n%2\r\n%3\r\n}" link(onFString,4192534:onFString,[(944,1063)(944,34)]) link(Str1,11378093:Value,[(391,937)(531,937)]) link(Str2,10142258:Text,[(398,954)(895,954)]) link(Str3,7866517:Text,[(405,999)(594,999)]) } Add(GetDataEx,8989518,182,406) { Angle=3 link(Data,676636:Var3,[]) } END_SDK Add(MultiStrPart,8096025,322,126) { Char="." link(onSplit,13308905:doCompare,[(366,132)(366,178)(324,178)(324,223)]) } Add(StrCatDelim,1256622,546,259) { Delimiter="." link(Str1,8096025:Part1,[(552,181)(328,181)]) link(Str2,8096025:Part2,[(559,173)(335,173)]) } Add(StrList,14484263,259,56) { } Add(Hub,13208533,203,77) { link(onEvent1,14484263:doText,[]) link(onEvent2,15705587:doSearch,[(238,90)(238,132)]) } Add(GetDataEx,14319615,259,105) { link(Data,14484263:Text,[]) } END_SDK Add(GetDataEx,6864051,357,182) { link(Data,10373039:Text,[]) } Add(HubEx,4265706,413,210) { link(onEvent,5552283:doAdd,[]) } Add(TimeCounter,10817633,224,287) { Precision=1 link(onStart,13313331:doEvent1,[]) link(onStop,3941120:doWork3,[(282,300)]) } Add(Hub,13313331,294,287) { link(onEvent1,4342803:doWork1,[(326,293)(326,307)]) link(onEvent2,10817633:doStop,[(320,300)(320,270)(217,270)(217,300)]) } Add(HubEx,3941120,278,217) { Angle=3 link(onEvent,16518954:doText,[(282,167)]) }