Вот что получилось. Оказывается, глюки были из-за остановки уже остановленного потока. С глюками разобрался, схема работает. Перед компиляцией желательно удалить из схемы неиспользуемые блоки справа(или вырезать, скомпилировать, вставить), тогда размер программы уменьшится килобайт на 10(без сжатия). Теперь буду заставлять принимать сразу несколько файлов... Add(MainForm,78857,357,427){ Left=21 Top=105 Width=115 Height=60 Color=0 Caption="MyCriptor" BorderStyle=4 Icon=[ZIPBE08000078DAED944148D3511CC7BF73ADB9D65ABAE65A6BCD35D75CD3CCCCCC6C4D5D6BAE656BBD96AD656BD9AA55AB0C3C78F0E0C183070F1E3C78101111131111111111111111111111111111111111111111917F6FC4720EFE42A72E7DFFFCDFE17D3EBCDFEF3DFEFF0770E89398083AC6E2672C90002099BE740AB9F83D7F5C0E0E0EB0B7B7879D9D1D6C6D6D616363036B6B6B585959C1D2D212161616303737879999194C4D4D61626202636363181919C1D0D010060606C0E3F1B0BFBF8FDDDD5D6C6F6F63737313EBEBEB585D5DC5F2F232161717313F3F8FD9D9594C4F4F63727212E3E3E3181D1DC5F0F030060707D1DFDF8FDEDE5E747777A3B3B313EDEDED686D6D457373331A1B1B919797070E8783BEBE3EF4F4F4A0ABAB0B1D1D1D686B6B434B4B0B9A9A9AD0D0D080FAFA7AD4D5D5A1B6B616353535A8AEAE465555152A2B2BE1F57A61341A515151018FC783ECEC6C949797A3A8A808999999282B2B032104E9E9E9282D2D85C3E1406A6A2A82C120EC763BF47A3D028100AC562BB45A2DFC7E3FCC6633D46A353D49063E9F0F2693094AA512C5C5C5C8C9C9815C2E87DBED46565616A452295C2E1732323210171707A7D389B4B434884422141616C26030402010C066B341A7D3C162B140A3D140A55241A150402693412291402C1643281482CFE783CBE5A2A4A404FFF33F7F138661E08F4F39D6E17C341873CD0F6C8F1C4F9FBB5F79DF46FBCCD91F774DF99602FB63A7EB85E7B5EFDD87C0A7CF5F825FBF7D2FFDCDC5FA9C7B79F7AD0F0B9F3C2B7A59FCA6E47DC482217E26F90EAB10E2225D36AB404B30A7AFDC6615BE532ED466B10ADF283F95748B55F84AB94093C92A04298FBD7C9355F842395F9D7128D09B8544089F293F9978E38F40C87D6BA4F089729E2A3D2C10122A410E4B0452C09CB8743D2C1012D5C38778305C655A582024AAC9777E303117AF850542A276E17B0B86A3480D0B84446DF3B5977E4317E2C20221A15D9043C1F38A72F9D9234264932FDC949F17470A477A703DA75C762642387AD4CEA79427885885C70ECAA5A75905FB23CACF095985021BE59253AC82E541E81F12B00AF9E6108F65154CB921CE6715EE1A439C46724E9A203B2FBFA0B8A8BCA44A545FD62469AFE892F5570D29CC917062B827782723168C678E0D27E65FDF41BF0088F0CF1E] DragForm=0 SavePosName="MyCriptor" Point(Close) } Add(DoData,72744,461,294) { link(onEventData,62742:doCopyFromStream,[]) link(Data,14911304:Data2,[(467,199)(439,199)]) } Add(MemoryStream,2940,280,168) { Point(doPosition) link(SrcStream,5717:Stream,[]) } Add(FileStream,5717,280,112) { link(onLoad,43116:doEvent1,[(318,118)(318,151)(145,151)(145,209)]) } Add(For,58053,280,287) { Start=1 link(onEvent,60844:doGet,[(333,293)(333,237)]) link(onStop,9065686:doEvent1,[(338,300)(338,293)]) link(End,3384174:Data1,[]) } Add(DataToFile,83748,426,224) { link(Stream,14911304:Data1,[]) } Add(Hub,43116,154,203) { OutCount=8 link(onEvent1,2940:doClear,[(225,209)(225,181)]) link(onEvent2,46227:doClear,[(230,216)(230,160)]) link(onEvent3,2940:doCopy,[(220,223)(220,174)]) link(onEvent4,5717:doClose,[(215,230)(215,125)]) link(onEvent5,34245:doData,[]) link(onEvent6,15786728:doStop,[(194,244)(194,466)(416,466)(416,447)]) link(onEvent7,13577346:doStart,[(198,251)(198,426)]) link(onEvent8,3659101:doStart,[(212,258)(212,293)]) } Add(DataToFile,60844,342,224) { link(onGet,2281793:doInput,[]) link(Stream,2940:Stream,[(348,209)(286,209)]) } Add(MemoryStream,46227,328,147) { } Add(FileStream,62742,510,280) { Mode=1 AutoCopy=0 Point(doCopyFromStream) link(FileName,13229149:Value,[]) } Add(DoData,34245,217,231) { Data=Integer(0) link(onEventData,2940:doPosition,[(265,237)(265,188)]) } Add(DropFile,15956738,119,98) { link(onDropFile,14889583:doEvent1,[]) } Add(TimeCounter,13577346,210,420) { link(onStop,2764373:doOperation,[]) } Add(MultiElementEx,4450772,329,98) { @Hint=#31:Проверка и переименование файла| link(onEvent1,13229149:doValue,[]) } BEGIN_SDK Add(EditMultiEx,6163439,21,21) { WorkCount=#37:doPart=Полный путь проверяемого файла| EventCount=#24:onEvent1=Новое имя файла| Width=293 Height=158 link(doPart,3687376:doValue,[(33,27)(33,62)]) } Add(FilePart,11307332,84,56) { link(onPath,6814599:doValue,[(138,62)(138,34)]) link(onName,1966325:doValue,[(229,69)(229,34)]) link(onExt,10883205:doCompare,[(124,76)(124,132)]) } Add(StrCat,14097887,210,91) { link(onStrCat,10216141:doEvent1,[(250,97)(250,132)]) link(Str1,6814599:Value,[(216,79)(195,79)]) link(Str2,1966325:Value,[(223,79)(244,79)]) } Add(Memory,6814599,189,28) { @Hint=#4:Путь| } Add(If_else,10883205,147,126) { Op2=String(crpt) link(onTrue,14097887:doStrCat,[(187,132)(187,97)]) link(onFalse,10123228:doStrCat,[]) } Add(Memory,1966325,238,28) { @Hint=#3:Имя| } Add(Hub,10216141,258,126) { InCount=2 OutCount=1 link(onEvent1,6163439:onEvent1,[(301,132)(301,27)]) } Add(StrCat,10123228,196,133) { Str2=".crpt" link(onStrCat,10216141:doEvent2,[]) link(Str1,3687376:Value,[(202,115)(48,115)]) } Add(Memory,3687376,42,56) { link(onData,11307332:doPart,[]) } END_SDK Add(Math,2764373,259,427) { OpType=2 Op2=0.001 link(onResult,6855408:doStrCat,[]) } Add(StrCat,6855408,308,427) { Str2=" sec" link(onStrCat,78857:doCaption,[]) } Add(Hub,14889583,168,98) { OutCount=3 link(onEvent1,13482679:doValue,[(207,104)(207,384)]) link(onEvent2,4450772:doPart,[(264,111)(264,104)]) link(onEvent3,5717:doOpen,[]) } Add(Memory,13229149,510,98) { } Add(GetData,14911304,426,154) { link(Data,46227:Stream,[(432,142)(380,142)(380,190)(334,190)]) } Add(FileTools,8694835,546,315) { DelToRecycle=1 link(FileName,13482679:Value,[(552,303)(587,303)(587,493)(300,493)]) } Add(Version,9860979,154,280) { Version="0.2" Description="MyCriptor" InternalName="MyCriptor" E-mail="hiasm.com" } Add(StyleXP,12894195,154,315) { } Add(Application,617425,448,378) { Info="MyCriptor" Wait=1 } Add(GProgressBar,12058691,448,336) { Top=30 Width=120 Height=10 Color=0 LightProgress=65280 } Add(Math,15428893,308,336) { OpType=3 link(onResult,4687125:doOperation,[]) link(Op1,58053:Position,[(314,328)(286,328)]) link(Op2,3384174:Data2,[(321,270)(300,270)]) } Add(Math,4687125,350,336) { OpType=2 Op2=100 ResultType=0 link(onResult,398682:doEvent1,[]) } Add(GetData,3384174,287,224) { link(Data,2940:Size,[]) } Add(Timer,11335752,259,336) { Interval=200 link(onTimer,15428893:doOperation,[]) } Add(Hub,398682,399,336) { InCount=2 link(onEvent1,12058691:doPosition,[]) link(onEvent2,617425:doProcessMessages,[(439,349)(439,384)]) } Add(DoData,12527712,350,378) { Data=Integer(0) link(onEventData,398682:doEvent2,[(387,384)(387,349)]) } Add(InlineCode,2281793,385,224) { @Hint=#30:Reverse BYTE (table algorithm)| WorkPoints=#7:doInput| EventPoints=#8:onResult| Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|5:const|46: ReverseTable: array[0..255] of Cardinal = (|92: $00000000, $00000080, $00000040, $000000C0, $00000020, $000000A0, $00000060, $000000E0, |92: $00000010, $00000090, $00000050, $000000D0, $00000030, $000000B0, $00000070, $000000F0, |92: $00000008, $00000088, $00000048, $000000C8, $00000028, $000000A8, $00000068, $000000E8, |92: $00000018, $00000098, $00000058, $000000D8, $00000038, $000000B8, $00000078, $000000F8, |92: $00000004, $00000084, $00000044, $000000C4, $00000024, $000000A4, $00000064, $000000E4, |92: $00000014, $00000094, $00000054, $000000D4, $00000034, $000000B4, $00000074, $000000F4, |92: $0000000C, $0000008C, $0000004C, $000000CC, $0000002C, $000000AC, $0000006C, $000000EC, |92: $0000001C, $0000009C, $0000005C, $000000DC, $0000003C, $000000BC, $0000007C, $000000FC, |92: $00000002, $00000082, $00000042, $000000C2, $00000022, $000000A2, $00000062, $000000E2, |92: $00000012, $00000092, $00000052, $000000D2, $00000032, $000000B2, $00000072, $000000F2, |92: $0000000A, $0000008A, $0000004A, $000000CA, $0000002A, $000000AA, $0000006A, $000000EA, |92: $0000001A, $0000009A, $0000005A, $000000DA, $0000003A, $000000BA, $0000007A, $000000FA, |92: $00000006, $00000086, $00000046, $000000C6, $00000026, $000000A6, $00000066, $000000E6, |92: $00000016, $00000096, $00000056, $000000D6, $00000036, $000000B6, $00000076, $000000F6, |92: $0000000E, $0000008E, $0000004E, $000000CE, $0000002E, $000000AE, $0000006E, $000000EE, |92: $0000001E, $0000009E, $0000005E, $000000DE, $0000003E, $000000BE, $0000007E, $000000FE, |92: $00000001, $00000081, $00000041, $000000C1, $00000021, $000000A1, $00000061, $000000E1, |92: $00000011, $00000091, $00000051, $000000D1, $00000031, $000000B1, $00000071, $000000F1, |92: $00000009, $00000089, $00000049, $000000C9, $00000029, $000000A9, $00000069, $000000E9, |92: $00000019, $00000099, $00000059, $000000D9, $00000039, $000000B9, $00000079, $000000F9, |92: $00000005, $00000085, $00000045, $000000C5, $00000025, $000000A5, $00000065, $000000E5, |92: $00000015, $00000095, $00000055, $000000D5, $00000035, $000000B5, $00000075, $000000F5, |92: $0000000D, $0000008D, $0000004D, $000000CD, $0000002D, $000000AD, $0000006D, $000000ED, |92: $0000001D, $0000009D, $0000005D, $000000DD, $0000003D, $000000BD, $0000007D, $000000FD, |92: $00000003, $00000083, $00000043, $000000C3, $00000023, $000000A3, $00000063, $000000E3, |92: $00000013, $00000093, $00000053, $000000D3, $00000033, $000000B3, $00000073, $000000F3, |92: $0000000B, $0000008B, $0000004B, $000000CB, $0000002B, $000000AB, $0000006B, $000000EB, |92: $0000001B, $0000009B, $0000005B, $000000DB, $0000003B, $000000BB, $0000007B, $000000FB, |92: $00000007, $00000087, $00000047, $000000C7, $00000027, $000000A7, $00000067, $000000E7, |92: $00000017, $00000097, $00000057, $000000D7, $00000037, $000000B7, $00000077, $000000F7, |92: $0000000F, $0000008F, $0000004F, $000000CF, $0000002F, $000000AF, $0000006F, $000000EF, |94: $0000001F, $0000009F, $0000005F, $000000DF, $0000003F, $000000BF, $0000007F, $000000FF ); |2: |0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|24: onResult:THI_Event;|51: procedure doInput(var Data:TData; Index:word);|5: end;|0:|14:implementation|0:|30:procedure THiAsmClass.doInput;|5:begin|55: _hi_onEvent(onResult, ReverseTable[ToInteger(Data)]);|4:end;|0:|4:end.| link(onResult,83748:doPut,[]) } Add(Thread,3659101,231,287) { Delay=0 FastStop=0 link(onExec,58053:doFor,[]) } Add(Hub,9065686,350,287) { OutCount=5 link(onEvent1,13577346:doStop,[(392,293)(392,416)(203,416)(203,433)]) link(onEvent2,72744:doData,[]) link(onEvent3,62742:doClose,[(446,307)(446,293)]) link(onEvent4,8694835:doDelete,[(447,314)(447,335)]) link(onEvent5,15786728:doTimer,[(415,321)(415,440)]) } Add(Memory,13482679,294,378) { link(onData,12527712:doData,[]) } Add(Timer,15786728,448,434) { Interval=60000 link(onTimer,78857:doClose,[(490,440)(490,473)(345,473)(345,454)]) } Add(InlineCode,7325296,768,467) { @Hint=#12:Reverse BYTE| WorkPoints=#7:doInput| EventPoints=#8:onResult| Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|24: onResult:THI_Event;|51: procedure doInput(var Data:TData; Index:word);|5: end;|0:|14:implementation|0:|30:procedure THiAsmClass.doInput;|3:var|17: A, B: Cardinal;|5:begin|29: A := Byte(ToInteger(Data));|3:asm|16: MOV B, 0;|16: SHL A, 24|18: MOV ECX, 8;|6:@@loo:|16: RCL A, 1;|16: RCR B, 1;|16: LOOP @@loo|16: SHR B, 24|6:end; |28: _hi_onEvent(onResult, B);|4:end;|0:|4:end.| } Add(InlineCode,7056652,768,432) { @Hint=#30:Reverse BYTE (table algorithm)| WorkPoints=#7:doInput| EventPoints=#8:onResult| Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|24: onResult:THI_Event;|51: procedure doInput(var Data:TData; Index:word);|5: end;|0:|14:implementation|0:|30:procedure THiAsmClass.doInput;|3:var|17: A, B: Cardinal;|5:begin|29: A := Byte(ToInteger(Data));|3:asm|17: MOV ECX, A|27: LEA EDX, @ReverseTbl|31: MOV EAX, [EDX + ECX * 4]|17: MOV B, EAX|16: JMP @Done|12:@ReverseTbl:|92: DD $00000000, $00000080, $00000040, $000000C0, $00000020, $000000A0, $00000060, $000000E0 |92: DD $00000010, $00000090, $00000050, $000000D0, $00000030, $000000B0, $00000070, $000000F0 |92: DD $00000008, $00000088, $00000048, $000000C8, $00000028, $000000A8, $00000068, $000000E8 |92: DD $00000018, $00000098, $00000058, $000000D8, $00000038, $000000B8, $00000078, $000000F8 |92: DD $00000004, $00000084, $00000044, $000000C4, $00000024, $000000A4, $00000064, $000000E4 |92: DD $00000014, $00000094, $00000054, $000000D4, $00000034, $000000B4, $00000074, $000000F4 |92: DD $0000000C, $0000008C, $0000004C, $000000CC, $0000002C, $000000AC, $0000006C, $000000EC |92: DD $0000001C, $0000009C, $0000005C, $000000DC, $0000003C, $000000BC, $0000007C, $000000FC |92: DD $00000002, $00000082, $00000042, $000000C2, $00000022, $000000A2, $00000062, $000000E2 |92: DD $00000012, $00000092, $00000052, $000000D2, $00000032, $000000B2, $00000072, $000000F2 |92: DD $0000000A, $0000008A, $0000004A, $000000CA, $0000002A, $000000AA, $0000006A, $000000EA |92: DD $0000001A, $0000009A, $0000005A, $000000DA, $0000003A, $000000BA, $0000007A, $000000FA |92: DD $00000006, $00000086, $00000046, $000000C6, $00000026, $000000A6, $00000066, $000000E6 |92: DD $00000016, $00000096, $00000056, $000000D6, $00000036, $000000B6, $00000076, $000000F6 |92: DD $0000000E, $0000008E, $0000004E, $000000CE, $0000002E, $000000AE, $0000006E, $000000EE |92: DD $0000001E, $0000009E, $0000005E, $000000DE, $0000003E, $000000BE, $0000007E, $000000FE |92: DD $00000001, $00000081, $00000041, $000000C1, $00000021, $000000A1, $00000061, $000000E1 |92: DD $00000011, $00000091, $00000051, $000000D1, $00000031, $000000B1, $00000071, $000000F1 |92: DD $00000009, $00000089, $00000049, $000000C9, $00000029, $000000A9, $00000069, $000000E9 |92: DD $00000019, $00000099, $00000059, $000000D9, $00000039, $000000B9, $00000079, $000000F9 |92: DD $00000005, $00000085, $00000045, $000000C5, $00000025, $000000A5, $00000065, $000000E5 |92: DD $00000015, $00000095, $00000055, $000000D5, $00000035, $000000B5, $00000075, $000000F5 |92: DD $0000000D, $0000008D, $0000004D, $000000CD, $0000002D, $000000AD, $0000006D, $000000ED |92: DD $0000001D, $0000009D, $0000005D, $000000DD, $0000003D, $000000BD, $0000007D, $000000FD |92: DD $00000003, $00000083, $00000043, $000000C3, $00000023, $000000A3, $00000063, $000000E3 |92: DD $00000013, $00000093, $00000053, $000000D3, $00000033, $000000B3, $00000073, $000000F3 |92: DD $0000000B, $0000008B, $0000004B, $000000CB, $0000002B, $000000AB, $0000006B, $000000EB |92: DD $0000001B, $0000009B, $0000005B, $000000DB, $0000003B, $000000BB, $0000007B, $000000FB |92: DD $00000007, $00000087, $00000047, $000000C7, $00000027, $000000A7, $00000067, $000000E7 |92: DD $00000017, $00000097, $00000057, $000000D7, $00000037, $000000B7, $00000077, $000000F7 |92: DD $0000000F, $0000008F, $0000004F, $000000CF, $0000002F, $000000AF, $0000006F, $000000EF |92: DD $0000001F, $0000009F, $0000005F, $000000DF, $0000003F, $000000BF, $0000007F, $000000FF |8: @Done:|6:end; |28: _hi_onEvent(onResult, B);|4:end;|0:|4:end.| } Add(MultiElementEx,16246726,768,537) { @Hint=#8:Инвертор| } BEGIN_SDK Add(EditMultiEx,4802494,21,21) { WorkCount=#24:doCrypt=Инвертирует байт| EventCount=#75:onNumber=Событие происходит после инвертирования байта и выдает его в поток| Width=244 Height=396 link(doCrypt,6521553:doEvent1,[(33,27)(33,279)]) } Add(Memory,728938,189,196) { } Add(Memory,6993452,196,238) { } Add(IntToBits,14517467,105,308) { Data_0=Integer(1) Data_1=Integer(0) link(onBit1,4657016:doValue,[(149,314)(149,34)]) link(onBit2,16247303:doValue,[(151,321)(151,76)]) link(onBit3,16738823:doValue,[(153,328)(153,118)]) link(onBit4,2875915:doValue,[(155,335)(155,160)]) link(onBit5,728938:doValue,[(157,342)(157,202)]) link(onBit6,6993452:doValue,[(159,349)(159,244)]) link(onBit7,3088944:doValue,[(161,356)(161,286)]) link(onBit8,15086153:doValue,[(163,363)(163,328)]) } Add(BitsToInt,618167,161,371) { Count=8 link(onNumber,4802494:onNumber,[(251,377)(251,27)]) link(Bit1,4657016:Value,[]) link(Bit2,16247303:Value,[]) link(Bit3,16738823:Value,[]) link(Bit4,2875915:Value,[]) link(Bit5,728938:Value,[]) link(Bit6,6993452:Value,[]) link(Bit7,3088944:Value,[]) link(Bit8,15086153:Value,[]) } Add(Memory,15086153,210,322) { } Add(Memory,4657016,161,28) { } Add(Memory,16247303,168,70) { } Add(Memory,16738823,175,112) { } Add(Memory,2875915,182,154) { } Add(Memory,3088944,203,280) { } Add(Hub,6521553,42,273) { link(onEvent1,14517467:doBitsRev,[(90,279)(90,321)]) link(onEvent2,618167:doNumber,[(84,286)(84,377)]) } END_SDK Add(MultiElementEx,7661291,768,502) { @Hint=#15:Инвертор (табл)| } BEGIN_SDK Add(EditMultiEx,4802494,21,21) { WorkCount=#24:doCrypt=Инвертирует байт| EventCount=#75:onNumber=Событие происходит после инвертирования байта и выдает его в поток| Width=76 Height=102 link(doCrypt,4970074:doRead,[(31,27)(31,83)]) } Add(IntegerArray,13904064,42,28) { IntArray=['0'=0,'1'=128,'2'=64,'3'=192,'4'=32,'5'=160,'6'=96,'7'=224,'8'=16,'9'=144,'10'=80,'11'=208,'12'=48,'13'=176,'14'=112,'15'=240,'16'=8,'17'=136,'18'=72,'19'=200,'20'=40,'21'=168,'22'=104,'23'=232,'24'=24,'25'=152,'26'=88,'27'=216,'28'=56,'29'=184,'30'=120,'31'=248,'32'=4,'33'=132,'34'=68,'35'=196,'36'=36,'37'=164,'38'=100,'39'=228,'40'=20,'41'=148,'42'=84,'43'=212,'44'=52,'45'=180,'46'=116,'47'=244,'48'=12,'49'=140,'50'=76,'51'=204,'52'=44,'53'=172,'54'=108,'55'=236,'56'=28,'57'=156,'58'=92,'59'=220,'60'=60,'61'=188,'62'=124,'63'=252,'64'=2,'65'=130,'66'=66,'67'=194,'68'=34,'69'=162,'70'=98,'71'=226,'72'=18,'73'=146,'74'=82,'75'=210,'76'=50,'77'=178,'78'=114,'79'=242,'80'=10,'81'=138,'82'=74,'83'=202,'84'=42,'85'=170,'86'=106,'87'=234,'88'=26,'89'=154,'90'=90,'91'=218,'92'=58,'93'=186,'94'=122,'95'=250,'96'=6,'97'=134,'98'=70,'99'=198,'100'=38,'101'=166,'102'=102,'103'=230,'104'=22,'105'=150,'106'=86,'107'=214,'108'=54,'109'=182,'110'=118,'111'=246,'112'=14,'113'=142,'114'=78,'115'=206,'116'=46,'117'=174,'118'=110,'119'=238,'120'=30,'121'=158,'122'=94,'123'=222,'124'=62,'125'=190,'126'=126,'127'=254,'128'=1,'129'=129,'130'=65,'131'=193,'132'=33,'133'=161,'134'=97,'135'=225,'136'=17,'137'=145,'138'=81,'139'=209,'140'=49,'141'=177,'142'=113,'143'=241,'144'=9,'145'=137,'146'=73,'147'=201,'148'=41,'149'=169,'150'=105,'151'=233,'152'=25,'153'=153,'154'=89,'155'=217,'156'=57,'157'=185,'158'=121,'159'=249,'160'=5,'161'=133,'162'=69,'163'=197,'164'=37,'165'=165,'166'=101,'167'=229,'168'=21,'169'=149,'170'=85,'171'=213,'172'=53,'173'=181,'174'=117,'175'=245,'176'=13,'177'=141,'178'=77,'179'=205,'180'=45,'181'=173,'182'=109,'183'=237,'184'=29,'185'=157,'186'=93,'187'=221,'188'=61,'189'=189,'190'=125,'191'=253,'192'=3,'193'=131,'194'=67,'195'=195,'196'=35,'197'=163,'198'=99,'199'=227,'200'=19,'201'=147,'202'=83,'203'=211,'204'=51,'205'=179,'206'=115,'207'=243,'208'=11,'209'=139,'210'=75,'211'=203,'212'=43,'213'=171,'214'=107,'215'=235,'216'=27,'217'=155,'218'=91,'219'=219,'220'=59,'221'=187,'222'=123,'223'=251,'224'=7,'225'=135,'226'=71,'227'=199,'228'=39,'229'=167,'230'=103,'231'=231,'232'=23,'233'=151,'234'=87,'235'=215,'236'=55,'237'=183,'238'=119,'239'=247,'240'=15,'241'=143,'242'=79,'243'=207,'244'=47,'245'=175,'246'=111,'247'=239,'248'=31,'249'=159,'250'=95,'251'=223,'252'=63,'253'=191,'254'=127,'255'=255] } Add(ArrayRW,4970074,42,77) { link(onRead,4802494:onNumber,[(85,83)(85,27)]) link(Array,13904064:Array,[]) } END_SDK Add(InlineCode,12927831,768,579) { @Hint=#30:Reverse BYTE (table algorithm)| WorkPoints=#7:doInput| EventPoints=#8:onResult| VarPoints=#33:Value=Номер обрабатываемого байта| DataPoints=#27:InFile=хэндл входного файла|26:Size=размер входного файла|29:OutFile=жэндл выходного файла| Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|5:const|46: ReverseTable: array[0..255] of Cardinal = (|92: $00000000, $00000080, $00000040, $000000C0, $00000020, $000000A0, $00000060, $000000E0, |92: $00000010, $00000090, $00000050, $000000D0, $00000030, $000000B0, $00000070, $000000F0, |92: $00000008, $00000088, $00000048, $000000C8, $00000028, $000000A8, $00000068, $000000E8, |92: $00000018, $00000098, $00000058, $000000D8, $00000038, $000000B8, $00000078, $000000F8, |92: $00000004, $00000084, $00000044, $000000C4, $00000024, $000000A4, $00000064, $000000E4, |92: $00000014, $00000094, $00000054, $000000D4, $00000034, $000000B4, $00000074, $000000F4, |92: $0000000C, $0000008C, $0000004C, $000000CC, $0000002C, $000000AC, $0000006C, $000000EC, |92: $0000001C, $0000009C, $0000005C, $000000DC, $0000003C, $000000BC, $0000007C, $000000FC, |92: $00000002, $00000082, $00000042, $000000C2, $00000022, $000000A2, $00000062, $000000E2, |92: $00000012, $00000092, $00000052, $000000D2, $00000032, $000000B2, $00000072, $000000F2, |92: $0000000A, $0000008A, $0000004A, $000000CA, $0000002A, $000000AA, $0000006A, $000000EA, |92: $0000001A, $0000009A, $0000005A, $000000DA, $0000003A, $000000BA, $0000007A, $000000FA, |92: $00000006, $00000086, $00000046, $000000C6, $00000026, $000000A6, $00000066, $000000E6, |92: $00000016, $00000096, $00000056, $000000D6, $00000036, $000000B6, $00000076, $000000F6, |92: $0000000E, $0000008E, $0000004E, $000000CE, $0000002E, $000000AE, $0000006E, $000000EE, |92: $0000001E, $0000009E, $0000005E, $000000DE, $0000003E, $000000BE, $0000007E, $000000FE, |92: $00000001, $00000081, $00000041, $000000C1, $00000021, $000000A1, $00000061, $000000E1, |92: $00000011, $00000091, $00000051, $000000D1, $00000031, $000000B1, $00000071, $000000F1, |92: $00000009, $00000089, $00000049, $000000C9, $00000029, $000000A9, $00000069, $000000E9, |92: $00000019, $00000099, $00000059, $000000D9, $00000039, $000000B9, $00000079, $000000F9, |92: $00000005, $00000085, $00000045, $000000C5, $00000025, $000000A5, $00000065, $000000E5, |92: $00000015, $00000095, $00000055, $000000D5, $00000035, $000000B5, $00000075, $000000F5, |92: $0000000D, $0000008D, $0000004D, $000000CD, $0000002D, $000000AD, $0000006D, $000000ED, |92: $0000001D, $0000009D, $0000005D, $000000DD, $0000003D, $000000BD, $0000007D, $000000FD, |92: $00000003, $00000083, $00000043, $000000C3, $00000023, $000000A3, $00000063, $000000E3, |92: $00000013, $00000093, $00000053, $000000D3, $00000033, $000000B3, $00000073, $000000F3, |92: $0000000B, $0000008B, $0000004B, $000000CB, $0000002B, $000000AB, $0000006B, $000000EB, |92: $0000001B, $0000009B, $0000005B, $000000DB, $0000003B, $000000BB, $0000007B, $000000FB, |92: $00000007, $00000087, $00000047, $000000C7, $00000027, $000000A7, $00000067, $000000E7, |92: $00000017, $00000097, $00000057, $000000D7, $00000037, $000000B7, $00000077, $000000F7, |92: $0000000F, $0000008F, $0000004F, $000000CF, $0000002F, $000000AF, $0000006F, $000000EF, |94: $0000001F, $0000009F, $0000005F, $000000DF, $0000003F, $000000BF, $0000007F, $000000FF ); |2: |0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|24: onResult:THI_Event;|51: procedure doInput(var Data:TData; Index:word);|5: end;|0:|14:implementation|0:|30:procedure THiAsmClass.doInput;|5:begin|55: _hi_onEvent(onResult, ReverseTable[ToInteger(Data)]);|4:end;|0:|4:end.| }
|