Make(delphi) ver(4.04 build 185) Add(MainForm,7547828,21,49) { Left=20 Top=105 Width=477 Height=250 Caption="Теги M4A" BorderStyle=1 Position=1 } Add(FileStream,1197489,189,56) { Point(doPosition) link(onLoad,6691898:doFor,[(233,62)(233,163)(122,163)(122,237)]) } Add(Button,15643077,63,49) { Left=5 Top=90 Width=100 Caption="Открыть файл" link(onClick,10908022:doEvent1,[]) } Add(ODialog,16608220,133,56) { link(onExecute,1197489:doOpen,[]) } Add(DataToFile,16446163,189,231) { Type=7 link(onGet,3670535:doCompare,[]) link(Stream,6782437:Var2,[]) } Add(For,6691898,140,231) { End=10 link(onEvent,16446163:doGet,[(180,237)(180,244)]) } Add(DoData,2878695,133,119) { Data=Integer(10000) link(onEventData,1197489:doPosition,[(177,125)(177,76)]) AddHint(-16,-22,45,13,Data) } Add(Memo,6266343,1008,112) { Left=115 Width=355 Height=225 Color=0 Font=[MS Sans Serif,10,0,65280,1] } Add(For,15326713,315,259) { End=30000 link(onEvent,9004285:doGet,[(355,265)(355,272)]) AddHint(-5,-28,45,13,End) } Add(DataToFile,9004285,364,259) { Type=7 link(onGet,15478594:doCompare,[]) link(Stream,6782437:Var3,[(370,215)]) } Add(GetDataEx,6782437,189,210) { link(Data,1197489:Stream,[]) } Add(StrMask,3670535,231,231) { @Hint=#50:Проверяем на соответствие заголовка формату MPEG-4| Mask="*ftypmp42*" link(onTrue,599554:doEvent1,[]) AddHint(-65,-57,163,26,@Hint) } Add(StrMask,15420965,532,42) { Mask="*©alb*" link(onFalse,7829068:doEvent,[(575,48)(575,104)]) link(onTrue,5175307:doData,[]) AddHint(-6,-26,46,13,Mask) } Add(Charset,2390663,868,112) { Type=7 link(onCharset,13555706:doStrCat,[]) link(Text,787463:Value,[]) } Add(Hub,599554,280,238) { link(onEvent1,2878695:doData,[(304,244)(304,156)(122,156)(122,125)]) link(onEvent2,15326713:doFor,[(304,251)(304,265)]) } Add(Memory,12922055,644,49) { Default=Integer(0) link(onData,8637375:doReset,[(726,55)(726,125)]) } Add(IndexToChanel,7829068,644,98) { Point(Index) link(onEvent2,7180780:doEvent1,[]) link(Index,12922055:Value,[]) } Add(DoData,5175307,588,49) { Data=Integer(1) link(onEventData,12922055:doValue,[]) } Add(If_else,15478594,406,259) { @Hint=#24:Пропускаем пустые строки| Type=5 link(onTrue,6318139:doEvent1,[(467,265)(467,48)]) AddHint(-33,-27,155,13,@Hint) } Add(StrCat,13555706,910,112) { Str1="Альбом - " link(onStrCat,2910270:doWork2,[]) AddHint(0,-26,63,13,Str1) } Add(CounterEx,8637375,735,112) { Point(doReset) link(onNext,7406057:doCompare,[]) } Add(If_else,7406057,784,112) { Op2=Integer(3) link(onTrue,16174236:doEvent1,[]) AddHint(15,-23,21,13,Op2) } Add(Memory,787463,868,63) { } Add(Hub,16174236,833,112) { link(onEvent1,2390663:doCharset,[]) link(onEvent2,12922055:doClear,[(859,125)(859,41)(633,41)(633,62)]) } Add(Hub,7180780,693,105) { link(onEvent1,787463:doValue,[(719,111)(719,69)]) link(onEvent2,8637375:doNext,[]) } Add(Hub,6318139,490,42) { OutCount=4 link(onEvent1,15420965:doCompare,[]) link(onEvent2,6974577:doCompare,[(518,55)(518,160)]) link(onEvent3,13625142:doCompare,[(518,62)(518,272)]) link(onEvent4,1955953:doCompare,[(518,69)(518,384)]) } Add(StrMask,6974577,532,154) { Mask="*©art*" link(onFalse,1427179:doEvent,[(575,160)(575,216)]) link(onTrue,1161655:doData,[]) AddHint(-6,-26,44,13,Mask) } Add(Charset,4576215,868,224) { Type=7 link(onCharset,7560357:doStrCat,[]) link(Text,9204897:Value,[]) } Add(Memory,1329111,644,161) { Default=Integer(0) link(onData,5690383:doReset,[(726,167)(726,237)]) } Add(IndexToChanel,1427179,644,210) { Point(Index) link(onEvent2,3014482:doEvent1,[]) link(Index,1329111:Value,[]) } Add(DoData,1161655,588,161) { Data=Integer(1) link(onEventData,1329111:doValue,[]) } Add(StrCat,7560357,910,224) { Str1="Артист - " link(onStrCat,1264644:doWork2,[]) AddHint(0,-26,59,13,Str1) } Add(CounterEx,5690383,735,224) { Point(doReset) link(onNext,5612791:doCompare,[]) } Add(If_else,5612791,784,224) { Op2=Integer(3) link(onTrue,7125673:doEvent1,[]) AddHint(15,-23,21,13,Op2) } Add(Memory,9204897,868,175) { } Add(Hub,7125673,833,224) { link(onEvent1,4576215:doCharset,[]) link(onEvent2,1329111:doClear,[(859,237)(859,153)(633,153)(633,174)]) } Add(Hub,3014482,693,217) { link(onEvent1,9204897:doValue,[(719,223)(719,181)]) link(onEvent2,5690383:doNext,[]) } Add(StrMask,13625142,532,266) { Mask="*©nam*" link(onFalse,10487452:doEvent,[(575,272)(575,328)]) link(onTrue,16101012:doData,[]) AddHint(-6,-26,52,13,Mask) } Add(Charset,7311756,868,336) { Type=7 link(onCharset,4875539:doStrCat,[]) link(Text,10754878:Value,[]) } Add(Memory,16393134,644,273) { Default=Integer(0) link(onData,6860480:doReset,[(726,279)(726,349)]) } Add(IndexToChanel,10487452,644,322) { Point(Index) link(onEvent2,11755564:doEvent1,[]) link(Index,16393134:Value,[]) } Add(DoData,16101012,588,273) { Data=Integer(1) link(onEventData,16393134:doValue,[]) } Add(StrCat,4875539,910,336) { Str1="Название - " link(onStrCat,5602140:doWork2,[]) AddHint(0,-26,74,13,Str1) } Add(CounterEx,6860480,735,336) { Point(doReset) link(onNext,7376167:doCompare,[]) } Add(If_else,7376167,784,336) { Op2=Integer(3) link(onTrue,6635538:doEvent1,[]) AddHint(15,-23,21,13,Op2) } Add(Memory,10754878,868,287) { } Add(Hub,6635538,833,336) { link(onEvent1,7311756:doCharset,[]) link(onEvent2,16393134:doClear,[(859,349)(859,265)(633,265)(633,286)]) } Add(Hub,11755564,693,329) { link(onEvent1,10754878:doValue,[(719,335)(719,293)]) link(onEvent2,6860480:doNext,[]) } Add(StrMask,1955953,532,378) { Mask="*©day*" link(onFalse,7959933:doEvent,[(575,384)(575,440)]) link(onTrue,14699573:doData,[]) AddHint(-6,-26,49,13,Mask) } Add(Charset,424094,868,448) { Type=7 link(onCharset,8628578:doStrCat,[]) link(Text,2631279:Value,[]) } Add(Memory,14437285,644,385) { Default=Integer(0) link(onData,15901993:doReset,[(726,391)(726,461)]) } Add(IndexToChanel,7959933,644,434) { Point(Index) link(onEvent2,12171833:doEvent1,[]) link(Index,14437285:Value,[]) } Add(DoData,14699573,588,385) { Data=Integer(1) link(onEventData,14437285:doValue,[]) } Add(StrCat,8628578,910,448) { Str1="Год - " link(onStrCat,5602140:doWork3,[(998,454)]) AddHint(0,-26,42,13,Str1) } Add(CounterEx,15901993,735,448) { Point(doReset) link(onNext,913791:doCompare,[]) } Add(If_else,913791,784,448) { Op2=Integer(3) link(onTrue,2282357:doEvent1,[]) AddHint(15,-23,21,13,Op2) } Add(Memory,2631279,868,399) { } Add(Hub,2282357,833,448) { link(onEvent1,424094:doCharset,[]) link(onEvent2,14437285:doClear,[(859,461)(859,377)(633,377)(633,398)]) } Add(Hub,12171833,693,441) { link(onEvent1,2631279:doValue,[(719,447)(719,405)]) link(onEvent2,15901993:doNext,[]) } Add(HubEx,2910270,994,112) { link(onEvent,6266343:doAdd,[]) } Add(HubEx,5602140,994,336) { Angle=3 link(onEvent,1264644:doWork3,[]) } Add(HubEx,1264644,994,224) { Angle=3 link(onEvent,2910270:doWork3,[]) } Add(InfoTip,6874289,98,301) { Info=#112:Для ускорения обработки диапазон зоны поиска сужен с байта 10000 по байт 40000. Этот пункт необходимо уточнить..| Font=[MS Sans Serif,10,0,0,1] HAlign=0 Width=414 Height=39 } Add(Hub,10908022,105,49) { link(onEvent1,4440953:In,[(126,55)(126,41)]) link(onEvent2,16608220:doExecute,[]) } Add(LineBreak,83629,959,119) { Caption="r" link(Out,6266343:doClear,[]) Primary=[4440953,-826,-84] }