Вверх ↑
Ответов: 1133
Рейтинг: 81
#1: 2011-02-07 23:53:54 ЛС | профиль | цитата
Solid писал(а):
2. Я не нашел где он сравнивает хеш сумму файлов со списком

вот здесь:
code_22466.txt
Solid писал(а):
Как я понял каждый файл тоже запакован отдельно

ДА...

Здесь идет загрузка файла:

Add(MainForm,2953706,378,259)
{
}
Add(HTTP_Get,13142930,462,233)
{
Wait=0
link(onStatus,4306622:doEvent1,[])
link(onDownload,13136775:doEvent1,[(504,246)(504,309)])
}
Add(StrCat,2048370,378,184)
{
link(onStrCat,16175694:doEvent1,[])
}
Add(ZLIB,13547628,574,296)
{
link(onStream,2338735:doEvent1,[])
}
Add(FileStream,6242335,693,289)
{
Mode=1
AutoCopy=0
Point(doCopyFromStream)
link(FileName,16171936:Var2,[])
}
Add(Hub,2338735,623,296)
{
link(onEvent1,15785818:doPart,[(647,302)(647,253)])
link(onEvent2,6242335:doCopyFromStream,[])
}
Add(Dir,3270630,763,247)
{
}
Add(FilePart,15785818,658,247)
{
link(onPath,11478614:doStrCat,[])
link(FileName,16171936:Var1,[(664,235)])
}
Add(StrCat,11478614,707,247)
{
link(onStrCat,3270630:doDir,[])
link(Str1,3270630:CurrentDir,[(713,235)(753,235)(753,293)(769,293)])
}
Add(Hub,13136775,539,303)
{
OutCount=3
link(onEvent1,13547628:doDeCompress,[])
}
Add(Hub,4306622,525,233)
{
OutCount=4
}
Add(GetDataEx,16171936,693,230)
{
link(Data,1477029:Var,[(699,212)(704,212)])
}
Add(Hub,16175694,420,184)
{
OutCount=5
link(onEvent3,13142930:GetURLSize,[(449,204)(449,253)])
link(onEvent5,13142930:doDownload,[(444,218)(444,239)])
}
Add(InfoTip,11764790,364,140)
{
Info=#29:Формирование URL для загрузки|
Width=78
Height=88
}
Add(PointHint,1477029,609,161)
{
Info=#33:Формирование путей для сохранения|
Width=190
}


Етих двух кусков хватает (после небольшой доработки)чтобы скачать обновление, почти все остальное токо для визуализации всего происходящего.
------------ Дoбавленo в 23.58:
Ну что же, засиделся я в етом топике.
Вот Вам кастрированная но рабочая прога "MiniHiUpdate". Думаю с етим Вы уже сможете справится

Add(MainForm,5561604,252,135)
{
Left=20
Top=105
Width=363
Height=125
Caption="HiAsm online update"
Point(Width)
Point(onResize)
link(onResize,12237195:doWork1,[(292,162)(292,141)])
}
Add(ChildPanel,12237195,301,135)
{
@Hint=#9:Top panel|
link(onEvent1,14306106:doStrCat,[])
}
BEGIN_SDK
Add(EditMulti,3396886,7,7)
{
EventCount=1
WorkCount=1
VarCount=2
Width=279
Height=179
link(doWork1,15610024:doResize,[(14,13)(14,27)])
link(Var2,16237997:Result,[(20,140)(139,140)])
}
Add(Panel,632427,91,21)
{
Width=355
Height=30
Align=2
BevelInner=0
Point(doColor)
}
Add(Edit,800876,133,21)
{
Left=65
Top=5
Width=285
Layout="top_panel"
WidthScale=100
Text="http://hiasm.com"
}
Add(StrCat,16237997,133,63)
{
Str2="/hi_zvcs/"
link(onStrCat,3396886:onEvent1,[(173,69)(173,13)])
link(Str1,800876:Text,[])
}
Add(HBoxLayout,15610024,49,21)
{
Name="top_panel"
Space=3
Padding=5
}
Add(Button,3490777,91,63)
{
Left=5
Top=5
TabOrder=-1
Layout="top_panel"
Caption="Update"
link(onClick,16237997:doStrCat,[])
}
END_SDK
Add(HTTP_Get,16180479,385,135)
{
link(onDownload,9579638:doDeCompress,[])
link(onStop,3137198:doEvent1,[(450,162)(450,183)])
}
Add(Convertor,7093061,476,135)
{
Mode=11
link(onResult,16036371:doText,[])
}
Add(StrList,16036371,525,114)
{
FileName="хеш"
}
Add(ZLIB,9579638,434,135)
{
link(onStream,7093061:doConvert,[])
}
Add(HubEx,4628014,721,212)
{
link(onEvent,13501557:doFileHashsum,[])
}
Add(StrPart,13624185,588,212)
{
Char=" "
Point(Left)
Point(Right)
link(onSplit,15275704:doCase,[])
}
Add(Hashsum,13501557,749,205)
{
link(onResult,2944035:doCompare,[])
}
Add(If_else,2944035,798,205)
{
link(onFalse,2048370:doStrCat,[(842,218)(842,267)(275,267)(275,316)])
link(Op2,13624185:Left,[(811,189)(732,189)(732,256)(594,256)])
}
Add(ArrayEnum,7302725,539,212)
{
Type=1
link(onItem,13624185:doSplit,[])
link(onEndEnum,14565385:doOn,[(580,225)(580,414)(422,414)(422,447)])
link(Array,16036371:Array,[])
}
Add(IndexToChanel,11053661,679,219)
{
Point(Index)
link(onEvent2,4628014:doWork3,[(725,232)])
link(Index,12237195:Var1,[(685,175)(307,175)])
}
Add(Hub,3137198,483,177)
{
link(onEvent2,7302725:doEnum,[(518,190)(518,218)])
}
Add(Case,15275704,630,212)
{
Value=String(HiUpdate.sha)
link(onNextCase,4628014:doWork2,[])
link(onTrue,11053661:doEvent,[])
}
Add(StrCat,14306106,343,135)
{
Str2="hashed.txt"
link(onStrCat,16180479:doDownload,[])
}
Add(HTTP_Get,13142930,371,359)
{
Wait=0
link(onStatus,4906143:doProcessMessages,[(422,365)(422,330)])
link(onDownload,13136775:doEvent1,[])
link(onStop,14546572:doOff,[(419,386)(419,391)])
}
Add(StrCat,2048370,287,310)
{
link(onStrCat,16175694:doEvent1,[])
link(Str1,12237195:Var2,[(293,238)(314,238)])
link(Str2,10224950:Var1,[(300,277)])
}
Add(ZLIB,13547628,525,359)
{
link(onStream,2338735:doEvent1,[])
}
Add(FileStream,6242335,644,352)
{
Mode=1
AutoCopy=0
Point(doCopyFromStream)
link(FileName,16171936:Var2,[])
}
Add(Hub,2338735,574,359)
{
link(onEvent1,15785818:doPart,[(598,365)(598,316)])
link(onEvent2,6242335:doCopyFromStream,[])
}
Add(Dir,3270630,714,310)
{
}
Add(FilePart,15785818,609,310)
{
link(onPath,11478614:doStrCat,[])
link(FileName,16171936:Var1,[(615,298)])
}
Add(StrCat,11478614,658,310)
{
link(onStrCat,3270630:doDir,[])
link(Str1,3270630:CurrentDir,[(664,298)(704,298)(704,356)(720,356)])
}
Add(Hub,13136775,490,366)
{
OutCount=3
link(onEvent1,13547628:doDeCompress,[])
}
Add(GetDataEx,16171936,644,293)
{
link(Data,10224950:Var3,[(650,277)])
}
Add(Hub,16175694,329,310)
{
OutCount=5
link(onEvent2,14546572:doOn,[(389,323)(389,398)])
link(onEvent3,13142930:GetURLSize,[(358,330)(358,379)])
link(onEvent5,13142930:doDownload,[(353,344)(353,365)])
}
Add(GetDataEx,10224950,595,272)
{
link(Data,13624185:Right,[])
}
Add(LED,14565385,434,427)
{
Left=10
Top=60
Width=20
Height=20
ColorOn=65280
}
Add(LED,14546572,434,378)
{
Left=10
Top=35
Width=20
Height=20
ColorOn=65280
}
Add(Label,16181518,252,182)
{
Left=35
Top=40
Width=29
Height=17
Caption="State"
}
Add(Label,1662814,252,210)
{
Left=35
Top=65
Width=43
Height=17
Caption="Finished"
}
Add(Application,4906143,427,324)
{
Wait=1
}


карма: 2

0
файлы: 1code_22466.txt [2.7KB] [231]