Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проверка наличия новой версии проги

2.1K
02 февраля 2006 года
foxby
44 / / 16.07.2003
Задачи:

1) При запуске моя программа должна проверить, есть ли на моём сайте (или в локальной сети) ее новая версия;

2) Если есть её новая версия, то показать, какие изменения в новой версии;

3) Если есть её новая версия, то закачать новую версию;

Может кто-нибудь может подсказать, как это осуществить?
А лучше дать пример исходников, или ссылку на примеры исходников.

Заранее спасибо.
1
02 февраля 2006 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by foxby
Задачи:

1) При запуске моя программа должна проверить, есть ли на моём сайте (или в локальной сети) ее новая версия;

2) Если есть её новая версия, то показать, какие изменения в новой версии;

3) Если есть её новая версия, то закачать новую версию;

Может кто-нибудь может подсказать, как это осуществить?
А лучше дать пример исходников, или ссылку на примеры исходников.

Заранее спасибо.


Продумай механизм с помощью которого ты будешь информировать свою программу о обновлениях и вперед. Это может быть РНР-скрипт на сервере, хмл-файл на фтп, которые должны предоствить пользователю нужную инфу. Ты по определенному тобой событию выполняешь проверку и делаешь то что нужно. Соответственно в твоей программе должна быть версионность - что бы можно было что либо проверять. Это может быть установлено в свойствах проекта билдера, или можешь использовать свой механизм экспортируя функции возврата версии.

2.1K
02 февраля 2006 года
foxby
44 / / 16.07.2003
Цитата:
Originally posted by kot_
Продумай механизм с помощью которого ты будешь информировать свою программу о обновлениях и вперед. Это может быть РНР-скрипт на сервере, хмл-файл на фтп, которые должны предоствить пользователю нужную инфу. Ты по определенному тобой событию выполняешь проверку и делаешь то что нужно. Соответственно в твоей программе должна быть версионность - что бы можно было что либо проверять. Это может быть установлено в свойствах проекта билдера, или можешь использовать свой механизм экспортируя функции возврата версии.



Спасибо за ответ...

Да, я планировал хранить все в хмл- или в тхт-файле на фтп или в локальной сети...
Но к сожалению у меня нет практики работы с сетевыми компонентами... :(
Поэтому я прошу помочь мне с примерами- исходниками...
Например:
- как соединиться с другим компом (или с сайтом) и скачать оттуда хмл или тхт файл?

471
02 февраля 2006 года
_MC_
178 / / 13.01.2005
Цитата:
Originally posted by foxby
- как соединиться с другим компом (или с сайтом) и скачать оттуда хмл или тхт файл?



Первое что пришло в голову (и послдене наверное :) ) это на сайте иметь страницу например ver.htm чтоб получить старницу можно например компонентом NMHTTP

 
Код:
NMHTTP1->Get("http://mysite.ru/ver.htm");
AnsiString HTML=NMHTTP1->Body;


Дальше ищешь ключевые слова!
1
02 февраля 2006 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by _MC_
Первое что пришло в голову (и послдене наверное :) ) это на сайте иметь страницу например ver.htm чтоб получить старницу можно например компонентом NMHTTP

 
Код:
NMHTTP1->Get("http://mysite.ru/ver.htm");
AnsiString HTML=NMHTTP1->Body;


Дальше ищешь ключевые слова!


Можно и так. Но проще всеже использовать структурированные файлы. Удобней ИМХО.
З.Ы
foxby
На счет исходников - для этого есть специальный раздел сайта - там ты можешь найти необходимый тебе исходный код здесь. А можешь и не найти :D. Идеи тебе дали - а насчет того что не работал - ну так начинай кто мешает. Все с чем нибудь когда нибудь не работали :) Нудить "да-а-йте исходник, сами мы не местные..." не нужно.

2.1K
03 февраля 2006 года
foxby
44 / / 16.07.2003
Цитата:
Originally posted by kot_
Можно и так. Но проще всеже использовать структурированные файлы. Удобней ИМХО.
З.Ы
foxby
На счет исходников - для этого есть специальный раздел сайта - там ты можешь найти необходимый тебе исходный код здесь. А можешь и не найти :D. Идеи тебе дали - а насчет того что не работал - ну так начинай кто мешает. Все с чем нибудь когда нибудь не работали :) Нудить "да-а-йте исходник, сами мы не местные..." не нужно.



Я впрочем я и не просил исходник готового софта, мне нужна была только "точка отсчета" с примерами типа HELP... Ведь ты тоже когда-то рылся в чужих примерах... :)

Но все равно спасибо за наводки!

Я нашел подходящее решение для своей задачи:

#include "Urlmon.h"

URLDownloadToFile( NULL, sURL.c_str(), sVer.c_str(), 0, NULL);

... может кому пригодится...

1
03 февраля 2006 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by foxby
Я впрочем я и не просил исходник готового софта, мне нужна была только "точка отсчета" с примерами типа HELP... Ведь ты тоже когда-то рылся в чужих примерах... :)

Но все равно спасибо за наводки!

Я нашел подходящее решение для своей задачи:

#include "Urlmon.h"

URLDownloadToFile( NULL, sURL.c_str(), sVer.c_str(), 0, NULL);

... может кому пригодится...


Прежде чем качать, обязательно проверяй доступность хоста хотябы простым пингом, или обрабатывай ошибку подклучения.

2.1K
03 февраля 2006 года
foxby
44 / / 16.07.2003
Цитата:
Originally posted by kot_
Прежде чем качать, обязательно проверяй доступность хоста хотябы простым пингом, или обрабатывай ошибку подклучения.



Вот засада :( Не компилится:

[Linker Error] Unresolved external 'URLDownloadToFileA' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\TEST.OBJ

Может есть у кого подсказка для решения?

Мой код:

{
DWORD hrHRESULT;

AnsiString sURL = "\\\\192.168.234.199\\TEST\\";
AnsiString sVer = "C:\\version.txt";

hrHRESULT = URLDownloadToFile( NULL, sURL.c_str(), sVer.c_str(), 0, NULL);
}

1
04 февраля 2006 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by foxby
Вот засада :( Не компилится:

[Linker Error] Unresolved external 'URLDownloadToFileA' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\TEST.OBJ

Может есть у кого подсказка для решения?

Мой код:

{
DWORD hrHRESULT;

AnsiString sURL = "\\\\192.168.234.199\\TEST\\";
AnsiString sVer = "C:\\version.txt";

hrHRESULT = URLDownloadToFile( NULL, sURL.c_str(), sVer.c_str(), 0, NULL);
}


Посказка только одна - используй справку и поиск по форуму - ключевое слово WinInet. Чтобы твоя программа заработала тебе необходимо:
1. Прилинковать статически библиотеку wininet.lib или же загрузить динамически одноименную длл.
2. Установить соединение.
3. Открыть сессию.
4. Вызвать твою функцию с идентификатором сессии.
5. Не забыть включить wininet.h
6. Закрыть сессию.
Примеры как это сделать на форуме есть. Юзай поиск.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог