Fórum Como criar uma atualizacao via internet dentro do programa #192320
02/11/2003
0
Eu nao procurei muito na internet sobre isso, caso seja um assunto ja discutido antes nao me xingue... somente me envie o link... obrigado!
Doctor-x
Curtir tópico
+ 0Posts
02/11/2003
Cebikyn
no site, vc coloca um INI contendo a versão mais recente do programa, faça o programa pegar esse INI usando URLDownloadToFile (pesquise aqui no forum pelo nome da função que vc acha), depois o programa compara com a versão instalada no sistema, se a versão instalada for menor, então ele pergunta pro usuário se deseja atualizar, se o usuário aceitar, o programa baixa o arquivo de atualização (novamente com URLDownloadToFile) e executa o arquivo (ShellExecute ou WinExec) e apaga o arquivo INI (DeleteFile).
Gostei + 0
02/11/2003
Edilcimar
Gostei + 0
13/11/2003
Okama
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, urlmon, StdCtrls,IniFiles;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
const
VERSAO_APP = 1;
implementation
{$R *.dfm}
{#}
FUNCTION ABREINI(ArquivoINI,Chave,Item:string):String;
var Arquivo:TIniFile;
Volta:String;
Begin
Arquivo := TIniFile.Create(ArquivoINI);
Volta:=Arquivo.ReadString(Chave,Item,´´);
Arquivo.Free;
Result:= Volta;
end;
{}
Function DOWNLOAD( ORIGEM, DESTINO: String):Boolean;
begin
try
Result := UrlDownloadToFile(nil, PChar(ORIGEM), PChar(DESTINO), 0, nil) = 0;
except
Result := False;
end;
end;
{#}
procedure TForm1.Button1Click(Sender: TObject);
Var RETORNO: Boolean;
Versao: Integer;
URL : String;
Data: TDate;
begin
//Faz o Download do arquivo de log
RETORNO := DOWNLOAD(´http://www.folhabrasil.com.br/infolha/update.log´,
´c:\temp\update.log´);
if RETORNO then begin
Versao:= StrToInt( ABREINI(´c:\temp\update.log´,´app´,´versao´) );
Data := StrToDate( ABREINI(´c:\temp\update.log´,´app´,´data´) );
URL := ABREINI(´c:\temp\update.log´,´app´,´url´);
//compara a versao, data ou qualquer outra coisa//
if Versao > VERSAO_APP then begin
Application.MessageBox(Pchar(´Está disponível uma nova versão para seu aplicativo.´+
#13+10 + ´Versao: ´+ IntToStr(Versao)+
13+10 + ´Data: ´+ FormatDateTime(´dd/mm/yyyy´,Data) +
13+10 + ´Deseja Atualizar?´),
´Update´,mb_yesno+mb_iconQuestion);
if DOWNLOAD(url,´c:\temp\aplicativo.exe´) then
Showmessage(´Download Completado!´);
end else
Showmessage(´Nenhuma atualização encontrada!´);
end;
end;
end.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)