 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
hashi Novato

Registrado: Quarta-Feira, 18 de Julho de 2012 Mensagens: 1
|
Enviada: Qua Jul 18, 2012 1:03 am Assunto: Resultar erro |
|
|
eu peguei um codigo de atualizao do batera que posto aqui no forum... como faço para exibir uma janela informando que aconteceu algum erro na hora da atualizacao?
| Código: | var
ArquivoLocal, ArquivoFTP: TIniFile;
VersaoLocal, VersaoFTP: string;
begin
if FileExists('C:\Aplicativo\VersaoFTP.ini') then
DeleteFile('C:\Aplicativo\VersaoFTP.ini'); // deleta o arquivo baixado do site
IdFTP1.Connect(); // conecta ao FTP
if (IdFTP1.Connected) then
begin
IdFTP1.Get('atualizacao/VersaoFTP.ini', 'C:\Aplicativo\VersaoFTP.ini', True); // baixa o INI do site para verificar a versão
arquivoLocal := TIniFile.Create('C:\Aplicativo\Versao.ini'); // abre o arquivo INI no diretório da aplicação
versaoLocal := arquivoLocal.ReadString('Informacoes', 'Versao', ''); // obtém a versão do sistema
arquivoLocal.Free;
arquivoFTP := TIniFile.Create('C:\Aplicativo\VersaoFTP.ini'); // abre o arquivo INI baixado do site
versaoFTP := arquivoFTP.ReadString('Informacoes', 'Versao', ''); // obtém a versão do arquivo no site
arquivoFTP.Free;
if (versaoLocal = versaoFTP) then // compara as versões - se for igual, exibe a mensagem de informação
begin
MessageDlg('O sistema já está atualizado.', mtInformation, [mbOK], 0);
DeleteFile('C:\Aplicativo\VersaoFTP.ini'); // deleta o arquivo baixado do site
end
else // se for diferente, exibe a mensagem para atualização
begin
if MessageDlg('Deseja atualizar agora?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
IdFTP1.Get('atualizacao/Aplicativo.exe', 'C:\Aplicativo\Atualizacao\Aplicativo.exe', true); // baixa a atualização
{ aqui você coloca o código pra fazer a atualização (copiar o executavel, rodar Script, etc...) }
arquivoLocal := TIniFile.Create('C:\Aplicativo\Versao.ini');
arquivoLocal.WriteString('Informacoes', 'Versao', versaoFTP); // e finalmente atualiza a versão no arquivo INI
arquivoLocal.Free;
end;
end;
IdFTP1.Disconnect; // desconecta do FTP
end;
end; |
vlw |
|
| Voltar ao Topo |
|
 |
Caduzera Profissional

Registrado: Terça-Feira, 29 de Julho de 2008 Mensagens: 656
|
Enviada: Qua Jul 18, 2012 8:33 am Assunto: |
|
|
Amigo, não sei se é bem isso, mas de forma bem simples:
| Citação: |
var
ArquivoLocal, ArquivoFTP: TIniFile;
VersaoLocal, VersaoFTP: string;
begin
Try
if FileExists('C:\Aplicativo\VersaoFTP.ini') then
DeleteFile('C:\Aplicativo\VersaoFTP.ini'); // deleta o arquivo baixado do site
IdFTP1.Connect(); // conecta ao FTP
if (IdFTP1.Connected) then
begin
IdFTP1.Get('atualizacao/VersaoFTP.ini', 'C:\Aplicativo\VersaoFTP.ini', True); // baixa o INI do site para verificar a versão
arquivoLocal := TIniFile.Create('C:\Aplicativo\Versao.ini'); // abre o arquivo INI no diretório da aplicação
versaoLocal := arquivoLocal.ReadString('Informacoes', 'Versao', ''); // obtém a versão do sistema
arquivoLocal.Free;
arquivoFTP := TIniFile.Create('C:\Aplicativo\VersaoFTP.ini'); // abre o arquivo INI baixado do site
versaoFTP := arquivoFTP.ReadString('Informacoes', 'Versao', ''); // obtém a versão do arquivo no site
arquivoFTP.Free;
if (versaoLocal = versaoFTP) then // compara as versões - se for igual, exibe a mensagem de informação
begin
MessageDlg('O sistema já está atualizado.', mtInformation, [mbOK], 0);
DeleteFile('C:\Aplicativo\VersaoFTP.ini'); // deleta o arquivo baixado do site
end
else // se for diferente, exibe a mensagem para atualização
begin
if MessageDlg('Deseja atualizar agora?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
IdFTP1.Get('atualizacao/Aplicativo.exe', 'C:\Aplicativo\Atualizacao\Aplicativo.exe', true); // baixa a atualização
{ aqui você coloca o código pra fazer a atualização (copiar o executavel, rodar Script, etc...) }
arquivoLocal := TIniFile.Create('C:\Aplicativo\Versao.ini');
arquivoLocal.WriteString('Informacoes', 'Versao', versaoFTP); // e finalmente atualiza a versão no arquivo INI
arquivoLocal.Free;
end;
end;
IdFTP1.Disconnect; // desconecta do FTP
end;
Except
On E : Exception Do
ShowMessage(E.Message);
End;
end;
|
Nesse caso eu coloquei apenas um ShowMessage, mas você pode colocar um formulário, ou o que desejar ...
Abs |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|