Есть:
файл "mp_версия.img", который находится в указанной папке. Этот файл часто обновляется.
Задача:
При нажатии кнопки войти (В лаунчер написанном на Delphi) программа сравнивала версию твоего файла, с файлом, который лежит на хосте, если файл на хосте с версией 1.3.5, а у тебя 1.3.4, то чтобы она автоматически скачивала и заменяли твой файл и после всего запускала программу!
Есть:
файл "mp_версия.img", который находится в указанной папке. Этот файл часто обновляется.
Задача:
При нажатии кнопки войти (В лаунчер написанном на Delphi) программа сравнивала версию твоего файла, с файлом, который лежит на хосте, если файл на хосте с версией 1.3.5, а у тебя 1.3.4, то чтобы она автоматически скачивала и заменяли твой файл и после всего запускала программу!
Заранее спасибо!
Нужно определить версию текущего файла, а уже на сервере сравнивать и сообщать, необходимо ли обновление.
Версию текущую можно определять по размеру файла, имени, можно в отдельном файле хранить информацию(например .ini или .txt), но тогда их также придётся обновлять. Еще можно хранить информацию о текущей версии в реестре.
А автоматическое обновление - это уже удаление и скачиваение через удобную вам библиотеку
Примерно так думаю разберешься тороплюсь если что вечером помогу!
Код:
var
s, k: variant;
begin
s := '1.3.4'//;установлена версия
k := '1.3.5'; //новая версия
if s < k then
ShowMessage('Есть новая версия!')
else
ShowMessage('Установлена последняя версия!');
end;
procedure Tupd.FormActivate(Sender: TObject);
var
HTTP:TIdHTTP;
s:string;
Version:TStringList;
begin
HTTP:=TIdHTTP.Create(nil);
Version:=TStringList.Create;
s:=HTTP.Get('URL');
Version.LoadFromFile(Название файла);
if Pos(s,Version.Text)<>0 then
begin
ShowMessage('Обновлять не надо')
end
else
begin
if MessageDlg('Обноружено обновление.', mtWarning ,[mbyes],0)=mryes then
Version.Add(s);
Version.SaveToFile(Название файла);
downloadwf;{Скачивание файла}
MessageBox(0, 'Обновление завершено успешно', 'Раз-Раз', 0);
Version.Free;
end;
end;
end;
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
procedure Tupd.FormActivate(Sender: TObject);
var
HTTP:TIdHTTP;
s:string;
Version:TStringList;
begin
HTTP:=TIdHTTP.Create(nil);
Version:=TStringList.Create;
s:=HTTP.Get('URL');
Version.LoadFromFile(Название файла);
if Pos(s,Version.Text)<>0 then
begin
ShowMessage('Обновлять не надо')
end
else
begin
if MessageDlg('Обноружено обновление.', mtWarning ,[mbyes],0)=mryes then
Version.Add(s);
Version.SaveToFile(Название файла);
downloadwf;{Скачивание файла}
MessageBox(0, 'Обновление завершено успешно', 'Раз-Раз', 0);
Version.Free;
end;
end;
end;
А можно поподробнее, что куда и как!
Просто еще не совсем разобрался, т.к. не так давно этим занимаюсь!
Заранее спасибо!
[Ссылки могут видеть только зарегистрированные пользователи. ]
Последний раз редактировалось AlekseyKonov; 16.05.2014 в 17:58.
Я же объяснил подробно
Создайте сайт, там простенький .php файл, который будет хранить в себе номер новейшей версии и сверять с присланной
На этот скрипт вы шлёте из программы запрос с текущей версией. Допустим ответ сервера "update=1", значит по заранее известной ссылке вы скачиваете файл и заменяете текущий
Или вы ждёте готовый код?
Я же объяснил подробно
Создайте сайт, там простенький .php файл, который будет хранить в себе номер новейшей версии и сверять с присланной
На этот скрипт вы шлёте из программы запрос с текущей версией. Допустим ответ сервера "update=1", значит по заранее известной ссылке вы скачиваете файл и заменяете текущий
Или вы ждёте готовый код?
Ну дак мне готовый код можешь кинуть, ну или исходник!
Прям четко про это нашел статью. Схему обновления. Проверяем-качаем и старую версию бэкапим (вдруг соединение слабое и скачка оборвется)-все хорошо бэкам удаляем запускаем прогу. Если интересно схема подробные рассмотрена в статье [Ссылки могут видеть только зарегистрированные пользователи. ] . Есть примеры кода.