Вверх ↑
Ответов: 8888
Рейтинг: 823
#1: 2018-05-27 15:30:44 ЛС | профиль | цитата
Tad, итого и все чуть разные:
5 схем


Add(MainForm,12397248,322,63)
{
Width=636
Height=200
}
Add(Edit,13314783,364,63)
{
Left=30
Top=10
Width=295
Text="41021811320118 32151112065 26052018 1600"
}
Add(Edit,13965869,427,112)
{
Left=75
Top=35
Width=540
Text="0"
}
Add(Button,15874368,322,161)
{
Top=60
Width=70
Caption="Блок_Андр"
link(onClick,8201177:doCalc,[])
}
Add(MultiElementEx,8201177,378,161)
{
link(onRes,7006104:doText,[])
link(String,7469338:Var3,[(384,152)])
}
BEGIN_SDK
Add(EditMultiEx,12596441,21,21)
{
WorkCount=#6:doCalc|
EventCount=#5:onRes|
DataCount=#6:String|
Width=734
Height=417
VOffset=70
HOffset=70
link(doCalc,5462783:doEvent1,[(35,97)(35,83)])
}
Add(Str_Enum,389233,140,140)
{
Delimiter=""
link(onEnum,9024364:doConvert,[])
link(onEndEnum,14252911:doSort,[(184,153)(184,188)])
link(String,4506909:Var2,[])
}
Add(Convertor,9024364,189,140)
{
Mode=1
link(onResult,13089371:doCase,[])
}
Add(ArrayRW,2322341,273,126)
{
link(Array,11069843:Var2,[])
}
Add(IntegerArray,4591465,273,63)
{
IntArray=[]
}
Add(ArraySort,14252911,308,182)
{
ArrayType=1
link(onEndSort,815268:doCount,[])
link(Array,11069843:Var3,[(314,110)])
}
Add(GetDataEx,11069843,273,105)
{
link(Data,4591465:Array,[])
}
Add(Case,13089371,231,140)
{
Value=Integer(0)
link(onNextCase,2322341:doAdd,[])
}
Add(ArrayCountRepeats,815268,357,182)
{
ArrayType=1
link(onCount,9747463:doValue,[])
link(Array,14252911:ArraySort,[(363,170)(350,170)(350,228)(314,228)])
}
Add(MT_MultiMem,9747463,406,182)
{
link(onData,12300473:doCompare,[(474,188)(474,223)(401,223)(401,258)])
}
Add(If_else,12300473,413,252)
{
Op2=Integer(1)
link(onFalse,13579507:doEvent1,[])
link(Op1,9630900:Var2,[])
}
Add(Math,14873352,525,259)
{
OpType=2
link(onResult,11017156:doOperation,[])
link(Op1,16059183:Var2,[])
link(Op2,13830514:Var3,[(538,236)])
}
Add(GetDataEx,9630900,413,231)
{
link(Data,9747463:Value2,[])
}
Add(Math,11017156,637,259)
{
Point(doDefault)
link(Op1,753617:Var1,[(643,247)(625,247)(625,303)])
}
Add(For,12601497,490,308)
{
IncludeEnd=1
link(onEvent,2705495:doStrCat,[])
link(End,13830514:Var2,[])
}
Add(StrCat,2705495,574,308)
{
Point(doClear)
link(Str1,11299000:Var1,[(580,296)(555,296)(555,356)])
link(Str2,16059183:Var3,[(587,229)])
}
Add(Hub,13579507,455,259)
{
link(onEvent1,14873352:doOperation,[])
link(onEvent2,12601497:doFor,[(480,272)(480,314)])
}
Add(GetDataEx,13830514,497,231)
{
Angle=3
link(Data,9630900:Var3,[])
}
Add(GetDataEx,16059183,525,224)
{
Angle=3
link(Data,9747463:Value1,[(412,229)])
}
Add(FormatStr,1600567,651,378)
{
DataCount=3
Mask="%1 %2 %3"
link(onFString,12596441:onRes,[(719,384)(719,97)])
link(Str1,4506909:Var3,[(657,117)])
link(Str2,11299000:Var3,[(664,356)])
link(Str3,753617:Var3,[(671,303)])
}
Add(Hub,5462783,49,77)
{
OutCount=5
link(onEvent1,4591465:doClear,[])
link(onEvent2,6405299:In,[])
link(onEvent3,9905071:In,[(95,97)(95,111)])
link(onEvent4,389233:doEnum,[(89,104)(89,146)])
link(onEvent5,1600567:doString,[(80,111)(80,384)])
}
Add(GetDataEx,4506909,140,112)
{
link(Data,12596441:String,[(146,66)(97,66)])
}
Add(GetDataEx,11299000,574,351)
{
link(Data,2705495:Result,[])
}
Add(GetDataEx,753617,637,298)
{
link(Data,11017156:Result,[])
}
Add(LineBreak,6154385,490,350)
{
link(Out,2705495:doClear,[(547,356)(547,321)])
Primary=[6405299,-385,-266]
}
Add(LineBreak,11176904,588,266)
{
link(Out,11017156:doDefault,[])
Primary=[9905071,-483,-161]
}
END_SDK
Add(InlineCode,396202,378,210)
{
WorkPoints=#6:doWork|
EventPoints=#5:onRes|
VarPoints=#
DataPoints=#5:inStr|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|4: |9: public|28: inStr,onRes: THI_Event;|48: procedure doWork(var dt: TData; idx: word);|0:|5: end;|0:|14:implementation|0:|55:procedure THiAsmClass.doWork(var dt: TData; idx: word);|35:var arrStr: array [1..9] of string;|52: sIn,sOut: string; chr: Char; i,iRes: integer; |5:begin|41: sIn := ToStringEvent(inStr); iRes := 0;|30: for i := 1 to Length(sIn) do|7: begin|18: chr := sIn[i];|15: case chr of|38: '1': arrStr[1] := arrStr[1] + chr;|38: '2': arrStr[2] := arrStr[2] + chr;|38: '3': arrStr[3] := arrStr[3] + chr;|38: '4': arrStr[4] := arrStr[4] + chr;|38: '5': arrStr[5] := arrStr[5] + chr;|38: '6': arrStr[6] := arrStr[6] + chr;|38: '7': arrStr[7] := arrStr[7] + chr;|86: '8': arrStr[8] := arrStr[8] + chr; |42: '9': arrStr[9] := arrStr[9] + chr; |8: end;|6: end;|10: |24: sOut := sIn + ' '; |2: |20: for i := 1 to 9 do|33: if Length(arrStr[i]) > 1 then|11: begin|33: sOut := sOut + arrStr[i];|45: iRes := iRes + (Length(arrStr[i])*i);|10: end;|53: _hi_OnEvent(onRes,sOut + ' ' + Int2Str(iRes)); |4:end;|0:|4:end.|
link(onRes,8236632:doText,[])
link(inStr,13122324:Var3,[(384,201)])
}
Add(Button,1209941,322,210)
{
Top=85
Width=70
Caption="IC_Андр"
link(onClick,396202:doWork,[])
}
Add(MultiElementEx,13826365,378,112)
{
link(onRes,13965869:doText,[])
link(String,5427376:Var3,[(384,103)])
}
BEGIN_SDK
Add(EditMultiEx,4490462,21,21)
{
WorkCount=#6:doCalc|
EventCount=#5:onRes|
DataCount=#6:String|
Width=580
Height=389
VOffset=35
HOffset=63
link(doCalc,15322850:doEvent1,[])
}
Add(Str_Enum,5424589,175,77)
{
Delimiter=""
link(onEnum,2986584:doAdd,[])
link(onEndEnum,6783673:doCount,[(221,90)(221,146)])
}
Add(StrList,2986584,238,77)
{
}
Add(Hub,15322850,49,56)
{
OutCount=3
link(onEvent1,9973921:doClear,[(340,62)(340,153)])
link(onEvent2,2986584:doClear,[(228,69)(228,90)])
link(onEvent3,12183542:doValue,[(74,76)(74,83)])
}
Add(ArrayCountRepeats,6783673,252,140)
{
link(onCount,11874207:doStr,[])
link(onEndCount,12871743:doEvent1,[(291,153)(291,188)])
link(Array,2986584:Array,[])
}
Add(MT_String,11874207,301,140)
{
link(onResult,9973921:doAdd,[])
}
Add(StrList,9973921,350,140)
{
Point(doSort)
}
Add(Hub,12871743,301,182)
{
OutCount=5
link(onEvent1,9973921:doSort,[])
link(onEvent2,8631628:doClear,[(515,195)(515,293)])
link(onEvent3,344027:doClear,[(410,202)(410,293)])
link(onEvent5,1952402:doEnum,[])
}
Add(InlineCode,510778,126,77)
{
WorkPoints=#6:doTest|
EventPoints=#5:onRes|
VarPoints=#
DataPoints=#
Code=#15:unit HiAsmUnit;|13:// Author Tad|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|24: onRes : THI_Event;|51: PROCEDURE doTest(var _Data:TData; Index:Word);|0:|5: end;|0:|14:implementation|0:|29:PROCEDURE THiAsmClass.doTest;|16:var s,ss:string;|18: i,j,k:integer;|5:BEGIN|9: ss:='';|21: s:=toString(_Data);|15: j:=Length(s);|67: for i:=1 to j do if s[i] in ['0'..'9'] then ss:=ss+s[i]; |24: _hi_onEvent(onRes,ss);|4:END;|0:|0:|4:end.|
link(onRes,5424589:doEnum,[])
}
Add(ArrayEnum,1952402,364,210)
{
link(onItem,8448400:doSplit,[])
link(onEndEnum,14183873:doString,[(403,223)(403,363)])
link(Array,9973921:Array,[])
}
Add(MultiStrPart,8448400,427,210)
{
link(onSplit,15737249:doCompare,[(466,216)(466,265)(305,265)(305,286)])
}
Add(MathParse,344027,427,280)
{
MathStr="%0 + %1*%2"
ResultType=0
Point(doClear)
link(onResult,3185586:doFor,[])
link(X1,2121676:Var2,[])
link(X2,1443426:Var2,[])
}
Add(Memory,12183542,84,77)
{
Point(Data)
link(onData,510778:doTest,[])
link(Data,4490462:String,[])
}
Add(For,3185586,476,280)
{
IncludeEnd=1
link(onEvent,8631628:doStrCat,[])
link(End,1443426:Var3,[(489,250)])
}
Add(GetDataEx,1443426,434,245)
{
link(Data,8448400:Part2,[])
}
Add(GetDataEx,2121676,427,252)
{
link(Data,8448400:Part1,[])
}
Add(StrCat,8631628,532,280)
{
Point(doClear)
link(Str1,7680469:Var3,[(538,271)(524,271)])
link(Str2,2121676:Var3,[(545,257)])
}
Add(FormatStr,14183873,490,357)
{
DataCount=3
Mask="%1 %2 %3"
link(onFString,4490462:onRes,[(574,363)(574,62)])
link(Str1,12183542:Value,[(496,348)(90,348)])
link(Str2,7680469:Var2,[(503,327)(524,327)])
link(Str3,344027:Result,[(510,341)(433,341)])
}
Add(GetDataEx,7680469,518,315)
{
Angle=1
link(Data,8631628:Result,[(538,320)])
}
Add(If_else,15737249,315,280)
{
Type=5
Op2=String(0)
link(onTrue,12660160:doCompare,[])
link(Op1,2121676:Var1,[(321,257)])
}
Add(If_else,12660160,364,280)
{
Type=2
Op2=Integer(1)
link(onTrue,344027:doCalc,[])
link(Op1,1443426:Var1,[(370,250)])
}
END_SDK
Add(Button,6066402,322,112)
{
Top=35
Width=70
Caption="Блок_Л"
link(onClick,13826365:doCalc,[])
}
Add(Edit,7006104,427,161)
{
Left=75
Top=60
Width=540
}
Add(Edit,8236632,427,210)
{
Left=75
Top=85
Width=540
}
Add(InlineCode,1423798,378,259)
{
WorkPoints=#6:doCalc|
EventPoints=#5:onRes|
VarPoints=#
DataPoints=#5:inStr|
Code=#15:unit HiAsmUnit;|9:interface|21:uses kol,Share,Debug;|4:type|28: THiAsmClass = class(TDebug)|10: private|9: public|21: inStr: THI_Event;|21: onRes: THI_Event;|49: procedure doCalc(var _Data:TData; Index:Word);|5: end;|14:implementation|29:procedure THiAsmClass.doCalc;|20:var s,ss,sss:string;|22: i,j,k,Sum:integer;|33: Numb: Array[0..9] of integer;|6: begin|31: for i:=0 to 9 do Numb[i]:=0;|9: ss:='';|9: Sum:=0;|26: s:=ToStringEvent(inStr);|15: j:=Length(s);|90: for i:=1 to j do if s[i] in ['0'..'9'] then Numb[str2int(s[i])]:=Numb[str2int(s[i])]+1;|19: for i:=1 to 9 do|9: begin|23: if Numb[i]>1 then|12: begin|24: sss:=int2str(i);|45: for j:=1 to Numb[i] do ss:=ss + sss;|30: Sum:=Sum + i*Numb[i]; |11: end;|14: end; |61: _hi_onEvent(onRes,s + ' ' + ss + ' ' + int2str(Sum));|5: end;|4:end.|
link(onRes,15952692:doText,[])
link(inStr,7746410:Var3,[(384,250)])
}
Add(GetDataEx,7469338,364,147)
{
link(Data,5427376:Var2,[])
}
Add(GetDataEx,5427376,364,98)
{
link(Data,13314783:Text,[])
}
Add(GetDataEx,13122324,364,196)
{
link(Data,7469338:Var2,[])
}
Add(Button,681772,322,259)
{
Top=110
Width=70
Caption="IC_Л"
link(onClick,1423798:doCalc,[])
}
Add(Edit,15952692,427,259)
{
Left=75
Top=110
Width=540
}
Add(InlineCode,13579044,392,308)
{
WorkPoints=#6:doWork|
EventPoints=#5:onRes|
VarPoints=#
DataPoints=#
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|4: |9: public|22: onRes: THI_Event;|48: procedure doWork(var dt: TData; idx: word);|0:|5: end;|0:|14:implementation|0:|55:procedure THiAsmClass.doWork(var dt: TData; idx: word);|35:var arrStr: array [1..9] of string;|22: sIn,sOut: string; |23: i,iRes: integer; |5:begin|44: sIn := ToString(dt); iRes := 0; sOut:=''; |57: IF sin='' then begin _hi_OnEvent(onRes,''); exit end;|36: for i:= 1 to 9 do arrStr[i] := '';|120: for i := 1 to Length(sIn) do IF sin[i] in ['1'..'9'] then arrStr[Str2Int(sin[i])] := arrStr[Str2Int(sin[i])] + sin[i];|20: for i := 1 to 9 do|33: if Length(arrStr[i]) > 1 then|11: begin|33: sOut := sOut + arrStr[i];|45: iRes := iRes + (Length(arrStr[i])*i);|10: end;|68: _hi_OnEvent(onRes,sin + ' '+ sOut + ' =' + Int2Str(iRes)); |4:end;|0:|4:end.|
link(onRes,4614870:doText,[])
}
Add(Button,6708452,294,308)
{
Top=135
Width=70
Caption="IC_Tad"
link(onClick,7516822:doData,[])
}
Add(Edit,4614870,448,308)
{
Left=75
Top=135
Width=540
}
Add(DoData,7516822,343,308)
{
link(onEventData,13579044:doWork,[])
link(Data,7746410:Var2,[(349,299)(370,299)])
}
Add(GetDataEx,7746410,364,245)
{
link(Data,13122324:Var2,[])
}

карма: 19

0