Versatilidade

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
09466261000176
Usuário Nível 1
Usuário Nível 1
Mensagens: 39
Registrado em: 19 Mar 2014 15:50
Localização: lorena sp

Versatilidade

Mensagem por 09466261000176 »

Olá companheiros.

Preciso atualizar a versão do meu aplicativo nas instalações de meus clientes.
Hoje me conecto via Team Viewer a cada maquina que quero por uma nova versão do programa.
Gostaria de fazer algo assim: O programa ao iniciar faria uma checagem em minha home page. Se houvesse uma versão superior a dele ele automaticamente faria o download para dentro de sua pasta na máquina que estivesse e se gravaria em cima da antiga versão. Consequentemente quando fosse rodar novamente já assumiria a versão nova. Isso me pouparia muito, mais muito trabalho mesmo. Hoje isso é feito de forma braçal. Tem como alguém me ajudar nisso?
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Versatilidade

Mensagem por Toledo »

Amigo, use o sistema de busca do fórum, procure por FTP que você vai encontrar alguns tópicos sobre este assunto.

Veja:
https://pctoledo.org/forum/viewto ... 027#p58027
https://pctoledo.org/forum/viewto ... f=4&t=9097

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

Versatilidade

Mensagem por Abel »

ola,
antigamente eu fazia desta forma, "braçal", apos algumas pesquisas no forum e com um pouco de dedicacao e ajuda do pessoal, consegui fazer.
primeiro comecei usando a wapi do maligno para fazer o download, so que ela gerava alguns problemas em alguns clientes por causa dos antivirus, entao fiz usando a hbtip

acho q vc acha no forum a funcao que usei, procure por:

tipclienthttp() , readall() e readtofile

Abel
Avatar do usuário
09466261000176
Usuário Nível 1
Usuário Nível 1
Mensagens: 39
Registrado em: 19 Mar 2014 15:50
Localização: lorena sp

Versatilidade

Mensagem por 09466261000176 »

Não consegui achar o que foi citado. Se pudesse me enviar esta rotina...
Avatar do usuário
zazibr
Usuário Nível 2
Usuário Nível 2
Mensagens: 72
Registrado em: 11 Set 2004 17:07
Localização: Campo Grande/MS

Versatilidade

Mensagem por zazibr »

segue link

http://bielsys.blogspot.com.es/2009/02/ ... ca-de.html


pode ser feito com qualquer gt (tem que adaptar) e modo texto tambem
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Versatilidade

Mensagem por asimoes »

Segue exemplo que eu utilizo:

Código: Selecionar todos

#include "hbcompat.ch"
#include "hbdyn.ch"

FUNCTION Donwload_Auto()
LOCAL ftpproto :="ftp://",;
      ftpserver:= "ftp.seuservico.kinghost.net:21",;
      ftpuser  := "usuario",;
      ftppass  := "senhausuario",;
      cURL     :=ftpproto+ftpuser+":"+ftppass+"@"+ftpserver,;
                 oURL, oFTP, aLista, lAtualizacao:=.F.
LOCAL nArquivos
                              
   HB_Default(@cFile,"versao.txt")

   IF Internet()
      TRY
         oURL:=TURL():New(cURL)
         oFTP:=TIPclientFTP():New(oURL,,.T.)
         oFTP:nDefaultPort:=21 
         oFTP:nConnTimeout:=2000
         oFTP:BusePasv    :=.T.
         IF oFTP:Open()
            oFTP:Cwd("/DOWNLOAD/")     // muda o diretorio no FTP
            lAtualizacao:=.F.
            nArquivos:=0
            FOR EACH aLista IN oFTP:listFiles("*.*") //Obtem a lista dos arquivos 
               lAtualizacao:=.T.
               Notificar("Recebendo arquivo(s), "+aLista[1], "Monitor DownLoad" )
               oFTP:DownLoadFile(HB_DirBase()+"DOWNLOAD"+HB_PS()+aLista[1],aLista[1])  // baixa o arquivo para a pasta update local
               oFTP:dele(aLista[1]) //Deleta o arquivo para não repetir.
               nArquivos++
            NEXT
            IF lAtualizacao
               Notificar(AllTrim(Str(nArquivos))+" arquivo(s) recebido(s)", "Monitor DownLoad" )
            ENDIF
            oFTP:Close()
         ELSE
            //Info(oFTP:lastErrorMessage())
         ENDIF
      END
   ENDIF
RETURN Nil

FUNCTION Internet( cAddress )
LOCAL aHosts, cName
   HB_InetInit()
   IF cAddress == Nil
      cAddress := "www.google.com.br"
   ENDIF
   aHosts := HB_InetGetHosts( cAddress )
   IF aHosts == Nil .OR. Len(aHosts)=0
      HB_InetCleanup()
      RETURN .F.
   ENDIF
   HB_InetCleanup()
RETURN .T.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Responder