Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
В общем выручайте ребята =) Нужно сделать в программе авто-обновление. Пример: Заходишь в программу выскакивает табличка и написано "Доступна новая версия **" Потом качаю ее. Все скачал . Пере-захожу табличка не должна вылазить, только если я удалю тот файл который скачался а файл качается в папку [PubDir]/data/update/ Теперь подробнее о файле. С программой лежит например info.ini с него считывается версия к примеру там написано 109 И на сайте моем лежит файл тоже info.ini и в нем написано до какой версии обновлять и ссылка. Например: 110 http://sdasdsadsad.ru/update.rar 111 http://sdasdsadsad.ru/update1.rar И так далее а например скачал 110 версию, потом сразу окошко с 111 версией и так до тех пор пока все не скачаются.
Всем спасибо что прочитали такой длинный текст, надеюсь вы мне поможете или скажите как сделать что-то подобное на то что я описал выше
почему тебе вечно надо все в рот класть? нб это универсальный движок, на базе которого ты можешь собрать все что хочешь. Инструменты для твоей задачи в наличии, осталось пошевелить мозгом. Как задавать вопросы
Вот я и спрашиваю потому что не могу, мог бы не писал ,, я конечно представляю примерно.. но хз как делать!
Я только могу сделать что она обновлелялась по кнопке например качала update.rar в папку 1 Патом из папки 1 выврезала файл и в папку апдейт , патом запускался bat. файл распаковывающий этот update и вылазиво окно : Успешно обменовлено, но так не катит!!
найди там среди флуда полезные вещи, логика в принципе рассказана. Может это наведет тебя на мысли. Ну если кто захочет, поможет грамотным примером, ну а нет, завтра покажу как.
сформируй для себя конкретно четко задачу, по пунктам, в виде алгоритма. продумай условия. и начинай его реализовывать в нб. запости алгоритм сюда, чтоб тебя поняли что хочешь и подсказывали. Спрашивай конкретно по пунктам и командам, как делать. Как задавать вопросы
Мозгами шевели. Если тебе постоянно будут исходники давать, сам ничего не поймешь. Дембель медвежью услугу делает выкладывая готовые примеры. Не хочешь читать хелп?
ну примеры у каждого свои, да нам они и не нужны были. все и так просто. как качать файл? InternetGet/DownloadFile. Сравнить текстовую инфу? Ну уж... Как задавать вопросы
LiveD, я смотрю ты в кураж вошел.... логика такая: 0-Открой НБ 1-на своем ресурсе создаешь папку(например - site.ru/update_myapp/ver) -ver это тестовой файлик в первой строчке пишешь версию и имя файла 111;site.ru/update_myapp/arhiv/app_111.rar 2-в проге делаешь гет-запрос на файл site.ru/update_myapp/ver в ответ тебе прилетит 111;site.ru/update_myapp/arhiv/app_111.rar 3-считываешь с файла info.ini текущую версию 4-логическое выражение {....} если одинаковые версии, то занимаешься своими делами, если нет то.... 5-создаешь временно фал обновления, для простоты такой структуры
Quote
ver1=111 file1=site.ru/update_myapp/arhiv/app_111.rar .... и т.д.
5-предлагаешь скачать 6-скачиваешь в нужную папку Поповоду нескольких скачек додумаешься надеюсь сам, там уже просто цикл
Сообщение отредактировано Сергей - Сб, 09 Апреля 2011, 23:07
ппц... да прочитай ты справку про InternetGet. Она получает возвращаемый ответ сервера на запрос (обычно текст источника) в переменную. а у тебя что? Переменная не задана. Пытаешься читать файл, которого есс-но нет. Если хотел скачать как файл и читать его, то для этого DownloadFile, где указываешь путь сохранения.
вот получил инфу с сервера, где должно быть указано, версия, что качать, откуда качать. далее действуй по описанным способам. Не знаешь как? ну посмотри ты команды-то хотябы бегло. Раздели строку на части, засунь по переменным. Например, сравнивай переменные с номером версии с полученной инфы и с прописанной в программе. Если пришел номер выше чем прописанный, значит есть обновки... ну че я буду, все уже разжевано. реализация элементарна.
DEMBEL, ну че ты душу рвешь. Он готовое решение ждет. Вопрос задал, посрать сходил, а тут все на блюдечке. Опять вопрос задал, кино посмотрел, и опять все готово. Уже давно все понятно. Не будет он ничего сам делать. Не хочешь читать хелп?
DEMBEL, я сделал то что ты написал ну там вылазиет окошко с инфой которая записана в файле,! блин короче утром напишу а то сейчас спать 3:06 мозги не соображают! Пока я буду спать напиши исходник если не сложно
Добавлено (10 Апрель 2011, 00:08) --------------------------------------------- всем спасибо и на этом! споки-ноки всем
ну там вылазиет окошко с инфой которая записана в файле,!
ну я специально тебе даю посмотреть что инфа пришла, делай с ней далее что ты хочешь. Все, далее вопросы про все готовое будут всеми проигнорированы. жду более интересных и конкретных вопросов, а они сразу появятся как начнешь сам разбираться. Думаешь ты один такой у нас был, нет конечно. Тут люди согласны потратить время на помощь в обучении, но писать тебе готовые вещи, ну какой в этом для нас смысл? Учись не получать готовую рыбу, а рыбачить. Как задавать вопросы
Сама суть заключается в том что определяется дата создания файла, если дата создания файла отличается от даты создания файла жестко обозначенной в коде программы то программа выведет сообщение о доступности новой версии, при этом в сообщении будет все то что написано в файле с информацией о обновлении, в переменную [URL_UPDATE] должен быть загружен адрес сайта. В принципе можно легко переделать под свои нужды
ip19216811, нет особой нужды проверять дату файла. info.txt и так мелкий, лучше каждый раз качать его и проверять сразу непосредственно версию из него. В твоем случае, тут могут быть пара нестыковок, во первых, какую такую дату для сравнения нужно брать? Жестко зашитую? Сегодняшнюю? Тогда нужно брать дату предыдущего info.txt, а как ее вшить в проект, никак. Вшить в проект нужно номер версии. Читать из файла номер новой версии, и сравнивать номера. Это 100% надежно чем даты. Как задавать вопросы
DEMBEL, не состыковок вроде не замечено, перед тем как выпускать новую версию программы редактируем файл update_info.txt на сервере, например если компилим версию программы 1.0, то в update_info.txt пишем соответственно уведомление о выходе версии 1.1, затем сохраняем файл и узнаем дату его создания при помощи твоей функции, затем эту дату жестко прописываем в программе версии 1.0. Затем допустим выпускаем обновление версии 1.1, то для того что бы уведомление о новой версии программы получили все пользователи предыдущей версии изменяем файл на сервере (можно просто открыть и сохранить, или дописать туда например дату релиза), в итоге дата создания файла будет отличатся от даты создания той что жестко прописана в коде, и программа сообщит о доступности новой версии, и по такому алгоритму действовать для других версий программы
вот я так и предполагал, эта муть с жесткими датами совсем ни к чему. излишне запутано. проще и логичнее зашивать номер версии. файл же маленький, не в облом получить его с InternetGet и сверить версии зашитые в проге и файле. Ну можно хоть как делать, но второй вариант он просто правильный сам по себе, так все и делают...
эта муть с жесткими датами совсем ни к чему. излишне запутано
да это бред, конечно надо делать чтение файла(действительно он же не 150 мб весит). А если на хосте есть подержка пхп, то можно и заскриптовать А проверка дат, хешей и других извращений не лучший способ.
С таким же подходом могу назвать и Вашу идею с чтением файла бредом, так как все равно придется в код программы прописывать версию для сравнивая да и еще и в сам файл писать версию, а в представленном выше варианте только одну дату для сравнения.