DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da ClubeDelphi DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!

Artigo Clube Delphi 80 - Atualização automática de aplicações via FTP

Artigo da Revista Clube Delphi Edição 80.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?

Esse artigo faz parte da revista Clube Delphi Edição 80. Clique aqui para ler todos os artigos desta edição

Atenção: por essa edição ser muito antiga não há arquivo pdf para download desta revista. Os artigos disponíveis somente em doc.

Mão na Massa

Atualização automática de aplicações via FTP

 

Quantas vezes nosso cliente possui uma versão desatualizada do sistema e que precisa ser substituída? Situação essa faz com que o pessoal do suporte técnico dispenda tempo na substituição do software. Num contexto em que a internet está amplamente disseminada, podemos transferir a responsabilidade de atualizar os sistemas para o cliente, fazendo com que custos com pessoal técnico capacitado sejam reduzidos.

A transferência dessa responsabilidade exige ter em mente que, quanto maior a simplicidade e automação dessa operação, mais satisfeito ficará o cliente. Assim neste artigo apresentamos uma solução baseada no protocolo FTP para atualizar um sistema.

O que é FTP? É um protocolo de transferência de arquivos baseado no TCP/IP.  Enviar e receber arquivos é a principal função do FTP, sendo amplamente usado no upload de arquivos para servidores Web. Destaco duas qualidades inerentes a esse protocolo: simplicidade e rapidez na utilização.

 

Primeiros passos

Através do projeto, o usuário poderá atualizar o sistema numa forma simples e automatizada. Na tela principal vamos ter opções para configurar a conexão com o servidor FTP e a atualização propriamente dita.

Abra o Delphi 7 e vamos montar a tela principal, adicionando dois Panels, dois Labels, três BitBtns, um Image, um Gauge, um StatusBar e o IdFTP (não mencionei alguns Labels que servem para indicar as funcionalidades ao usuário). Altere as propriedades dos componentes conforme a Tabela 1.

 

Componente

Propriedade

Valor

Label1

Name

“lblstatus”

"

A exibição deste artigo foi interrompida.

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da ClubeDelphi DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Fabio Corrêa
é Diretor e analista de sistemas da ProgreSystem Informática. Trabalha com Delphi e Firebird, desenvolvendo aplicações cliente-servidor. Bacharel em Sistemas de informação pela Universidade do Sul de Santa Catarina - UNISUL na cidade de Tubarão-SC.
O que você achou deste post?

    12 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Flavio Augusto S De Almeida
Olá Fabio!

Muito bom o artigo. Era o q eu estava precisando. Só tenho uma dúvida, tem como fazer o inverso, ou seja, ao invés de fazer o download do servidor ftp para a maquina do cliente, que seja feito o upload do cliente para o servidor ftp? Você poderia dá essa dica?

Abs
Flávio
[há +1 ano] - Responder

 

Jose Alvaro De Oliveira
Colega o dica e maravilhosa !!! mas se puder coloque a disposição os fontes para download
[há +1 ano] - Responder

 

Devmedia - Equipe De Moderação
José,
os fontes dessa edição encontram-se em http://www.devmedia.com.br/resumo/download.asp?site=3, na aba "downloads antigos"
[há +1 ano] - Responder
 

Diego Ribas
Muito boa a dica ...
porem aconselho quando for fazer novos tutoriais, procure usar componentes nativos do delphi para nao obrigar que tenhamos os componentes q usa.
[há +1 ano] - Responder

 

Wesley Yamazack
Olá Diego, obrigado pela dica!
[há +1 ano] - Responder
 

Jaime De Almeida Abreu Junior
Esta dando o seguinte erro:


xception:
------------------------------------------------------
2.1 Date : Fri, 18 May 2012 23:21:12 -0300
2.2 Address : 006C9E91
2.3 Module Name : Atualizador.exe
2.4 Module Version:
2.5 Type : EZeroDivide
2.6 Message : Floating point division by zero.
2.7 ID : E1CC
2.8 Count : 1
2.9 Status : New
2.10 Note :

quando executa a procedure TFrmPrinc.ftpupdateWork(ASender: TObject; AWorkMode: TWorkMode;
AWorkCount: Int64);

Na linha media, o tamanho do arquivo esta zero.
media:=(100/tamanho_arquivo)*AWorkCount;

[há +1 ano] - Responder

 

Wesley Yamazack
Olá Jaime , solicite há um dos nossos consultores que te ajudassem na sua dúvidas, tão logo um deles irá entrar em contato para te auxiliar e resolver o problema.

Um abraço.
[há +1 ano] - Responder
 

Joel Rodrigues
Olá, Jaime. Para que o tamanho do arquivo esteja com valor zero, é provável que o conteúdo não foi localizado no caminho indicado ou que houve algum problema ao obter tais informações do FTP. Para garantir que não ocorrerá tal exceção ao tentar dividir um valor por zero, você pode fazer uma verificação do tipo: if tamanho _arquivo > 0 then ...

Espero ter ajudado.
[há +1 mês] - Responder
 

Vander Carlos De Matos Sousa
Boa tarde,

Amigo estou com este problema:

[DCC Error] uAtualizacao.pas(168): E2250 There is no overloaded version of 'Connect' that can be called with these arguments.

Nesta linha

ftpupdate.Connect(true);

Estou usando o XE2.

[há +1 mês] - Responder

 

Paulo Quicoli
Olá.

Meu querido, o artigo utiliza a versão do Indy do Delphi 7. Ao longo do tempo, o Indy sofreu atualizações. Uma delas foi a remoção do parâmetro de tipo boolean do método Connect.

Abraço

PS.: É muito provável que vc terá que realizar mais ajustes no código, para adequa-lo à nova versão do Indy.
[há +1 mês] - Responder
 

Vander Carlos De Matos Sousa
Quando comento a linha ele abre normal, quando tento assim:

ftpupdate.Connected:= true;

Aparece isso:

[DCC Warning] uAtualizacao.pas(180): W1000 Symbol 'FileAge' is deprecated
[há +1 mês] - Responder
 

Paulo Quicoli
Meu querido, warning é apenas é apenas um aviso do compilador...

Veja: http://lmgtfy.com/?q=Delphi+%2B+o+que+%C3%A9+%20warning+do+compilador
[há +1 mês] - Responder
 
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03