Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Как скачать файл и распаковать его

Страниц (8): « 1 2 3 4 5 [6] 7 8 »
 

51. Dantes3000 - 16 Апреля, 2021 - 08:22:44 - перейти к сообщению
ivantu , он полтора мб весит. можно в ехе запаковать
52. ivantu - 16 Апреля, 2021 - 12:25:20 - перейти к сообщению
я пытаюсь exe облегчить убрав из него используемые dll, которые будут подгружаться, а тут получается опять что то запихивать в ресурс... какой то замкнутый круг ))
53. Kibor - 16 Апреля, 2021 - 12:32:54 - перейти к сообщению
 ivantu пишет:
я пытаюсь exe облегчить убрав из него используемые dll, которые будут подгружаться

Зачем?
Сколько exe весит с dll?
Подгружать имеет смысл только если планируется что то динамично менять, без презагрузки exe.

Можно применить костыль.
С папки Python что в Киборе все удалить.
Кинуть в нее все что надо запаковать.
Собрать exe с упаковкой питона в него.
В этом случае Кибор упакует в exe все файлы с папки Pyrhon, но при этом сожмет их как винраром.
При запуске exe он создаст папку Python и туда все распакует. С этой папки можно юзать эти dll.
Тема(для просмотра ссылки Вам необходимо авторизоваться)
54. ivantu - 16 Апреля, 2021 - 12:39:25 - перейти к сообщению
 Kibor пишет:
Можно применить костыль.

Спасибо, посмотрю что там как...
(Добавление)
Владимир, я вот заметил у вас update.exe подгружается если его удалить, вот и я так же хотел, только мне приходится его в архив совать , т.к. там пару строк кода а весит 5mb, или у вас он в ресурсах тоже хранится?
55. Kibor - 16 Апреля, 2021 - 14:23:38 - перейти к сообщению
 ivantu пишет:
или у вас он в ресурсах тоже хранится?

Нет. Скачивается. Можно все удалить оставив только Кибор и все скачается. Так же обновляется если на сервере другой размер файла.
56. Zireael - 16 Апреля, 2021 - 20:08:08 - перейти к сообщению
 Цитата:
может еще есть какие то варианты?

Сохранить скрипт в файл zip.vbs и закинуть в папку с кибор:
CODE:
Set objArgs = WScript.Arguments
ZipFile = objArgs(0)
ExtractTo = objArgs(1)

Set fso = CreateObject("Scripting.FileSystemObject")
If NOT fso.FolderExists(ExtractTo) Then
fso.CreateFolder(ExtractTo)
End If

set objShell = CreateObject("Shell.Application")
set FilesInZip=objShell.NameSpace(ZipFile).items
objShell.NameSpace(ExtractTo).CopyHere(FilesInZip)
Set fso = Nothing
Set objShell = Nothing

Использование в кибор:
CODE:
#define SW_HIDE 0
external(INT, "ShellExecute", "ShellExecuteA", "Shell32.dll");

string zip_vbs = pathfolder()+"zip.vbs"; // путь к файлу zip.vbs
string zip_file = "D:\Kibor\templates.zip"; // путь к архиву
string output = "C:\new_folder\"; // куда распаковать
ShellExecute(0, "open", "cmd.exe", "/C cscript "+" "+zip_vbs+" "+zip_file+" "+output, "", SW_HIDE);
57. Zireael - 17 Апреля, 2021 - 10:39:06 - перейти к сообщению
 Цитата:
zip.vbs

Если нужно чтобы не появлялось окно с вопросом заменять файлы или нет, то заменить строку:
 Цитата:
CopyHere(FilesInZip)

на:
CODE:
CopyHere FilesInZip, 16
58. ivantu - 17 Апреля, 2021 - 13:53:06 - перейти к сообщению
спасибо большое, буду пробовать, странно что Кибор не вводит такую функцию, по работе с архивами, полезно же...
59. ivantu - 19 Апреля, 2021 - 00:39:02 - перейти к сообщению
А подскажите пожалуйста, можно ли как то узнать разархивировалось или нет?
Т.е. ждать пока не разархивируется.
60. Zireael - 19 Апреля, 2021 - 03:04:07 - перейти к сообщению
 Цитата:
ждать пока не разархивируется.

vbs скрипт (Отобразить)

Использование в кибор:
CODE:
string zip_vbs = pathfolder()+"zip.vbs"; // путь к файлу zip.vbs
string zip_file = "D:\Kibor\templates.zip"; // путь к архиву
string output = "C:\new_folder\"; // куда распаковать

if (createpipeprocess("cscript.exe "+zip_vbs+" /^/Nologo "+zip_file+" "+output))
{
waitpipe();//Ждем пока появятся данные
closepipeprocess();
}

Powered by ExBB FM 1.0 Final