Make(delphi) Add(MainForm,5561604,35,112) { Left=20 Top=105 Width=279 Height=203 Caption="HiAsm online update" BorderStyle=1 WindowsState=1 Point(Width) Point(onResize) link(onCreate,9986156:Start,[]) } Add(MultiElementEx,9986156,84,126) { @Hint=#43:Чтение списка файлов и их контрольных сумм | link(onStop,11319081:doEnum,[]) } BEGIN_SDK Add(EditMultiEx,13606272,21,21) { WorkCount=#19:Start=начало работы| EventCount=#24:onStop=Закачка завершена| VarCount=#37:Result=http://hiasm.narod.ru/hi_zvcs/|57:Array=список файлов для обновления с контрольными суммами| Width=321 Height=123 link(Start,16237997:doStrCat,[(35,27)(35,76)]) link(Result,16237997:Result,[(27,114)(55,114)]) link(Array,16036371:Array,[(34,123)(314,123)]) } Add(HTTP_Get,16180479,147,70) { link(onDownload,9579638:doDeCompress,[]) link(onStop,13606272:onStop,[(187,97)(187,27)]) } Add(Convertor,7093061,245,70) { Mode=11 link(onResult,16036371:doText,[]) } Add(StrCat,13715317,98,70) { Str2="hashed.txt" link(onStrCat,16180479:doDownload,[]) } Add(StrList,16036371,294,49) { } Add(StrCat,16237997,49,70) { Str1="http://hiasm.narod.ru" Str2="/hi_zvcs/" link(onStrCat,13715317:doStrCat,[]) } Add(ZLIB,9579638,196,70) { link(onStream,7093061:doConvert,[]) } END_SDK Add(MultiElementEx,2109854,259,126) { @Hint=#27:Создание журнала обновлений| link(onEvent3,5561604:doClose,[(302,132)(302,105)(23,105)(23,139)]) link(onEnd,12840350:doStrCat,[(304,139)(304,234)(68,234)(68,195)]) link(Str,6645177:Var3,[(265,121)(225,121)(225,177)]) } BEGIN_SDK Add(EditMultiEx,5159258,21,67) { WorkCount=#8:doEvent1|9:doEvent11|16:doCopyFromStream| EventCount=#8:onEvent3|5:onEnd| DataCount=#3:Str|4:Str2| Height=333 link(doEvent1,6187730:doEvent1,[(131,73)(131,220)]) link(doEvent11,1959586:doEvent1,[(35,80)(35,192)]) link(doCopyFromStream,6242335:doCopyFromStream,[(70,87)(70,374)]) } Add(StrCat,14996553,210,137) { Str2=".txt" link(Str1,12591192:FormatTime,[]) } Add(Hub,6187730,140,214) { OutCount=3 link(onEvent1,14996553:doStrCat,[(195,220)(195,143)]) link(onEvent2,7271874:doSave,[]) link(onEvent3,5159258:onEvent3,[(250,234)(250,73)]) } Add(Hub,1959586,49,186) { link(onEvent1,7271874:doAdd,[]) link(onEvent2,10243851:doString,[(89,199)(89,311)]) } Add(StrList,7271874,203,186) { link(Str,2182870:Var3,[(209,181)]) link(FileName,14996553:Result,[]) } Add(Dir,14792488,105,249) { } Add(FilePart,6224521,168,305) { link(onPath,11138793:doDir,[]) } Add(Dir,11138793,231,305) { link(onEnd,5159258:onEnd,[(282,311)(282,80)]) } Add(FormatStr,10243851,105,305) { Mask="%1\%2" Point(FString) link(onFString,6224521:doPart,[]) link(Str1,14792488:CurrentDir,[]) link(Str2,2182870:Var1,[(118,181)]) } Add(Time,12591192,210,81) { Format="YMD_hm" } Add(FileStream,6242335,105,354) { Mode=1 AutoCopy=0 Point(doCopyFromStream) link(FileName,10243851:FString,[]) } Add(GetDataEx,2182870,140,172) { link(Data,5159258:Str,[(153,139)(27,139)]) } END_SDK Add(MultiElementEx,12840350,84,189) { link(onStatus,5561604:doCaption,[(129,195)(129,244)(27,244)(27,118)]) link(onStream,2109854:doCopyFromStream,[(250,202)(250,146)]) link(Str1,9986156:Result,[]) link(Str2,6645177:Var1,[(97,177)]) } BEGIN_SDK Add(EditMultiEx,11344684,21,21) { WorkCount=#8:doStrCat| EventCount=#8:onStatus|8:onStream| DataCount=#4:Str1|4:Str2| Width=328 Height=277 link(doStrCat,13814374:doEvent1,[(25,27)(25,125)]) } Add(HTTP_Get,13142930,203,217) { Wait=0 link(onStatus,11344684:onStatus,[(275,223)(275,27)]) link(onDownload,13547628:doDeCompress,[]) } Add(StrCat,2048370,119,217) { link(onStrCat,13142930:doDownload,[]) link(Str1,11344684:Str1,[(125,35)(27,35)]) link(Str2,16739178:Var2,[]) } Add(ZLIB,13547628,266,217) { link(onStream,11344684:onStream,[(306,223)(306,34)]) } Add(FileTools,2007639,203,126) { link(FileName,16739178:Var3,[(209,114)]) link(NewFileName,3174402:Result,[]) } Add(StrPart,14766024,161,56) { Char="." link(onPart,3174402:doStrCat,[]) link(Str,1229262:Var3,[(167,44)]) } Add(GetDataEx,1229262,119,35) { link(Data,11344684:Str2,[(132,30)(34,30)]) } Add(StrCat,3174402,210,63) { Str2=".old" } Add(GetDataEx,16739178,119,105) { link(Data,1229262:Var2,[]) } Add(Hub,13814374,35,119) { OutCount=3 link(onEvent1,14766024:doSplit,[(95,125)(95,62)]) link(onEvent2,2007639:doMove,[]) link(onEvent3,2048370:doStrCat,[(93,139)(93,223)]) } END_SDK Add(InfoTip,608644,28,14) { Info=#9:Внимание!|156:Программа предназначена только для опытных пользователей! Во избежание проблем, связанных с её применением рекомендуется делать резервные копии файлов HiAsm| Width=267 Height=67 } Add(MultiElementEx,11319081,175,126) { @Hint=#22:Перебор списка файлов |27:и проверка контрольных сумм| link(onEndEnum,2109854:doEvent1,[]) link(onFalse,2109854:doEvent11,[]) link(Array,9986156:Array,[(181,114)(139,114)(139,170)(97,170)]) } BEGIN_SDK Add(EditMultiEx,703019,21,21) { WorkCount=#28:doEnum=Начать перебор списка| EventCount=#33:onEndEnum=Перебор списка закончен|29:onFalse=Hash-суммы не совпали| VarCount=#25:Value=путь с именем файла| DataCount=#16:Array=на список | Height=109 link(doEnum,15352803:doEnum,[(35,27)(35,55)]) link(Value,14575946:Right,[(27,98)(111,98)]) } Add(ArrayEnum,15352803,49,49) { link(onItem,14575946:doSplit,[]) link(onEndEnum,703019:onEndEnum,[(92,62)(92,27)]) link(Array,703019:Array,[(55,35)(27,35)]) } Add(StrPart,14575946,98,49) { Char=" " Point(Left) Point(Right) link(onSplit,14830115:doFileHashsum,[]) } Add(Hashsum,14830115,154,42) { link(onResult,4562575:doCompare,[]) } Add(If_else,4562575,210,42) { link(onFalse,703019:onFalse,[(304,55)(304,34)]) link(Op2,14575946:Left,[(223,30)(196,30)(196,88)(104,88)]) } END_SDK Add(GetDataEx,6645177,168,168) { link(Data,11319081:Value,[]) }