ОБНОВЛЕНИЕ ПРОГРАММ
|
|
as-master | Дата: Вторник, 27 Марта 2007, 08:56 | Сообщение # 1 |
Группа: Удаленные
| Я совсем уже обнаглел. Понимаю Но всё-таки давайте обсудим - тема уж больно интересная. Для начала про загрузку обновлений говорить не станем - только про проверку. Представим себе, что наша программа, как в лучших домах Лондона, соединяется с неким URL, находит там нечто (ЧТО? - х.з.) и на основании этого нечто сообщает вам: доступно обновление, версия такая-то, дата такая-то, размер обновлений такой-то. Есть у кого-нибудь идеи? PS. Сейчас придет Yuriy и скажет: "Могу модуль написать" :)
|
|
| |
Omar | Дата: Вторник, 27 Марта 2007, 12:34 | Сообщение # 2 |
Группа: Удаленные
| Я так понимаю это для тех проектов, которые сделаны на MMB. Я конечно новичок, но по моему без плагина или модуля здесь не обойтись. Юра, Дима ааааууууууу.
|
|
| |
Mangoz | Дата: Вторник, 27 Марта 2007, 14:58 | Сообщение # 3 |
Ветеран форума
Группа: Проверенные
Сообщений: 215
Репутация: 1
Награды: 2
Статус: Offline
| Автор данного сайта http://jcp.narod.ru/projects/index.html#radio Разработал Радиоприёмник, если я не ошибаюсь у него же и автообновление проги... Может у него спросить, как он это делает? Точно не помню, вроде было у него обновление в проге!?
MMB. Найдём всё!
|
|
| |
as-master | Дата: Вторник, 27 Марта 2007, 16:42 | Сообщение # 4 |
Группа: Удаленные
| Ну так вот у него на сайте и есть такая приблуда, называется Servant 0.1.0.6, ее функции, в частности: InetGet - получить файл из Сети. InetGetSize - определить размер файла, размещённого в Сети. InetGetShow - получить файл из сети, отображая процесс копирования. http://jcp.narod.ru/projects/servant.htm Молодец мужик - нечего сказать! А тебе, Mangoz, спасибо за наводочку На досуге нужно будет обязательно все внимательно посмотреть.
|
|
| |
YURIY | Дата: Вторник, 27 Марта 2007, 16:55 | Сообщение # 5 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Quote (as-master) | PS. Сейчас придет Yuriy и скажет: "Могу модуль написать" :) | Предлагаю сделать модуль! Всё просто. Например, ты на сайт положил файл http://mmbuilder.ru/update.txt . Он имеет следующий вид (к примеру): 27.03.2007|50 KB|http://mmbuilder/files/update.dat Модуль скачивает этот файл (update.txt) на комп юзера, ты открываешь его с помощью MMB и «расчленяешь» на части (из моего примера видно эти части: дата обновления, размер, ссылка для закачки обновлений). Затем, если обновления у юзера старее, чем на сайте - закачиваешь, опять-таки модулем файл update.dat и заменяешь старый update.dat на новый. Идёт?
Вечная память Андрею Сергееву!
|
|
| |
as-master | Дата: Вторник, 27 Марта 2007, 21:17 | Сообщение # 6 |
Группа: Удаленные
| Quote (Yuriy) | Всё просто. Например, ты на сайт положил файл | Удивительное дело - мы с тобой одинаково думаем! Примерно так я себе и представлял, что прога должна скачиватьтекстовый файл, в котором по строкам или как ты предлагаешь имеется вся инфа об обновлении. А уж на основании её я сделаю без вопросов Только вот мне думалось, что такой простой модуль сделать не так уж и просто Дело в том, что у ДжанКу, как всегда, модуль слишком навороченный, а это как правило не бывает нужным. Так что зачем мне вставлять в проект 150-200 кило, когда можно всего 20. Неужели сделаешь?...
|
|
| |
YURIY | Дата: Среда, 28 Марта 2007, 07:55 | Сообщение # 7 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Quote (as-master) | Неужели сделаешь?... | Раз плюнуть! Вот только прийду с колледжа...
Вечная память Андрею Сергееву!
|
|
| |
as-master | Дата: Среда, 28 Марта 2007, 09:02 | Сообщение # 8 |
Группа: Удаленные
| Мне, как всегда, не горит. Ты знаешь, что я люблю лучше недельку подождать, но зато чтоб работа была доведена до ума.
|
|
| |
JADDGE | Дата: Четверг, 29 Марта 2007, 13:12 | Сообщение # 9 |
Новый участник
Группа: Пользователи
Сообщений: 1
Репутация: 0
Награды: 0
Статус: Offline
| Такая же идея по обновлению программ используется почти во всех программах в том числе Антивирус Касперского:)
|
|
| |
as-master | Дата: Четверг, 29 Марта 2007, 15:56 | Сообщение # 10 |
Группа: Удаленные
| В таком случае проблема лишь одна: скачать из сети нужный нам файлик и скопировать его на диск. А уж на основании вынутой из него инфы наша прога чё угодно скажет и сделает
|
|
| |
YURIY | Дата: Четверг, 29 Марта 2007, 20:56 | Сообщение # 11 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Quote (as-master) | Мне, как всегда, не горит.Ты знаешь, что я люблю лучше недельку подождать,но зато чтоб работа была доведена до ума. | Держи! Пока даю на форуме, в официальном виде не выкладываю, так как у тебя могут быть какие пожелания по улучшению нового модуля. В архиве пример и файл модуля. Последний не забудь внедрить в проект. И ещё: обрати внимание на то, что в поле "Сохранить как" надо писать не папку, куда будет загружен файл, а ещё и его имя! Как в нашем случае - update.txt. Жду!
Вечная память Андрею Сергееву!
|
|
| |
Victor | Дата: Четверг, 29 Марта 2007, 21:59 | Сообщение # 12 |
MMB Club
Группа: Проверенные
Сообщений: 15
Репутация: 1
Награды: 0
Статус: Offline
| Я нашел небольшой недостаток: если попробовать скачать файл в автономном режиме то программа зависает, поэтому неплохо было бы сделать сначала проверку подключения, а уже потом производить закачку.
|
|
| |
as-master | Дата: Пятница, 30 Марта 2007, 07:54 | Сообщение # 13 |
Группа: Удаленные
| Quote (Victor) | неплохо было бы сделать сначала проверку подключения, а уже потом производить закачку | Еще не проверял - с утра на свежую голову. Но с этими словами согласен заочно. Добавлено (30 Марта 2007, 07:54) --------------------------------------------- При наличии коннекта всё работает супер! Сделал кнопку "Проверить обновления" с таким примерно сценарием: param$='HIDE,WAIT '+url$+'#'+save$ Run("<Embedded>\FastUpdating v1.0.exe","param$") Pause("1000") currentver$='1.8' ver$=StrFromFile(save$,1,1) If (ver$<>'') Then If (currentver$=ver$) Then mess$='Ваша версия программы является самой последней версией!' MessageEx("Проверка обновлений","mess$") Else mess$='"Доступна для скачивания версия программы 1.9. Хотите загрузить?",36' MessageEx("Проверка обновлений","mess$") ** Тут еще сценарий недописан... End End Ясно, что в других строках файла пишем информацию о дате и размере файла. Теперь пара вопросов: 1. Может ли качать данный модуль файлы zip-архивов и других расширений? 2. Как узнать, что загрузка файла завершена? Или просто пока она не завершится, скрипт дальше команды Run не пойдет?
|
|
| |
YURIY | Дата: Пятница, 30 Марта 2007, 15:27 | Сообщение # 14 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Quote (Victor) | Я нашел небольшой недостаток: если попробовать скачать файл в автономном режиме то программа зависает, поэтому неплохо было бы сделать сначала проверку подключения, а уже потом производить закачку. | Не будет файла, модуль напишет ошибку. Чтобы программа не висла, нужно убрать параметр WAIT, используемый при запуске модуля. Quote (as-master) | 1. Может ли качать данный модуль файлы zip-архивов и других расширений? | Какие хочешь качай! Quote (as-master) | 2. Как узнать, что загрузка файла завершена? Или просто пока она не завершится,скрипт дальше команды Run не пойдет? | Никак. Вероятнее всего, что скрипт пойдёт дальше после закрытия модуля. Лучше им качать масенькие файлики. Типа как в примере. Пока не могу придумать способ передачи данных из модуля в проект MMB. Хотите, сделаю через реестр. А после завершения модуля удалю запись?
Вечная память Андрею Сергееву!
|
|
| |
as-master | Дата: Пятница, 30 Марта 2007, 15:40 | Сообщение # 15 |
Группа: Удаленные
| Quote (Yuriy) | Не будет файла, модуль напишет ошибку | В смысле, ты уже внедрил в модуль какое-то специфичное сообщение? Какое? Quote (Yuriy) | Лучше им качать масенькие файлики | Само собой. А зип архив можно скачать и такой командой, минуя модуль: Run("http://www.mmbuilder.ru/prog/materialisator.zip","") Quote (Yuriy) | Вероятнее всего, что скрипт пойдёт дальше после закрытия модуля | Ну это-то можно и проверить. Только вот если убрать параметр WAIT, как ты советуешь, то что-нибудь изменится? Quote (Yuriy) | Пока не могу придумать способ передачи данных из модуля в проект MMB | Наверное, это и не нужно...
|
|
| |
toizy | Дата: Пятница, 30 Марта 2007, 18:26 | Сообщение # 16 |
Группа: Удаленные
| Quote (Yuriy) | Пока не могу придумать способ передачи данных из модуля в проект MMB | Сделай в модуле одну экспортируемую функцию, если сможешь. А потом я тебе скажу, что делать.
|
|
| |
YURIY | Дата: Пятница, 30 Марта 2007, 19:28 | Сообщение # 17 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Quote (toizy) | Сделай в модуле одну экспортируемую функцию, если сможешь. | Не сможу... Но видел такие "чудеса", которые возвращают в константу CBK_ReturnVal некоторые значения. А как, я не знаю.
Вечная память Андрею Сергееву!
|
|
| |
toizy | Дата: Пятница, 30 Марта 2007, 20:12 | Сообщение # 18 |
Группа: Удаленные
| Почему? Quote (Yuriy) | Но видел такие "чудеса", которые возвращают в константу CBK_ReturnVal некоторые значения. А как, я не знаю. | С этого места по-подробнее
|
|
| |
YURIY | Дата: Пятница, 30 Марта 2007, 20:16 | Сообщение # 19 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Quote (as-master) | В смысле, ты уже внедрил в модуль какое-то специфичное сообщение?Какое? | В HiAsm они изначально задуманы. Если нет файла - Can't open URL! Если нет связи с инетом - I can not connect to Internet! Если так важно - могу изменить фразы или убрать сообщения вообще. Quote (as-master) | Ну это-то можно и проверить.Только вот если убрать параметр WAIT, как ты советуешь,то что-нибудь изменится? | Посмотрел: будет WAIT или не будет, скрипт сразу после старта закачки (запуска модуля) пойдёт дальше, то есть, фиг узнаешь, когда закончилась закачка. Потому и хорошо качать мелкие файлы - сразу скачаются. Quote (toizy) | Сделай в модуле одну экспортируемую функцию, если сможешь. А потом я тебе скажу, что делать. | На тебя надежда, Дима! Давно хотел передавать в MMB значения! Добавлено (30 Марта 2007, 20:16) ---------------------------------------------
В HiAsm нет такой функции, а сам не умею. Quote (toizy) | С этого места по-подробнее | Приведённый выше Quote (as-master) | Ну так вот у него на сайте и есть такая приблуда,называется Servant 0.1.0.6, | именно так и передаёт значения в MMB.
Вечная память Андрею Сергееву!
|
|
| |
as-master | Дата: Пятница, 30 Марта 2007, 21:17 | Сообщение # 20 |
Группа: Удаленные
| Quote (Yuriy) | о есть, фиг узнаешь, когда закончилась закачка. | Как не узнаешь? А командой FileExist() ? Quote (Yuriy) | Если так важно - могу изменить фразы или убрать сообщения вообще | Переведи на русский, только киррилическим шрифтом плиз! Quote (toizy) | возвращают в константу CBK_ReturnVal | С этим надо НЕПРЕМЕННО разобраться! Что и поручаю вам - Yuriy и toizy.
|
|
| |
YURIY | Дата: Пятница, 30 Марта 2007, 21:25 | Сообщение # 21 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Quote (as-master) | Как не узнаешь? А командой FileExist() ? | Дульки. Файл появляется сразу в момент его закачки.
Вечная память Андрею Сергееву!
|
|
| |
as-master | Дата: Пятница, 30 Марта 2007, 21:36 | Сообщение # 22 |
Группа: Удаленные
| Quote (Yuriy) | Дульки. Файл появляется сразу в момент его закачки | а тогда выдергиваем строку, и если пустая - то значит файл не докачался. И тогда не даем скрипту идти дальше. Но это только для текстовых файлов. На всякий случай, проверочка.
|
|
| |
toizy | Дата: Суббота, 31 Марта 2007, 13:01 | Сообщение # 23 |
Группа: Удаленные
| Quote (as-master) | а тогда выдергиваем строку | а если файл блокируется на время закачки?
|
|
| |
as-master | Дата: Воскресенье, 01 Апреля 2007, 01:46 | Сообщение # 24 |
Группа: Удаленные
| Quote (toizy) | а если файл блокируется на время закачки? | С фига ли гости понаехали?
|
|
| |
toizy | Дата: Воскресенье, 01 Апреля 2007, 22:54 | Сообщение # 25 |
Группа: Удаленные
| Quote (as-master) | С фига ли гости понаехали? | Что-то я не понял. Это ты к чему и зачем?
|
|
| |
as-master | Дата: Понедельник, 02 Апреля 2007, 06:53 | Сообщение # 26 |
Группа: Удаленные
| Quote (toizy) | С фига ли гости понаехали? | Я имел в виду - с фига ли файл блокируется? Мне думается, строку все равно уж можно оттуда вынуть.
|
|
| |
MrSherLoK | Дата: Воскресенье, 22 Апреля 2007, 02:31 | Сообщение # 27 |
Любопытный
Группа: Пользователи
Сообщений: 31
Репутация: 1
Награды: 0
Статус: Offline
| Предлагаю такую проверку подключения сделать:(Правда с использованием модуля servant.exe см. вверх) fileload$='http://www.mmb-soft.nm.ru/plugins/messenger.zip' exe$='<Embedded>\servant.exe' filedest$='C:\temp\servant.exe' Run("exe$","WAIT "InetGetSize" "http://www.yandex.ru"") Pause("3000") If (CBK_ReturnVal=0) Then **Тутачки будет действия, если нету подключения... Else Run("exe$","WAIT "InetGetSize" "fileload$"") Pause("3000") If (CBK_ReturnVal=0) Then ** А тутачки, если нету файла... Else ** Тут-начинается закачка... Run("exe$","WAIT "InetGet" "fileload$" "C:\temp\servant.exe"") End End P.S.: Правда глюк с переменными у меня получился, но так все должно выглядеть...
|
|
| |
access | Дата: Понедельник, 23 Апреля 2007, 18:42 | Сообщение # 28 |
Новый участник
Группа: Пользователи
Сообщений: 2
Репутация: 0
Награды: 0
Статус: Offline
| Quote (Yuriy) | В архиве пример и файл модуля. Последний не забудь внедрить в проект. И ещё: обрати внимание на то, что в поле "Сохранить как" надо писать не папку, куда будет загружен файл, а ещё и его имя! Как в нашем случае - update.txt. Жду! Прикрепленный файл: 53148231.zip (16 Kb) | Доброго времени суток вам! У меня возник вопрос по поводу выложенного файла, пытаюсь разобраться как зделать несколько одновременных загрузок при нажатии на кнопку, и ни чего у меня не получается. Подскажите пожалуйста как (по примеру ввыложенного файла) зделать чтобы при нажатии на кнопку копировалось несколько файлов сразу (если это возможно).
|
|
| |
MrSherLoK | Дата: Понедельник, 23 Апреля 2007, 20:06 | Сообщение # 29 |
Любопытный
Группа: Пользователи
Сообщений: 31
Репутация: 1
Награды: 0
Статус: Offline
| Вот пример с загрузкой 2 файлов: Добавлено (23 Апреля 2007, 20:06) --------------------------------------------- Можно объявлять скока хошь переменных, главное, чтобы не зависло P.S.: Если хошь, чтобы загрузка шла, как в Download Master'e, то надо немного подумат над этим проектом...
|
|
| |
access | Дата: Понедельник, 23 Апреля 2007, 21:11 | Сообщение # 30 |
Новый участник
Группа: Пользователи
Сообщений: 2
Репутация: 0
Награды: 0
Статус: Offline
| Quote (MrSherLoK) | Вот пример с загрузкой 2 файлов: | ОГРОМНОЕ СПАСИБО !!! Это именно то что мне надо было!
|
|
| |