Модель консоли: Ps3 Super Slim
Прошивка: HFW 4.85.1
Регистрация: 07.12.2017
Адрес: Ш_56.15273 Д_38.85509
Возраст: 39
Сообщений: 6,114
Вы сказали Спасибо: 3,285
Поблагодарили 1,834 раз(а) в 1,007 сообщениях
Сила репутации: 1Репутация: 1823 
(обеспечено прекрасное будущее)
|
Нашел примерчик, по организации обновления
Код
Add(MainForm,2953706,14,168)
{
link(onCreate,11981941:doStrCat,[])
}
Add(ZLIB,9579638,329,182)
{
@Hint=#21:Так как файл сжатый, |20:то разархивируем его|
link(onStream,7093061:doConvert,[])
AddHint(-47,-42,132,26,@Hint)
}
Add(Convertor,7093061,511,182)
{
@Hint=#26:Преобразуем поток в строку|
Mode=11
link(onResult,377252:doText,[])
AddHint(-75,-56,162,13,@Hint)
}
Add(ListBox,377252,637,161)
{
@Hint=#6:Список|30:Хеш-сумма - пробел - имя файла|
Top=45
Width=380
Height=195
AddHint(-13,-45,166,26,@Hint)
}
Add(ArrayEnum,11715902,266,357)
{
@Hint=#7:Читаем |9:построчно|
link(onItem,1531506:doSplit,[])
link(Array,377252:Array,[(272,243)(657,243)])
AddHint(15,-59,57,26,@Hint)
}
Add(StrPart,1531506,378,357)
{
@Hint=#17:Разбиваем строку |14:на хеш-сумму и|9:имя файла|
Char=" "
Point(Left)
Point(Right)
link(onSplit,13501557:doFileHashsum,[])
AddHint(-12,-72,112,39,@Hint)
}
Add(Hashsum,13501557,504,350)
{
@Hint=#18:Получаем хеш-сумму|12:своего файла|
link(onResult,10188270:doCompare,[])
AddHint(-8,-53,122,26,@Hint)
}
Add(If_else,10188270,637,350)
{
@Hint=#21:Сравниваем хеш-суммы.|27:Если не равны, то скачиваем|17:измененный файл |
link(onFalse,141556:doWork,[])
link(Op2,1531506:Left,[(650,338)(425,338)(425,400)(384,400)])
AddHint(0,-65,150,39,@Hint)
}
Add(Edit,10727001,77,119)
{
Left=10
Top=10
Width=150
Text="http://hiasm.com/hi_zvcs"
}
Add(Edit,3624618,133,119)
{
Left=210
Top=10
Width=170
Text="/hashed.txt"
}
Add(StrCat,11981941,91,182)
{
link(onStrCat,14660423:doDownload,[])
link(Str1,6687087:Var3,[(97,166)])
link(Str2,3624618:Text,[(104,166)(139,166)])
}
Add(HTTP_Get,14660423,175,182)
{
@Hint=#24:Получаем информационный |15:файл hashed.txt|26:с сервера http://hiasm.com|18:с каталога hi_zvcs|
link(onDownload,9579638:doDeCompress,[])
link(onStop,11715902:doEnum,[(234,209)(234,363)])
AddHint(-75,-136,161,52,@Hint)
}
Add(StrCat,9582193,119,525)
{
@Hint=#27:Формируем URL для получения|18:обновленного файла|
link(onStrCat,13142930:doDownload,[])
link(Str1,6687087:Var2,[(125,337)(83,337)])
link(Str2,918986:Var1,[(132,439)])
AddHint(-99,52,178,26,@Hint)
}
Add(GetDataEx,6687087,77,161)
{
link(Data,10727001:Text,[])
}
Add(HTTP_Get,13142930,189,525)
{
@Hint=#21:Скачиваем нужный файл|
Wait=0
link(onDownload,13547628:doDeCompress,[])
AddHint(-30,-34,142,13,@Hint)
}
Add(ZLIB,13547628,294,525)
{
@Hint=#21:Так как файл сжатый, |20:то разархивируем его|
link(onStream,6242335:doCopyFromStream,[])
AddHint(-56,48,132,26,@Hint)
}
Add(FileStream,6242335,385,511)
{
@Hint=#22:Сохраняем файл на диск|
Mode=1
AutoCopy=0
Point(doCopyFromStream)
link(FileName,918986:Var2,[])
AddHint(30,60,142,13,@Hint)
}
Add(GetDataEx,918986,385,434)
{
link(Data,1531506:Right,[])
}
Add(InfoTip,3528326,441,448)
{
Info=#53:Если файлы большие, то применение ZLIB ускорит обмен.|45:Если файлы не большие, то ZLIB можно удалить.|
Font=[MS Sans Serif,8,1,255,1]
HAlign=0
Width=379
Height=46
Margin=10
}
Add(Check,141556,686,357)
{
Check=1
link(onEvent,9582193:doStrCat,[(759,363)(759,410)(107,410)(107,531)])
}
P.S немного помудрил
Код
Make(delphi)
ver(4.05 build 186)
Add(MainForm,2953706,21,105)
{
Width=828
Height=290
}
Add(Button,11516016,224,280)
{
Left=15
Top=200
Width=755
Caption="Проверить"
link(onClick,3913141:doEvent1,[])
}
Add(Edit,1898492,539,294)
{
Left=15
Top=135
Width=345
Text=""
link(onChange,8754977:doEvent1,[])
}
Add(HTTP_Get,14660423,392,280)
{
@Hint=#24:Получаем информационный |15:файл hashed.txt|26:с сервера http://hiasm.com|18:с каталога hi_zvcs|
link(onURLSize,13501557:doHashsum,[])
AddHint(-68,-136,161,52,@Hint)
}
Add(Edit,13497709,322,217)
{
Left=20
Top=80
Width=755
Text="https://raw.githubusercontent.com/nikolaevich23/make-pkg-bat/master/30/beta-30.7z"
}
Add(DoData,6961454,322,280)
{
link(onEventData,14660423:GetURLSize,[(373,286)(373,300)])
link(Data,13497709:Text,[])
}
Add(Hashsum,13501557,469,294)
{
@Hint=#18:Получаем хеш-сумму|12:своего файла|
link(onResult,1898492:doText,[])
AddHint(-45,-58,122,26,@Hint)
}
Add(If_else,7773263,679,301)
{
link(onTrue,10077803:doMessage,[(741,307)(741,279)])
link(onFalse,14362227:doMessage,[(741,314)(741,335)])
link(Op2,15380576:Result,[])
}
Add(Dir,11863543,686,161)
{
}
Add(StrCat,15380576,686,217)
{
Str2="beta-30.7z"
link(onStrCat,11049083:doHashsum,[])
link(Str1,11863543:CurrentDir,[])
}
Add(Hub,8754977,588,294)
{
link(onEvent1,15380576:doStrCat,[(640,300)(640,223)])
link(onEvent2,7773263:doCompare,[])
}
Add(Message,10077803,770,273)
{
Message="Хеш сумму равны!"
}
Add(Message,14362227,770,329)
{
Message="Хеш суммы не равны"
}
Add(Hashsum,11049083,749,217)
{
@Hint=#18:Получаем хеш-сумму|12:своего файла|
link(onResult,10894363:doText,[])
AddHint(-52,-107,122,26,@Hint)
}
Add(Edit,10894363,812,217)
{
Left=15
Top=160
Width=345
Text=""
}
Add(Label,8277374,924,126)
{
Left=375
Top=140
Width=93
Height=17
Caption="Файл на сервере"
}
Add(Label,6885566,924,168)
{
Left=380
Top=165
Width=66
Height=17
Caption="Файл на ПК"
}
Add(Edit,16141987,588,609)
{
Left=490
Top=135
Width=285
Text=""
}
Add(Edit,3553362,739,607)
{
Left=490
Top=160
Width=285
Text=""
link(Str,5395122:FileSize,[(745,596)(741,596)])
}
Add(HTTP_Get,7675330,455,595)
{
@Hint=#24:Получаем информационный |15:файл hashed.txt|26:с сервера http://hiasm.com|18:с каталога hi_zvcs|
link(onURLSize,16141987:doText,[])
AddHint(-69,-120,161,52,@Hint)
}
Add(Edit,10637828,364,546)
{
Left=20
Top=80
Width=750
Text="https://raw.githubusercontent.com/nikolaevich23/make-pkg-bat/master/30/beta-30.7z"
}
Add(DoData,5260467,364,609)
{
link(onEventData,7675330:GetURLSize,[])
link(Data,10637828:Text,[])
}
Add(Hub,3913141,280,280)
{
link(onEvent1,6961454:doData,[])
link(onEvent2,11837970:doEvent1,[(312,293)(312,615)])
}
Add(FileAttributes,5395122,714,553)
{
Point(FileSize)
link(onRead,3553362:doText,[(758,559)(758,586)(727,586)(727,613)])
}
Add(Dir,15152328,651,497)
{
}
Add(StrCat,7947497,651,553)
{
Str2="beta-30.7z"
link(onStrCat,5395122:doRead,[])
link(Str1,15152328:CurrentDir,[])
}
Add(Hub,11837970,329,609)
{
OutCount=3
link(onEvent1,5260467:doData,[])
link(onEvent2,7947497:doStrCat,[(519,622)(519,559)])
link(onEvent3,5685875:doCompare,[(507,629)(507,685)])
}
Add(If_else,5685875,672,679)
{
link(onTrue,277820:doMessage,[(744,685)(744,671)])
link(onFalse,15429536:doMessage,[(744,692)(744,727)])
link(Op1,16141987:Text,[(678,660)(594,660)])
link(Op2,3553362:Text,[(685,659)(745,659)])
}
Add(Message,277820,784,665)
{
Message="Размер одинаковый!"
}
Add(Message,15429536,784,721)
{
Message="Размер разный!"
}
Можно производить сравнение по хеш-сумме, или размеру файла.
Правда с хеш-суммой, что то не то 
Пример на 3.0 запакованной (beta-30.7z), один файл на сервере, другой (уже скачанный) рядом с программой.
Последний раз редактировалось BaseD; 24.10.2018 в 17:53.
|