aktualizacja przez internet

0

Temat ten był wielokrotnie poruszany, jednak mnie interesuje dokładne jego omówienie.. a więc chodzi :

Aby stworzyć osobny moduł, który:

  • sprawdzałby w Internecie (na stronie oficialnej programu) jaka jest najnowsza wersja aplikacji, porównywał z bieżącą.
  • po zatwierdzeniu "aktualizuj" w przypadku napotkania nowszej wersji - sam sciągnął dany pliczek, oraz zresetował aplikację.

Podobnie jak w GG, ale nie automatycznie, tylko "recznie"

Problemy widze tu następujące :)

  • jak sprawdzić, jaka wersja programu jest najnowsza? - myślałem, żeby zapisać informację tą do pliku tekstowego, wtedy nasz moduł by musiał odczytać co jest w pliku o konkretnym adresie http; - nie wiem tylko0 czy to dobry pomysł - czy są jakieś inne? - w jaki sposób robią to inne programy - np. Direct Connect, czy też gadu-gadu

  • podmiana aplikacji po zakończeniu sciągania... pliczek został ściągnięty (gdzieś.. nie wiem jeszcze gdzie) - i co wtedy? - jego podmiana czy jak? - widze, że to skomplikowana sprawa

0

Polecam artykuł w książce Adama - D7, cw dla zaawansowanych, poza tym widzialem takie cos w programie Sebka

0

pochodzi z Delphi 7 Ćw Zaawansowane nieco zmienione
uzyj z Indy TIdHTTP (nazwane jako HTTP) i napisz w

const
Version = '1.0';
URL ='http://127.0.0.1/version.txt';
AppName = 'moj_program'

ja w przypadku wielokrotnych aktualizacji wolałbtm aby była to zmienna przechowywana w pliku
a w OnClick czegoś tam wpisz:

var
NewVersion:String;
begin
HTTP.Host:='127.0.0.1';
NewVersion:=Http.Get(URL);
if NewVersion> Version then
begin
ShowMessage('Znaleziono nową wersję - ' + NewVersion);
Delete(NewVersion, pos('.',NewVersion), 1;
Label1.Caption:='http://127.0.01/'+AppName+NewVersion);

tyle chyba wystarczy

0

Pisalem o tym artykul. Jest w dziale delphi.

http://4programmers.net/view.html?id=312

0

Pochwalony! Można także skorzystać z trochę wydaje mi się mniej podręcznej funkcji, ale też działające. Mówię o URLDownloadToFile() z modułu URLMon. Przykład:

procedure TForm1.Button1Click(Sender: TObject);
begin
if URLDownloadToFile(nil, 'url', 'plik', 0, nil) = 0 then
  ShowMessage('masz to w txt''ku :P') else
  ShowMessage('bu, nie działa!!';
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1